初めに
本記事では、Windows環境のクライアントから、コマンドラインを使用してAutonomous AI Database (ADBと略)に接続する方法を詳しく解説します。SQLcl および SQL*Plus の2つの代表的なツールを取り上げ、それぞれのインストール方法や接続手順について、図解やコマンド例を交えて分かりやすく紹介していきます。
コマンドライン接続を試みる方や、スクリプトによる自動化を検討している方の一助となれば幸いです。
検証済環境
Windows Server 2019 Standard (OCI Computeインスタンス)
SQLcl 25.1
SQL*Plus 23.8
1. 事前準備
1-1. 作業用フォルダを作成
あらかじめ以下のようにフォルダを作成しておいてください。
| パス | 目的 |
|---|---|
| C:\Oracle | ホームディレクトリ |
| C:\Oracle\Wallet | Walletファイルの格納先 |
| C:\Oracle\SQL_sample | SQLサンプルの格納先 |
1-2. Walletファイルのダウンロード
OCIコンソールにログインし、接続対象のADBのWalletファイルをダウンロードしてください。
保存場所:C:\Oracle\Wallet
ダウンロード方法の詳細については、以下の記事をご参照ください:
OCI Cloud Shell上のSQL PlusからADBに接続する (STEP 1-1 の部分)
1-3. ネットワークの設定
接続方法
ADB がプライベート・サブネットに配置されるのは、一般的な構成です。WindowsクライアントからリモートのプライベートADBに接続する方法はいくつかあります。詳細な設定手順については、以下の記事をご参照ください。今回はWindowsクライアントからの接続を前提としているため、ロード・バランサや踏み台サーバーを経由する方法を推奨します。
プライベートサブネット内の Oracle DB (Base DB/ADB) に接続する方法まとめ
セキュリティルール
ADBに紐づいているNSGに、以下の条件で新しいイングレスルールを追加します:
- ソース:
- 直接にADBに接続する場合:クライアントのIPアドレス
- LBや踏み台サーバーを経由する場合:LBや踏み台サーバーのプライベートIP
- プロトコル:TCP
- 宛先ポート:1522
2. SQLcl を使用する場合
※、SQL*Plusより使いやすく、おすすめです。
2-1. SQLcl をインストール
圧縮ファイルのダウンロード
ダウンロードURL: https://www.oracle.com/database/sqldeveloper/technologies/sqlcl/download/
ファイル名:sqlcl-25.1.1.113.2054.zip
圧縮ファイルの解凍
ダウンロードした圧縮ファイルを解凍してください。解凍先として「C:\Oracle」フォルダを指定します。解凍が完了すると、「C:\Oracle\sqlcl\bin」フォルダ内に sql.exe が生成されます。
環境変数の設定
環境変数PATHにSQLclのフルパス C:\Oracle\sqlcl\bin を追加してください。
バージョン確認
コマンドプロンプトでバージョン確認:sql -V
2-2. 接続を実施
コマンド:sql -cloudconfig <Walletファイル名> <DBスキーマ名>/<パスワード>@<TNS名>

2-3. バッチ実行手順
- 環境変数の設定例:
set SQL_File="C:\Oracle\SQL_sample\select_emp.sql"- SQLファイル(select_emp.sql)の作成例:
SELECT * FROM EMP WHERE EMPNO='7900';
exit;- 実行コマンド例:
sql -cloudconfig <Walletファイル名> <DBスキーマ名>/<パスワード>@<TNS名> @%SQL_File%3. SQL*Plus を使用する場合
3-1. Oracle Instant Client をインストール
圧縮ファイルのダウンロード
ダウンロードURL:https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html
Basic Packageをダウンロード
SQL*Plus Packageもダウンロード
圧縮ファイルの解凍
ダウンロードした2つのZipファイルを同じフォルダに解凍します。
解凍先:C:\Oracle
※、解凍すると、instantclient_23_8とMETA-INFの2つサブフォルダが生成されます。META-INFフォルダを上書きする前に、バックアップを作成することをおすすめします。
解凍後の確認
以下のパスに実行ファイルが配置されていることを確認:C:\Oracle\instantclient_23_8\sqlplus.exe
環境変数の設定
環境変数PATHにSQL*Plusのフルパス C:\Oracle\instantclient_23_8 を追加してください。
バージョン確認
コマンドプロンプトでバージョン確認:sqlplus -v
3-2. Walletファイルの解凍
以下のZipファイル(STEP 1-2で取得)を解凍してください:C:\Oracle\Wallet\Wallet_DBName.zip
解凍先:C:\Oracle\instantclient_23_8\network\admin
既存ファイルのバックアップ
解凍先フォルダに既存のREADMEファイルがあります。上書き前にバックアップを作成することをおすすめします。
3-3. 接続を実施
コマンド: sqlplus <DBスキーマ名>/<パスワード>@<TNS名>

※、TNS名は、解凍先のtnsnames.oraファイルにも確認できます(例:ADB名_high)。
※、バッチ実行もできます。上記のSTEP 2-3を参考してください。
付録 - SQLcl と SQL*Plus の比較
共通点
- オラクル公式のDB接続ツール
- コマンド・ライン・インタフェース (CLI)
- 無料使用ライセンス
機能比較と関連ドキュメント
| 分類 | 項目 | SQLcl | SQL Plus |
|---|---|---|---|
| 機能 | コマンド歴 | Yes | 1個のみ (listで) |
| ↑、↓でコマンドを切り替える | Yes | No | |
| ADB接続時にWalletの解凍は必要か? | 不要 | 必要 | |
| ドキュメント | FAQ | 英語 日本語 | MOS リンク (英語) |
| ガイドとコマンドレファレンス | 英語 日本語 | 英語 日本語 | |
| ダウンロード | リンク | Oracle Instant Client |
以上