在linux中oracle的sqlplus是没办法想windows下可以上下调回历史输入的。rlwrap就很好的解决了这个问题。rlwrap 可以用来支持Oracle下sqlplus历史命令的回调功能,提高效率。
一、安装readline
操作系统的安装光盘里提供了readline包.
进入系统的光盘中的Packages下查看readline包并安装(rpm -Uvh 中U一定要大写,是升级安装包的)
[root@vast mnt]# cd Packages/
[root@vast Packages]# ll readline*
-r--r--r-- 116 root root 180344 Mar 27 2012 readline-6.0-4.el6.i686.rpm
-r--r--r-- 81 root root 182676 Mar 27 2012 readline-6.0-4.el6.x86_64.rpm
-r--r--r-- 94 root root 137448 Mar 27 2012 readline-devel-6.0-4.el6.i686.rpm
-r--r--r-- 66 root root 137428 Mar 27 2012 readline-devel-6.0-4.el6.x86_64.rpm
[root@vast Packages]# rpm -Uvh readline-6.0-4.el6.x86_64.rpm
Preparing... ########################################### [100%]
package readline-6.0-4.el6.x86_64 is already installed
[root@vast Packages]# rpm -Uvh readline-devel-6.0-4.el6.x86_64.rpm
Preparing... ########################################### [100%]
package readline-devel-6.0-4.el6.x86_64 is already installed
二、安装rlwrap
上传压缩包到服务器上(我这里上传到了/tmp下)
修改rlwrap-0.30.tar.gz.zip为rlwrap-0.30.tar.gz
[root@vast Packages]# cd /tmp/
[root@vast tmp]# mv rlwrap-0.30.tar.gz.zip rlwrap-0.30.tar.gz
[root@vast tmp]# tar -zxvf rlwrap-0.30.tar.gz
rlwrap-0.30/
rlwrap-0.30/completions/
.
.
.
rlwrap-0.30/TODO
rlwrap-0.30/BUGS
[root@vast tmp]# cd rlwrap-0.30
[root@vast rlwrap-0.30]# ./configure
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
.
.
.
Now do:
make (or gmake) to build rlwrap
make check for instructions how to test it
make install to install it
[root@vast rlwrap-0.30]# make
make all-recursive
make[1]: Entering directory `/tmp/rlwrap-0.30'
Making all in doc
.
.
make[1]: Leaving directory `/tmp/rlwrap-0.30'
[root@vast rlwrap-0.30]# make install
Making install in doc
make[1]: Entering directory `/tmp/rlwrap-0.30/doc'
.
.
make[1]: Leaving directory `/tmp/rlwrap-0.30'
三、设置oracle用户环境变量
[root@vast rlwrap-0.30]# su - oracle
[oracle@vast ~]$ echo alias sqlplus=\'rlwrap sqlplus\' >> .bash_profile
[oracle@vast ~]$ echo alias rman=\'rlwrap rman\' >> .bash_profile
[oracle@vast ~]$ source .bash_profile
完成
现在linux在sqlplus中就可以像在windows中一样可以对sqlplus中的内容进行上下翻。