LinuxとWindowsインスタンスに SQLcl をインストール

Developer

初めに

本記事では、Oracle LinuxおよびWindowsの環境にSQLclをインストールする手順を、Javaの準備からインストール、接続確認まで詳しく解説します。また、Oracle Linux向けにはCloud-initスクリプトも紹介し、インスタンス起動時に自動でSQLclをセットアップする方法も取り上げます。SQLclを導入したい方の参考になれば幸いです。

環境情報

Platform項目バージョン
LinuxOSOracle Linux 8
Java11
SQLcl25.4
WindowsOSWindows Server 2022 Standard Edition
Java21
SQLcl25.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_highDBname_mediumDBname_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>
SQLclでADBに接続する場合、Walletファイルを解凍する必要はありません。

接続時のトラブルシューティング
パスワードに特殊文字があり、上記のコマンドに識別されない場合、次の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>
※、Java 17以上がインストールされていない場合、SQLcl (25.3)を起動すると、以下のメッセージが表示されますので、ご注意ください。
Oracle SQLcl Console: This application requires a Java Runtime Environment 17.0.5

2-2. SQLclのインストール

ダウンロードURL: https://www.oracle.com/database/sqldeveloper/technologies/sqlcl/download/
最新バージョン: 25.3.2.317.1117 - November 14, 2025
圧縮ファイルサイズ:96 MB
ライセンス:フリー
empty

ダウンロード後、圧縮ファイルを解凍します。

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>
Base DBのサービス名を取得する方法について、次の記事をご参照ください。
Oracle Base Database のサービス名を取得する方法

以上

ドキュメント
SQLcl FAQ: 英語 日本語
SQLcl Get Started: 英語

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