このシリーズの他の記事は、オラクル・クラウドの個人ブログ一覧 からご覧いただけます。
初めに
本記事では、Windows環境のクライアントから、コマンドラインを使用してAutonomous Database (ADBと略)に接続する方法を詳しく解説します。SQLclおよびSQL*Plusの2つの代表的なツールを取り上げ、それぞれのインストール方法や接続手順について、図解やコマンド例を交えて分かりやすく紹介していきます。
これからコマンドライン接続を試みる方や、スクリプトによる自動化を検討している方の一助となれば幸いです。
検証済環境
Windows Server 2019 Standard (OCI Computeインスタンス)
SQLcl 25.1
SQL*Plus 23.8
目次
事前準備
1-1. 作業用フォルダを作成
あらかじめ以下のようにフォルダを作成しておいてください。
パス | 目的 |
---|---|
C:\Oracle | ホームディレクトリ |
C:\Oracle\Wallet | Walletファイルの格納先 |
C:\Oracle\SQL_sample | SQLサンプルの格納先 |
1-2. Walletファイルのダウンロード
OCIコンソールにログインし、接続対象のADBのWalletファイルをダウンロードしてください。
保存場所:C:\Oracle\Wallet
ダウンロード方法の詳細については、以下の記事のSTEP 1-1をご参照ください:
OCI Cloud Shell上のSQL PlusからADBに接続する
1-3. ネットワークの設定
接続方法
ADB がプライベート・サブネットに配置されるのは、一般的な構成です。WindowsクライアントからリモートのプライベートADBに接続する方法はいくつかあります。詳細な設定手順については、以下の記事をご参照ください。今回はWindowsクライアントからの接続を前提としているため、ロード・バランサや踏み台サーバーを経由する方法を推奨します。
プライベート・サブネット内のOracle 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
を追加してください。
2-2. 接続を実施
コマンド:sql -cloudconfig <Walletファイル名> <DBスキーマ名>/<パスワード>@<TNS名>

SQLclでADBに接続する場合、Walletを解凍する必要がなく、非常に便利です。
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 -
圧縮ファイルの解凍
ダウンロードした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接続ツール
- コマンド・ライン・インタフェース
- 無料使用ライセンス
機能比較と関連ドキュメント
分類 | 項目 | SQLcl | SQL Plus |
---|---|---|---|
機能 | コマンド歴 | Yes | 1個のみ (listで) |
↑、↓でコマンドを切り替え | Yes | No | |
ADB接続時にWalletの解凍は 必要か? |
不要 | 必要 | |
ドキュメント | FAQ | 英語 日本語 | MOS リンク (英語) |
ガイドとレファレンス (23c) | 英語 日本語 | 英語 日本語 | |
ダウンロード | リンク | Oracle Instant Client |
以上