OSqlEditからAutonomousDB(ATP)に接続


OSqlEditからAutonomousDB(ATP)に接続する手順を記します。通常のオンプレミスのサーバー上のOracle DBへのOSqlEditでの接続は慣れているが、AutonomousDBは初めて接続するという方向けの記事になります。

前提条件

  • 接続先のAutonomousDBとしては、VPNの外にあるパターンを扱います。AutonomousDBのタイプとしては、ATP(Autonomous Transaction Processing)で試していますがADWでも同じです。
  • Oracle Clientはすでに導入済みを想定
  • OsqlEditはVersion 10.1.3.2
  • Oracle ClientはVersion 19.10.0
  • ATPは19c(Always Free環境)

手順サマリ

  • OCIコンソールのDB接続からクライアント資格証明(ウォレット)のダウンロード
  • 環境変数TNS_ADMINで指定するフォルダに配置
  • slqnet.oraを書き換える
  • プロキシ設定が必要な場合tnsnames.oraも書き換える
  • OsqlEditに接続情報を入力して接続

手順詳細

OCIコンソールのDB接続からクライアント資格証明(ウォレット)のダウンロード

OCIコンソールからATPのページまで行き、[DB接続]ボタン押下→[ウォレットのダウンロード]ボタンを押下の順でウォレットのダウンロードをします。
この際、ウォレットのパスワード入力が求められますのでパスワードを入力後ダウンロードしてください。
zip形式でウォレットファイル群がダウンロードされます。

環境変数TNS_ADMINで指定するフォルダにウォレットファイル群を配置

自分の場合はTNS_ADMINの環境変数を下記フォルダに指定しているので、
C:\OracleClient\tns_admin
こちらの配下にzipファイルを解凍したものを配置します。
($ORACLE_HOME/network/adminである人が多いかと思います。)

TNS_ADMINの環境変数の設定は下記画面から実施。この画面自体はWindows 10のタスクバーの検索マークのところで、”環境変数”などと書いて検索するとここにたどり着く候補がでてきます。

slqnet.oraを書き換える

配置したウォレットファイル群の中にsqlnet.oraがあるので、その中身を書き換えます

書き換え前

WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="?/network/admin")))
SSL_SERVER_DN_MATCH=yes

書き換え後

WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="C:\OracleClient\tns_admin")))
SSL_SERVER_DN_MATCH=yes
SQLNET.USE_HTTPS_PROXY=on

WALLET_LOCATIONのDIRECTORY=にフルパスを指定しています。
またプロキシ設定用にSQLNET.USE_HTTPS_PROXY=onを追加しています。

プロキシ設定が必要な場合tnsnames.oraも書き換える

sqlnet.oraにSQLNET.USE_HTTPS_PROXY=onを追記して、tnsnames.oraにもプロキシ用の設定を追加します。接続定義のaddressセクションにhttps_proxyおよびhttps_proxy_portパラメータを追加します。

(追加前)

atpfree_high = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.ap-tokyo-1.oraclecloud.com))(connect_data=(service_name=xxxxxxxxxxx_atpfree_high.adb.oraclecloud.com))(security=(ssl_server_cert_dn="CN=adb.ap-tokyo-1.oraclecloud.com,OU=Oracle ADB TOKYO,O=Oracle Corporation,L=Redwood City,ST=California,C=US")))

(追加後)

atpfree_high = (description= (retry_count=20)(retry_delay=3)(address=(https_proxy=www-proxy.xxxxx.com)(https_proxy_port=80)(protocol=tcps)(port=1522)(host=adb.ap-tokyo-1.oraclecloud.com))(connect_data=(service_name=xxxxxxxxxxx_atpfree_high.adb.oraclecloud.com))(security=(ssl_server_cert_dn="CN=adb.ap-tokyo-1.oraclecloud.com,OU=Oracle ADB TOKYO,O=Oracle Corporation,L=Redwood City,ST=California,C=US")))

OsqlEditに接続情報を入力して接続

OsqlEditのログイン情報は下記のような形で、ここではadminユーザーで接続になっています

接続できたら成功です

参考マニュアル

共有Exadata InfrastructureでのOracle Autonomous Databaseの使用
- クライアント・アプリケーションを使用したAutonomous Databaseの接続
リンク