前提
- ADBが作成済み
- Cloud Shellを利用しています
- 本手順は
クレデンシャル・ウォレットを使用しSQLclとSQL*PLUSで接続する手順です
Cloud Shellとは
- OCIコンソールから利用できるWebブラウザベースの端末
- Cloud Shell自体は無償
- OCI CLI、SQL PLUS、SQLcl、Terraform、Pythonなどのツールが事前にインストール済み
- 以下の記事がわかりやすいです
手順
1)Cloud Shellを起動
OCIコンソール右上のアイコンから Cloud Shell を起動します

Cloud Shellが起動されるとOCIコンソールの下に表示されます

左側のハンバーガーメニューから、ローカルマシン上のファイルをCloud Shellへアップロード/ダウンロードや、Cloud Shellのフォント・サイズの設定などが可能です。

2)ADBのクレデンシャル・ウォレットをダウンロード
OCI CLIでのダウンロード方法
Cloud ShellでOCI CLIの確認
$ oci -v
ADBのOCIDを設定
$ db_ocid=<ADBのOCID>
設定されているか確認
$ echo $db_ocid
OCI CLIを使用しクレデンシャル・ウォレットをダウンロード
$ oci db autonomous-database generate-wallet --autonomous-database-id $db_ocid --file wallet.zip --password <ウォレットのパスワード>
例
$ oci db autonomous-database generate-wallet --autonomous-database-id $db_ocid --file wallet.zip --password <ウォレット・ファイルに付与するパスワード>
wallet.zipがダウンロードされます
$ ls
OCIコンソールからのダウンロード方法
ウォレットは2種類あります。
| 種類 | 内容 | 利用ケース |
|---|---|---|
| インスタンス・ウォレット(デフォルト) | 特定のインスタンスの資格証明のみが記載 | アプリケーションからの接続で利用 |
| リージョナル・ウォレット | 選択されたリージョン内の全てのインスタンスの資格証明が記載 | 他のインスタンスへの接続時も利用できるため、主に管理目的で利用 |
今回はインスタンス・ウォレットを利用します。

ウォレット・ファイルに付与するパスワードを入力しダウンロード

ローカルマシンにダウンロードされるので、Cloud ShellのハンバーガーメニューからCloud Shellにアップロードすることもできます
- 補足:クレデンシャル・ウォレットについて

出典:OCI活用資料集-Autonomous Database 技術詳細
3)ADBへ接続
SQLclでの接続方法
SQLclは無料のコマンドラインツールで```SQL*Plus``よりも多くの機能が備わっています。
SQLclについては、こちらやこちらをご参照ください。
- SQLclへのログイン
$ sql /nolog
- ウォレットをセット
- 今回はOCI CLIでダウンロードしたウォレット・ファイルを使用しています。
SQL> set cloudconfig wallet.zip
-
TNS名の確認。
- OCIコンソールの
DB接続からTNS名や接続文字列を確認できます。
- OCIコンソールの
-
補足
- ウォレット内の
tnsnames.oraからもTNS名や接続文字列を確認できます
- ウォレット内の
-
ADMINユーザで接続
-
接続サービスについては後述
-
SQL> connect admin/<パスワード>@<tns名>
例
SQL> connect admin/Welcome#1Welcome#1@kadw_medium
接続できたか確認
SQL> show user
ADMINユーザで接続できたことがわかります
USER is "ADMIN"
- 補足:接続サービスについて
- 合わせてこちらもご確認ください。
- OCIチュートリアル-201: 接続サービスの理解



出典:OCI活用資料集-Autonomous Database 技術詳細
- OCIチュートリアル-201: 接続サービスの理解
- 合わせてこちらもご確認ください。
SQL PLUSでの接続方法
- ウォレット格納用のディレクトリを作成し、ウォレット・ファイルを$HOME/network/admin 配下に移動させます
格納用のディレクトリを作成
$ mkdir -p ~/network/admin
ウォレット・ファイルを移動
$ mv wallet.zip ~/network/admin
- 作成したディレクトリに移動し、圧縮されたウォレットファイルを展開します。
ディレクトリの移動
$ cd ~/network/admin
ZIPファイルを解凍
$ unzip wallet.zip
確認
$ ls
展開されるファイル
cwallet.sso ewallet.p12 keystore.jks ojdbc.properties README sqlnet.ora tnsnames.ora truststore.jks wallet.zip
- TNS_ADMIN 環境変数にウォレットの保存先を設定します。
$ export TNS_ADMIN=~/network/admin
$ echo $TNS_ADMIN
-
sqlnet.oraの次の行を編集し、ウォレットの保存先を置き換えます。- 前の手順で、保存先をTNS_ADMIN環境変数に格納しているのでこちらを使います。
$ cp -p sqlnet.ora sqlnet.ora.bk
$ vi sqlnet.ora
編集前(「DIRECTORY=」の箇所が「?/network/admin」)
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="?/network/admin")))
SSL_SERVER_DN_MATCH=yes
編集後(「DIRECTORY=」の箇所を「$TNS_ADMIN」に変更)
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY=$TNS_ADMIN)))
SSL_SERVER_DN_MATCH=yes
- 環境変数
ORACLE_HOMEを設定
$ export ORACLE_HOME=~
- echoコマンドで中身を確認し、「
/home/[username]」が出力されればOK
$ echo $ORACLE_HOME
- ADMINユーザで接続
$ sqlplus admin/<パスワード>@<tns名>
例
$ sqlplus admin/Welcome#1Welcome#1@kadw_medium
- 接続できたか確認
SQL> show user
ADMINユーザで接続できたことがわかります
USER is "ADMIN"
参考情報
- OCIドキュメント
- OCIチュートリアル

