この記事について
Autonomous Database にクレデンシャル・ウォレットを使用して接続する
クレデンシャル・ウォレットのダウンロード
↓ OCIのコンソールにアクセスし、左上のメニューから Oracle AI Database を選択
Oracle AI Databaseのメニュー一覧が表示されたら、 Autonomous AI Database をクリック
↓ 作成したATPインスタンスをクリックし、ATPインスタンスの詳細画面を表示。
↓ 詳細画面の データベース接続 をクリック
↓ ダウンロードウィザードが起動するので、 ウォレットのダウンロード をクリック
↓ ウォレットファイルに付与するパスワードを入力し、ダウンロードをクリックして、手元のPCの任意の場所に保存
↓ 接続文字列 は以下の通り
設定ファイルの編集
作成したADBインスタンスに接続するためには、
接続に使用するクライアントの設定ファイルの編集を行う必要がある
この設定を OCI Cloud Shell で行う
Cloud Shellは、
Oracle CloudコンソールからアクセスできるWebブラウザ・ベースのターミナルで、
Oracle Cloud Infrastructureの全ユーザーが利用可能
ローカルの端末にOCI-CLIをインストールせずとも、コンソール上でコマンドベースの操作が可能
↓ Cloud Shellを開く
Oracle Cloud Infrastructureのテナンシにサインインし、
コンソールのヘッダーにあるコマンド・プロンプト・アイコンをクリック
↓ Cloud Shell環境が作成され、
コマンドを実行したりAutonomous Databaseに接続したりすることが可能
Cloud Shellの起動には、約1分ほどの時間がかかる
↓ ADB WalletをCloud Shell上にアップロードする
Cloud Shellの上部のメニューをクリックし「アップロード」をクリック
ダウンロードしたファイルを"Drag & Drop"する
Cloud Shellの画面に、ファイルを直接"Drag & Drop"してアップロードすることも可能
↓ lsコマンドで、ファイルが正しくアップロードされていることを確認します。
ls
「Wallet_aitestatp001.zip」が存在していればOKです。
↓ 出力例
$ ls
command_compute-capacity-report compartment_id.txt input.json sche2.json shape-availabilities_standarde5.json Wallet_aitestatp001.zip
格納用のディレクトリを作成し、ウォレットファイルを$HOME/network/admin 配下に移動
格納用のディレクトリを作成する
mkdir -p ~/network/admin
ウォレットファイル Wallet_atp01.zip を移動
mv Wallet_aitestatp001.zip ~/network/admin
作成したディレクトリに移動し、圧縮されたウォレットファイルを展開
作成したディレクトリに移動
cd ~/network/admin
unzip Wallet_atp01.zip
↓ lsコマンドでadminディレクトリ内のファイルを一覧し、次のようなファイルが揃っていればOK
$ ls
cwallet.sso ewallet.p12 ewallet.pem keystore.jks ojdbc.properties README sqlnet.ora tnsnames.ora truststore.jks Wallet_aitestatp001.zip
↓ TNS_ADMIN 環境変数にウォレットの保存先を設定します。
export TNS_ADMIN=~/network/admin
↓ 出力例
$ export TNS_ADMIN=~/network/admin
$
$ env | grep TNS
TNS_ADMIN=/home/xxxxxxxxxxxxxxxx/network/admin
↓ sqlnet.ora の下記の行を編集し、ウォレットの保存先を置き換える
前の手順で、保存先をTNS_ADMIN環境変数に格納しているため、こちらを使用する
編集前:
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="?/network/admin")))
編集後:
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY=$TNS_ADMIN)))
↓ 環境変数"ORACLE_HOME"を設定
export ORACLE_HOME=~
echoコマンドで中身を確認し、/home/[username] が出力されればOK
echo $ORACLE_HOME
↓ tnsnames.oraから、接続用のサービス情報を確認
次にように4つの接続サービスがあることが分かる
$ cat tnsnames.ora
aitestatp001_high = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.us-chicago-1.oraclecloud.com))(connect_data=(service_name=g2b790413f0a7c4_aitestatp001_high.adb.oraclecloud.com))(security=(ssl_server_dn_match=yes)))
aitestatp001_low = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.us-chicago-1.oraclecloud.com))(connect_data=(service_name=g2b790413f0a7c4_aitestatp001_low.adb.oraclecloud.com))(security=(ssl_server_dn_match=yes)))
aitestatp001_medium = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.us-chicago-1.oraclecloud.com))(connect_data=(service_name=g2b790413f0a7c4_aitestatp001_medium.adb.oraclecloud.com))(security=(ssl_server_dn_match=yes)))
aitestatp001_tp = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.us-chicago-1.oraclecloud.com))(connect_data=(service_name=g2b790413f0a7c4_aitestatp001_tp.adb.oraclecloud.com))(security=(ssl_server_dn_match=yes)))
aitestatp001_tpurgent = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.us-chicago-1.oraclecloud.com))(connect_data=(service_name=g2b790413f0a7c4_aitestatp001_tpurgent.adb.oraclecloud.com))(security=(ssl_server_dn_match=yes)))
ADBに接続
SQL*Plus を使った接続 (on Cloud Shell)
Cloud Shellには、SQL Plusのクライアントが実装されているため、
OCI上のADBに簡単に接続が可能
↓ 次のコマンドをCloud Shellのターミナルに入力し、ADBにSQL*Plusを起動する
sqlplus [username]/[password]@[接続サービス名]
SQL>
SQL> SELECT USERNAME FROM USER_USERS ;
USERNAME
--------------------------------------------------------------------------------
ADMIN
SQL>
SQL>
SQL Developer インストール&接続
↓ 以下サイトにアクセス
↓ ”Windows 64-bit with JDK 17 included”をダウンロード
ダウンロードしたファイルを任意のフォルダで解凍
展開フォルダにある、sqldeveloper.exeを実行
SQL Developerが起動する
↓ インポート・プリファレンスの確認ポップアップが表示されるので、必要に応じて指定する
本環境では、デフォルトのまま[いいえ]をクリックする
↓ Oracleに使用状況のレポートを送付するかの確認ポップアップが表示されるので、必要に応じて設定し、[OK]をクリック
手元のPCにインストールしたクライアントツールを利用してアクセスする
SQL Developerを起動し、管理者アカウント(ADMIN)でADBへ接続する
↓ SQL Developerを起動後、画面左上の接続アイコンをクリック
以下の記載例を参考に各項目を入力し、ADBインスタンスへの接続設定を行う
- 各項目に接続情報を入力します。
- Name : aitest_atp001_high_admin
- ("high"は接続サービスの一つ)
- ユーザー名 : admin
- パスワード : xxxxxxxx
- (インスタンス作成時に設定したADMINユーザーのパスワード)
- パスワードの保存 チェックあり
- (実際の運用に際しては、セキュリティ要件を踏まえ設定ください)
- 接続タイプ : クラウド・ウォレット
- 構成ファイル (事前にダウンロードしておいたウォレットファイルを選択)
- サービス:aitestatp001_high を選択
テスト をクリックし、正しく接続できるか確認する
(正しく接続出来れば、左下のステータスに 成功 と表示されます。)
テストに成功したことを確認し保存をクリックします。
(左上の接続リストに表示され、次回以降の登録作業をスキップできます。)
接続をクリック
↓ 失敗例。(ADBを起動していませんでした)
↓ 成功時
↓ 保存をクリック
ワークシートが起動しますので、
サンプルクエリを実行してADBインスタンスに正しく接続できているか確認する
SQL Developerにてご自身で作成した接続を選択する
以下のクエリをワークシートに貼り付ける
SELECT USERNAME FROM USER_USERS;
↓ スクリプトの実行 ボタンをクリックし実行する(左隣の 文の実行 ボタンで実行しても構いません)
エラーなく実行結果が返ってくれば確認完了
























