Insight Technology

2021.06.30

Insight Database Testing で Oracle Autonomous Transaction Processing をターゲット DB として使用する

このエントリーをはてなブックマークに追加

こんにちは。インサイトテクノロジーの松尾です!

本ブログでは Insight Database Testing で OCI ( Oracle Cloud Infrastructure ) 上の ATP ( Oracle Autonomous Transaction Processing ) へ接続する方法を紹介します。

Insight Database Testing は Oracle Database から PostgreSQL などの異なるデータベースへの移行アセスメント以外に、Oracle Database のバージョンアップ、RDS や Aurora のバージョンアップなどでも SQL 互換性チェックに利用されています。

OCI 上の ATP には Always Free データベースのようにコストをかけずに動作確認をできるものも用意されています。ぜひ、Insight Database Testing を ATP への移行検証にも活用いただければと思います。

Insight Database Testing から ATP ( Oracle Autonomous Transaction Processing ) へ接続

Insight Database Testing から ATP へ接続する際には、Oracle クライアント資格証明 ( ウォレット ) を使用します。

クライアント資格証明 ( ウォレット ) のダウンロード

ウォレットのダウンロードは以下の手順で行います。

  1. “Autonomous Databaseの詳細” 画面から、”DB接続” を選択します。( DBが使用可能状態である必要があります )
  2. “データベース接続ページ” で、ウォレット・タイプを選択します。通常は “インスタンス・ウォレット” を選択します。ウォレット・タイプの詳細は、後述の参考ページを参照ください。
    atp-wallet-download.png
  3. “ウォレットのダウンロード” を選択します。
  4. パスワードの入力が要求されるので、適当なパスワードを入力します。
  • Insight Database Testing からの接続ではここで入力するパスワードは利用しません。

ファイルの配置と準備

Insight Database Testing では、ダウンロードした zip ファイル内に含まれる、以下のファイルを利用します。

  • tnsnames.ora
  • sqlnet.ora
  • cwallet.sso

まず Insight Database Testing ( IDT Manager ) へ sqlnet.oracwallet.sso を配置します。
tnsnames.ora については、記載内容を IDT Manager 内の既存のファイルへ追記します。

以下の手順では、Aamzon EC2 インスタンス上へ IDT Manager を構成しているパターンに基づき手順を紹介します。ESXi サーバー上へ構築している場合にも同様となります ( ESXi サーバー上へ展開している場合は centos ユーザーではなく、最初から insight ユーザーにて操作可能です ) ので、適宜手順を読み替えてください。

  1. sqlnet.ora ファイルを開き、ディレクトリの指定を DIRECTORY="/home/insight/idt/etc" のように変更します。
  2. scp コマンドなどで sqlnet.oracwallet.sso ファイルを centos ユーザーのホームディレクトリに IDT Manager へコピーします。
  3. centos ユーザーで ssh ログインします。
  4. アップロードした2ファイルを、/home/insight/idt/etc に移動します。
  5. 移動したファイルのオーナーを insight ユーザーへ変更します。
  6. insight ユーザーに変更し、/home/insight/idt/etc に移動します。
  7. アップロードした2ファイルの権限を 600 に設定します。
  8. tnsnames.ora ファイルを開き、ダウンロードしたウォレットに含まれていた tnsnames.ora の中の必要な行を貼り付け、保存します。
[centos@idt ~]$ ls -l cwallet.sso sqlnet.ora
-rw-rw-r--. 1 centos centos 6813 Jun 13 10:56 cwallet.sso
-rw-rw-r--. 1 centos centos  120 Jun 13 11:00 sqlnet.ora
[centos@idt ~]$ sudo mv sqlnet.ora /home/insight/idt/etc
[centos@idt ~]$ sudo mv cwallet.sso /home/insight/idt/etc
[centos@idt ~]$ sudo chown insight:insight /home/insight/idt/etc/sqlnet.ora
[centos@idt ~]$ sudo chown insight:insight /home/insight/idt/etc/cwallet.sso
[centos@idt ~]$ sudo su - insight
[insight@idt ~]$ cd /home/insight/idt/etc
[insight@idt etc]$ ls -l cwallet.sso sqlnet.ora tnsnames.ora
-rw-rw-r--. 1 insight insight  6813 Jun 13 10:56 cwallet.sso
-rw-rw-r--. 1 insight insight   120 Jun 13 11:00 sqlnet.ora
-rw-r--r--. 1 insight insight  3108 May 28 19:29 tnsnames.ora
[insight@idt etc]$ chmod 600 cwallet.sso
[insight@idt etc]$ chmod 600 sqlnet.ora
[insight@idt etc]$ ls -l cwallet.sso sqlnet.ora tnsnames.ora
-rw-------. 1 insight insight  6813 Jun 13 10:56 cwallet.sso
-rw-------. 1 insight insight   120 Jun 13 11:00 sqlnet.ora
-rw-r--r--. 1 insight insight  3108 May 28 19:29 tnsnames.ora
[insight@idt etc]$ vi tnsnames.ora
[insight@idt etc]$ tail tnsnames.ora
......
dbXXXXXXXXXXX_tp = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=xxx.ap-tokyo-1.oraclecloud.com))(connect_data=(service_name=xxxxxxxxxxxxxxxxxxxxxxxxxxx.oraclecloud.com))(security=(ssl_server_cert_dn="CN=xxx.ap-tokyo-1.oraclecloud.com, OU=Oracle ADB TOKYO, O=Oracle Corporation, L=Redwood City, ST=California, C=US")))
[insight@idt etc]$

ここまでで準備ができました。

Insight Database Testing からの接続設定

続いて、Insight Database Testing の画面から ATP へ接続します。

  1. “ターゲットDB” の “新規作成” を選択します。接続識別子には tnsnames.ora ファイルに記載したサービス名を設定し、その他項目を入力します。
    idt-atp-targetdb.png
  2. ユーザー名とパスワードを入力し “テスト接続” を選択し、接続が可能であることを確認します。
    idt-atp-targetdb-test.png
    はい、接続できました!あとは、通常の他のターゲット DB と同様にアセスメントを実行するだけです。

おわりに

本ブログでは Insight Database Testing で OCI 上の ATP へ接続する方法を紹介しました。オンプレで古くなった Oracle Database を OCI 上の ATP へ移行を検討される場合に、ぜひご活用いただければと思います。先述の通り、Always Free 環境で ATP を無料試用開始することも可能ですので、ちょっと試したいときにも便利です。

Insight Database Testing をまだご利用いただいていない方で実際に試されたい場合は、製品の説明やデモ、トライアルなどについてInsight Database Testingに関するお問い合わせ よりお問い合わせいただければと思います。

次回もどうぞお楽しみに!

TOP
ページトップへ