LoginSignup
0
0

MacBook へ SQLclを使用して WalletなしでTLS認証を使用してOracle Autonomous Databaseに接続してみてみた

Last updated at Posted at 2024-04-14

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 接続します。
構成図.jpg
ADB.jpg

■ 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からダウンロードします
03_JDK-Download01.jpg

● JDK Development Kit 22 Install

1) Installer 実行
ダウンロードした dmgファイルをクリック
11.png

2) JDK インストーラー画面
[続ける]をクリック
13.jpg

3) インストール先画面
[続ける]をクリック
14.jpg

4) インストールの種類画面
[インストール]をクリック
15.jpg

5) インストール中画面
16.jpg

6) インストール完了画面
[閉じる]をクリック
17.jpg

● 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をダウンロード
02_SQLcl01.jpg

● 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_HOM/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画面の[データベース接続]をクリック
ADB接続01-2.jpg

2) データベース接続画面
接続文字列をコピーします
ADB接続.jpg

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

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0