[Oracle] 次世代SQL*Plusの「SQLcl」のインストール手順を紹介

Oracle Databaseの次世代CUI「SQLcl」のインストール方法について紹介します。

SQLclは、コマンド履歴オートコンプリート新規の強力なコマンドが利用することができます。

もちろん*従来のSQLPlusのコマンド**も使用することができ、

今後SQL*Plusに代わるCUIユーティリティになることでしょう。

目次

SQLclのダウンロード

SQLclはLinux版、Windows版もJavaで作成されており、

どちらも同じメディアで利用できます。

SQLclのダウンロードはここからからダウンロード出来ます。

ダウンロードページの赤枠の「Download」でダウンロードしましょう。

SQLclのダウンロードページ

なお前提としてJava8以上が必要になります。

Linuxでのインストール手順

SQLclのインストールは非常に簡単でZIPファイルを解凍すれば直ぐに利用することができます。

今回は「$ORACLE_HOME」配下にSQLclを配置しましょう。

cd $ORACLE_HOME
unzip sqlcl-*.zip
cd sqlcl/bin/
rm sql.exe

Linux版では使用しない「exe」ファイルは削除しておきます。

より使いやすいようにするために「.bash_profile」に「SQLcl」のPATHを通しておきましょう。

以下、「.bash_profile」への追記のサンプルになります。

自身の環境に合わせてORACLE_HOMEやORACLE_SIDを変更しておきましょう

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=${ORACLE_BASE}/product/18.0.0/dbhome_1
export PATH=$ORACLE_HOME/bin:${ORACLE_HOME}/sqlcl/bin:$ORACLE_HOME/jdk/bin:${PATH}
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export NLS_LANG=JAPANESE_JAPAN.UTF8
export LANG=ja_JP.UTF-8
export ORACLE_SID=orcl18c

では実際にデータベースに繋がるか試してみましょう。

以下のように「sql」で実行できます。

[oracle@rhel73-18000 ~]$ sql

SQLcl: 金 8 10 23:25:40 2018のリリース18.2 Production

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

ユーザー名 (''?) sys as sysdba
パスワード (**********?) ******
接続先:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.3.0.0.0

Sessionが変更されました。

経過時間: 00:00:00.033

23:26:03 SYS@orcl18c > select instance_name from v$instance ;
INSTANCE_NAME
----------------
orcl18c

また引数を渡したデータベースに接続することも可能です。

sql <ユーザー名>/<パスワード>@接続識別子 

Windowへのインストール手順

Windowのインストールも簡単でZIPファイルを展開すれば完了です。

今回は「C:\Program Files (x86)\Oracle\sqlcl」に配置します。

Program

「sql.exe」のショートカットをデスクトップ上に作成しておくと使いやすくて便利です。

以下のように「SQLcl」から接続することができます。

SQLcl: 土 8 11 00:53:45 2018のリリース18.2 Production

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

ユーザー名 (''?) sys@localhost:1521/orcl18c as sysdba
パスワード (**********?) ******
接続先:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production

SQL> select instance_name from v$instance ;

INSTANCE_NAME
----------------
orcl18c

NLS_LANGの設定が誤っているとSQL実行時に以下のエラーが出力します。

SQL> select instance_name from v$instance;
java.io.UnsupportedEncodingException: JA16SJIS
at java.lang.StringCoding.encode(Unknown Source)
at java.lang.String.getBytes(Unknown Source)
at oracle.dbtools.db.ResultSetFormatter.write(ResultSetFormatter.java:673)
at oracle.dbtools.db.ResultSetFormatter.write(ResultSetFormatter.java:666)
at oracle.dbtools.db.SQLPLUSCmdFormatter.rset2sqlplus(SQLPLUSCmdFormatter.java:2276)
at oracle.dbtools.db.ResultSetFormatter.rset2sqlplus(ResultSetFormatter.java:309)
at oracle.dbtools.db.ResultSetFormatter.rset2sqlplus(ResultSetFormatter.java:283)
at oracle.dbtools.db.ResultSetFormatter.formatResults(ResultSetFormatter.java:144)
at oracle.dbtools.db.ResultSetFormatter.formatResults(ResultSetFormatter.java:69)
at oracle.dbtools.raptor.newscriptrunner.SQL.processResultSet(SQL.java:794)
at oracle.dbtools.raptor.newscriptrunner.SQL.executeQuery(SQL.java:705)
at oracle.dbtools.raptor.newscriptrunner.SQL.run(SQL.java:82)
at oracle.dbtools.raptor.newscriptrunner.ScriptRunner.runSQL(ScriptRunner.java:404)
at oracle.dbtools.raptor.newscriptrunner.ScriptRunner.run(ScriptRunner.java:230)
at oracle.dbtools.raptor.newscriptrunner.ScriptExecutor.run(ScriptExecutor.java:341)
at oracle.dbtools.raptor.newscriptrunner.ScriptExecutor.run(ScriptExecutor.java:224)
at oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.process(SqlCli.java:406)
at oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.processLine(SqlCli.java:417)
at oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.startSQLPlus(SqlCli.java:1136)
at oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.main(SqlCli.java:493)

環境変数「NLS_LANG」を「Japanese_Japan.AL32UTF8」に修正しましょう。

スッキリわかる SQL 入門 ドリル215問付き! (スッキリシリーズ)posted with ヨメレバ

中山 清喬,飯田 理恵子 インプレス 2013-04-19

Amazonで探す

Kindleで探す

楽天ブックスで探す

楽天koboで探す

7netで探す

hontoで探す

e-honで探す

紀伊國屋書店で探す

  • システム開発、アプリ開発
  • マッチングアプリ開発
  • インフラ構築支援等、なんでもご相談ください。
よかったらシェアしてね!
  • URLをコピーしました!
目次