Windows から SQLcl / SQL*Plus を使って Autonomous AI Database に接続する方法

Database

初めに

本記事では、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\WalletWalletファイルの格納先
C:\Oracle\SQL_sampleSQLサンプルの格納先

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
Download SQLcl

圧縮ファイルの解凍
ダウンロードした圧縮ファイルを解凍してください。解凍先として「C:\Oracle」フォルダを指定します。解凍が完了すると、「C:\Oracle\sqlcl\bin」フォルダ内に sql.exe が生成されます。

環境変数の設定
環境変数PATHにSQLclのフルパス C:\Oracle\sqlcl\bin を追加してください。

バージョン確認
コマンドプロンプトでバージョン確認:sql -V
Check SQLcl version

2-2. 接続を実施

コマンド:sql -cloudconfig <Walletファイル名> <DBスキーマ名>/<パスワード>@<TNS名>

Connect to ADB from SQLcl
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
Basic Packageをダウンロード
Download Basic Package of Oracle Instant Client

SQL*Plus Packageもダウンロード
Download SQL*Plus Package of Oracle Instant Client

圧縮ファイルの解凍
ダウンロードした2つのZipファイルを同じフォルダに解凍します。
解凍先:C:\Oracle
※、解凍すると、instantclient_23_8META-INFの2つサブフォルダが生成されます。META-INFフォルダを上書きする前に、バックアップを作成することをおすすめします。

解凍後の確認
以下のパスに実行ファイルが配置されていることを確認:
C:\Oracle\instantclient_23_8\sqlplus.exe

環境変数の設定
環境変数PATHにSQL*Plusのフルパス C:\Oracle\instantclient_23_8 を追加してください。

バージョン確認
コマンドプロンプトでバージョン確認:sqlplus -v
Check SQL*Plus version

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名>

Connect to ADB from SQL*Plus

※、TNS名は、解凍先のtnsnames.oraファイルにも確認できます(例:ADB名_high)。
※、バッチ実行もできます。上記のSTEP 2-3を参考してください。

付録 - SQLcl と SQL*Plus の比較

共通点

  • オラクル公式のDB接続ツール
  • コマンド・ライン・インタフェース (CLI)
  • 無料使用ライセンス

機能比較と関連ドキュメント

分類項目SQLclSQL Plus
機能コマンド歴Yes1個のみ (listで)
↑、↓でコマンドを切り替えるYesNo
ADB接続時にWalletの解凍は必要か?不要必要
ドキュメントFAQ英語 日本語MOS リンク (英語)
ガイドとコマンドレファレンス英語 日本語英語 日本語
ダウンロードリンクOracle Instant Client

以上

タイトルとURLをコピーしました