初めに
本記事では、Oracle LinuxおよびWindowsの環境にSQLclをインストールする手順を、Javaの準備からインストール、接続確認まで詳しく解説します。また、Oracle Linux向けにはCloud-initスクリプトも紹介し、インスタンス起動時に自動でSQLclをセットアップする方法も取り上げます。SQLclを導入したい方の参考になれば幸いです。
環境情報
| Platform | 項目 | バージョン |
|---|---|---|
| Linux | OS | Oracle Linux 8 |
| Java | 11 | |
| SQLcl | 25.4 | |
| Windows | OS | Windows Server 2022 Standard Edition |
| Java | 21 | |
| SQLcl | 25.3.2 |
1. Oracle Linuxにインストール
1-1. Javaのインストール
Java 11以上がインストールされていない場合、SQLclを起動すると、以下のエラーが発生します。
Error: SQLcl requires Java 11 and above to run.
Found Java version no_java.
Please set JAVA_HOME to appropriate version.コマンド: sudo dnf install java-11-openjdk -y
[opc@oracle-linux8 ~]$ sudo dnf install java-11-openjdk -y
...
Complete!
[opc@oracle-linux8 ~]$ java -version
openjdk version "11.0.25" 2024-10-15 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.25.0.9-1.0.1) (build 11.0.25+9-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.25.0.9-1.0.1) (build 11.0.25+9-LTS, mixed mode, sharing)
[opc@oracle-linux8 ~]$1-2. SQLclのインストール
コマンド:sudo yum install sqlcl -y
SQLclを起動する:
[opc@linux8 ~]$ sql /nolog
SQLcl: Release 25.4 Production on Sun Nov 30 02:26:26 2025
Copyright (c) 1982, 2025, Oracle. All rights reserved.
SQL>以下のエラーを遭遇した時:
Exception in thread "main" java.lang.Error: java.io.FileNotFoundException: /usr/lib/jvm/java-11-openjdk-11.0.21.0.9-2.0.1.el8.x86_64/lib/tzdb.dat (No such file or directory)回避策:sudo dnf install tzdata-java -y
1-3. ターゲット・データベースへ接続する (動作確認)
動作確認のために、Autonomous AI Database (ADBと略)へ接続します。(事前準備として、ADB Walletをインスタンスにコピーしておいてください。)
コマンド:sql -cloudconfig Wallet_DBname.zip <username>/<password>@<tns_name>
※、TNS名は圧縮ファイルの tnsnames.ora でも確認可能で、次のいずれかの形式です。DBname_high、DBname_medium、DBname_low
[opc@oracle-linux8 ~]$ sql -cloudconfig Wallet_adw.zip admin/<password>@adw_high
<中略>
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.23.0.1.0
SQL>接続時のトラブルシューティング
パスワードに特殊文字があり、上記のコマンドに識別されない場合、次の2つ対策があります:
- 方法-1:特殊文字の前に、
\を付けます。 - 方法-2:次のコマンドで接続して、プロンプトが表示されたら、パスワードを入力します。
sql -cloudconfig Wallet_DBname.zip <username>@<tns_name>
[opc@oracle-linux8 ~]$ sql -cloudconfig Wallet_adw.zip admin@adw_high
SQLcl: Release 25.4 Production on Sun Nov 30 02:46:29 2025
Copyright (c) 1982, 2025, Oracle. All rights reserved.
Password? (**********?)1-4. Cloud-initスクリプト
#!/bin/bash
# Install Java 11
dnf install java-11-openjdk -y
# Install SQLcl
dnf install sqlcl -y 2. Windowsにインストール
2-1. Javaのインストール
JAVAダウンロードURL: https://www.oracle.com/java/technologies/downloads/
この例では、Java 21を利用します。インストールの詳細を省略します。
インストール後、パスを環境変数に追加します。
$env:Path += ";C:\Program Files\Java\jdk-21\bin"バージョン確認:
PS C:\Program Files\Java\jdk-21\bin> java -version
java version "21.0.9" 2025-10-21 LTS
Java(TM) SE Runtime Environment (build 21.0.9+7-LTS-338)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.9+7-LTS-338, mixed mode, sharing)
PS C:\Program Files\Java\jdk-21\bin>Oracle SQLcl Console: This application requires a Java Runtime Environment 17.0.52-2. SQLclのインストール
ダウンロードURL: https://www.oracle.com/database/sqldeveloper/technologies/sqlcl/download/
最新バージョン: 25.3.2.317.1117 - November 14, 2025
圧縮ファイルサイズ:96 MB
ライセンス:フリー
ダウンロード後、圧縮ファイルを解凍します。
Expand-Archive -Path C:\Users\opc\Downloads\sqlcl-25.3.2.317.1117.zip -DestinationPath C:\パスを環境変数に追加します。
$env:Path += ";C:\sqlcl\bin"バージョン確認:
PS C:\Users\opc> sql -V
SQLcl: Release 25.3.2.0 Production Build: 25.3.2.317.1117
PS C:\Users\opc>2-3. ターゲット・データベースへ接続する (動作確認)
この例では、Oracle Base Databaseへ接続します。
コマンド:sql $User/$Password@${Hostname}:$Port/$ServiceName
PS C:\Users\opc> sql system/<password>@db19c:1521/DB19C_pdb1.<subnetname>.<vcnname>.oraclevcn.com
...中略...
Connected to:
Oracle Database 19c EE High Perf Release 19.0.0.0.0 - Production
Version 19.22.0.0.0
SQL>以上