Oracle SQL Developerコマンド・ライン(SQLcl)は、SQL*Plus と SQL Developerの機能を組み合わせたOracle Database用のコマンドライン・インタフェースです。SQLclを使用して、ウォレットなしで TLS認証を使用して Autonomous Databaseに接続できます。SQLclは、インライン編集、ステートメントのコンプリート、コマンド呼び出しなど豊富な機能を提供します。
ということで、Macbooke へ SQLclを使用して、WalletなしでTLS認証を使用してAutonomous Databaseに接続してみてみます。
■ 環境イメージ
今回、FastConnect でオンプレミスと Oracle Cloud Infrastructure(OCI)を接続し、Macbook から Autonomous Database へ SQLcl 接続します。
■ macOSでのJDKのインストール
SQLclを実行するには、Oracle Java 11以降のバージョンをインストールする必要があります。Javaバージョンが11未満の場合、SQLcl実行は失敗し、次のエラー・メッセージが表示されます。
・sqlcl 実行
oracle@macbook ~ % sql /nolg
Warning: Found incompatible $ORACLE_HOME for database version 19
Thick driver unavailable for use.
Error: SQLcl requires Java 11 and above to run.
Found Java version .
Please set JAVA_HOME to appropriate version.
・ macOSのデフォルトのJDKバージョンの確認
oracle@macbook ~ % java -version
The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.
● JDK Development Kit 22 downloads
macOSにJDKをインストールするには、必要な ARM64 DMG Installer ファイルを、Java Downloadsからダウンロードします
● JDK Development Kit 22 Install
1) Installer 実行
ダウンロードした dmgファイルをクリック
● JDK Install 確認
次のコマンドでインストールしたJAVA Versionを確認
oracle@macbook ~ % java -version
java version "22" 2024-03-19
Java(TM) SE Runtime Environment (build 22+36-2370)
Java HotSpot(TM) 64-Bit Server VM (build 22+36-2370, mixed mode, sharing)
■ SQLcl インストール
● SQLcl ダウンロード
SQLcl Downloadsから SQLclをダウンロード
● SQLcl インストール
1) Install Directory 作成
oracle@macbook ~ % mkdir ~/oracle
2) SQLcl Zipファイル配置
oracle@macbook ~ % ls -l ~/oracle
-rw-r--r--@ 1 oracle staff 70205047 Apr 13 07:05 sqlcl-23.4.0.023.2321.zip
3) SQLcl Zipファイル解凍
oracle@macbook ~ % cd ~/oracle
oracle@macbook oracle % unzip sqlcl-23.4.0.023.2321.zip
oracle@macbook oracle % ls -l
drwxr-xr-x@ 10 oracle staff 320 Apr 13 07:19 sqlcl
-rw-r--r--@ 1 oracle staff 70205047 Apr 13 07:05 sqlcl-23.4.0.023.2321.zip
oracle@oracle-mac ~ % ls -l ~/oracle/sqlcl
-rw-r--r--@ 1 oracle staff 44 Jan 23 23:23 23.4.0.023.2321
-rw-rw-rw-@ 1 oracle staff 216 Jan 23 23:25 LICENSE.txt
-rw-rw-rw-@ 1 oracle staff 192 Jan 23 23:25 NOTICES.txt
-rw-rw-rw-@ 1 oracle staff 348 Jan 23 23:25 THIRD-PARTY-LICENSES.txt
drwxr-xr-x@ 7 oracle staff 224 Apr 13 07:18 bin
drwxr-xr-x@ 90 oracle staff 2880 Jan 23 23:25 lib
drwxr-xr-x@ 4 oracle staff 128 Apr 13 07:19 network
■ SQLcl動作確認
● 環境変数設定
1) .bash_profile設定
oracle@macbook oracle % cat ~/.bash_profile
export PATH=/Users/oracle/bin:$PATH
export ORACLE_HOME=/Users/oracle/oracle/sqlcl
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME
export ORACLE_SID=ADB
2) .bash_profile 実行
oracle@macbook ~ % source ~/.bash_profile
oracle@macbook ~ % env | grep ORA
ORACLE_HOME=/Users/oracle/oracle/sqlcl
ORACLE_SID=ADB
● tnsnames.ora設定
1) Autonomous Database画面
OCIコンソールから 対象の Autonomous Database画面の[データベース接続]をクリック
3) tnsnames.ora設定
今回の Oracle Clientは、FastConnect接続されたオンプレミス環境なので、Autonomous Database の プライベート・エンドポイントIP を設定します。
DNS, /etc/hosts等でホスト名解決できる場合は、プライベート・エンドポイントURLを設定します。
oracle@macbook oracle % cat $ORACLE_HOME/network/admin/tnsnames.ora
ADB =
(description= (retry_count=20)(retry_delay=3)
(address=(protocol=tcps)(port=1521)
(host=10.0.0.2))
(connect_data=(service_name=adb_tp.adb.oraclecloud.com))
(security=(ssl_server_dn_match=no)))
oracle@macbook oracle % sql admin/<Password>@ADB
Warning: Found incompatible $ORACLE_HOME for database version 19
Thick driver unavailable for use.
SQLcl: 日 4月 14 21:23:02 2024のリリース23.4 Production
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Last Successful login time: 日 4月 14 2024 21:23:03 +09:00
接続先:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.23.0.1.0
SQL> select * from v$instance;
INSTANCE_NUMBER INSTANCE_NAME HOST_NAME VERSION VERSION_LEGACY VERSION_FULL STARTUP_TIME STATUS PARALLEL THREAD# ARCHIVER LOG_SWITCH_WAIT LOGINS SHUTDOWN_PENDING DATABASE_STATUS INSTANCE_ROLE ACTIVE_STATE BLOCKED CON_ID INSTANCE_MODE EDITION FAMILY DATABASE_TYPE
__________________ ________________ ____________ _____________ _________________ _______________ _______________ _________ ___________ __________ ___________ __________________ __________ ___________________ __________________ ___________________ _______________ __________ _________ ________________ __________ _________ ________________
2 adb2 19.0.0.0.0 19.0.0.0.0 19.23.0.1.0 24-04-06 OPEN YES 2 STARTED ALLOWED NO ACTIVE PRIMARY_INSTANCE NORMAL NO 0 REGULAR EE RAC
■ 参考
・ Installation of the JDK on macOS
・ Java Downloads
・ SQLcl Downloads
・ Oracle SQLclを使用した接続
・ WalletなしでOracle SQLcl Cloudを接続
・ SQLclのFAQ
・ Oracle SQLclの使用
・ Oracle JDK 22 Certified System Configurations