3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Last updated at Posted at 2023-11-23

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

これからSQLclを導入したい方の参考になれば幸いです。

環境情報

項目 バージョン
Java 11
SQLcl 24.1
Oracle Linux 8
Windows Windows Server 2019 Standard Edition

ステップ

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.21" 2023-10-17 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.21.0.9-2.0.1) (build 11.0.21+9-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.21.0.9-2.0.1) (build 11.0.21+9-LTS, mixed mode, sharing)
[opc@oracle-linux8 ~]$

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

コマンド:sudo yum install sqlcl -y

SQLclを起動する:

[opc@linux8 ~]$ sql /nolog

SQLcl: Release 24.1 Production on Wed Apr 10 07:14:17 2024

Copyright (c) 1982, 2024, 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 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 24.1 Production on Wed Apr 10 07:38:43 2024

Copyright (c) 1982, 2024, Oracle.  All rights reserved.

Password? (**********?)

Cloud-initスクリプト

#!/bin/bash
# Install Java 11
dnf install java-11-openjdk -y

# Install SQLcl
dnf install sqlcl -y 

2. Windowsにインストール

2-1. Javaのインストール

SQL Developer (Windows 64-bit with JDK 11 included)をインストールした場合は、それを利用できます。

JAVAダウンロードURL: https://www.oracle.com/java/technologies/downloads/
インストーラ・ファイルを実行し、インストールを開始します(省略)。

PATH環境変数に追加します。次はSQL Developerの例です。

$env:Path += ";C:\sqldeveloper\jdk\jre\bin"

バージョン確認:

PS C:\Users\opc> java -version
java version "11.0.18.0.2" 2023-02-17 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.18.0.2+1-LTS-3)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.18.0.2+1-LTS-3, mixed mode)

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

ダウンロードURL: https://www.oracle.com/database/sqldeveloper/technologies/sqlcl/download/
最新バージョン: 24.1.0.087.0929 - April 3, 2024
圧縮ファイルサイズ:66 MB
ライセンス:フリー

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

Expand-Archive -Path C:\Users\opc\Downloads\sqlcl-24.1.0.087.0929.zip -DestinationPath C:\

PATH環境変数に追加します。

$env:Path += ";C:\sqlcl\bin"

バージョン確認:

PS C:\Users\opc> sql -V

SQLcl: Release 24.1.0.0 Production Build: 24.1.0.087.0929
PS C:\Users\opc>

2-3. ターゲット・データベースへ接続する (動作確認)

この例では、Oracle Base DBへ接続します。

コマンド: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 DBのサービス名を取得する

以上


関連記事
コマンドラインを使用してWindowsクライアントからAutonomous DBに接続する
OCI Cloud-initスクリプト

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

3
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
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?