min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

LinuxのSQL*Plusでbashのhistory機能を使う(カーソル↑↓で履歴を呼び出す)

ハピタス登録で1,000円分になるURL

その買うを、もっとハッピーに。|ハピタス

 

前記事でLinuxでsqlplusを使えるようにした(Oracle謹製Instant Clientを使用)。

min117.hatenablog.com

しかし、ヒストリ機能がない(Instant Clientだから?)。例えば矢印キー(↑や↓)を押しても、過去の履歴を表示できない。これじゃ実用に耐えない。

 

同じ悩みを解決している記事があった。

d.hatena.ne.jp

 

 

 

手順は以下のとおり。

① readline-devel をインストールする

② rlwrap をインストールする

③ sqlplus でヒストリ機能(履歴機能)を試してみる。

上記記事では②はソースからmakeしてたけど、yumでインストールできた。

 

まずは ① readline-devel をインストールするyumでインストールするだけ。

# sudo yum -y install readline-devel

f:id:min117:20161015213820p:plain

何事もなくインストール完了。

 

次に ② rlwrap をインストールするfedoraではこちらもyumからインストールできた。

# sudo yum -y install rlwrap

f:id:min117:20161015213938p:plain

こちらも無事にインストールできた。

 

いよいよ ③ sqlplus でヒストリ機能(履歴機能)を試してみるsqlplusを起動する前に rlwrap を呼べばいい。

rlwrap sqlplus scott/tiger@192.168.1.100:1521/MYDB01

 

rlwrapで包んでいるので、履歴機能が使えるようになっている。

f:id:min117:20161015214857p:plain

上矢印を押して履歴が出る(赤枠部分)。

Ctrl + r を押して検索文字列(line)を打つと、履歴を見れる(青枠部分)。

 

sqlplus で履歴が使えるとは。便利すぎる。WindowsOracle純正クライアント(sqlplus)より遥かに便利。さすがはLinux