当在Linux Shell中运行SQL*Plus的时候,并不提供浏览历史命令行的功能。相反的,在Windows操作系统上,当在DOS命令窗口中运行SQL*Plus的时候,可以使用向上,向下键来跳回之前已经执行过的SQL语句。你可以 根据需要修改他们,然后按[Enter]重新提交执行。
为了在Linux中达到同样的目的,你可以安装rlwrap,这个程式本身是个Shell,可以运行任何你提供给它的命令包括参数,并添加命令历史浏览功能。安装rlwrap之前需要readline(我在red hat linux 5 和oracle linux 5安装不需要安装readline也可以安装rlwrap,但在网上看到有网友说没安装readline不能安装rlwrap),到:下载readline,到:下载rlwrap
接着进行解压,然后进行安装,安装步骤如下:
#./configure
#make
#make check
#make install
安装完之后就可以使用了,首先切换到oracle用户
#su - oracle
使用如下:
$rlwrap sqlplus /nolog
SQL>conn /as sysdba
按下向上方向键,就可显示之前的命令
SQL>conn /as sysdba
为了方便使用,可以rlwrap sqlplus命别名
$vi /home/oracle/.bashrc
(注:也可以在用户主目录下的.bash_profile文件中加入下面的语句)
在文件最后加入:alias sqlplus='rlwrap sqlplus'
以后直接敲入sqlplus就可以达到相应的功能。
此外还有一个工具,不过此工具我安装好后,不能运行,可以是版本的问题,相关参考如下:
个人觉得还是rlwrap比较简单
今天以BBS上看到有篇文章提到rlwrap有rpm包,到: 下载,下了对应red had 4的包并在CENTOS 4.7试验了一下,安装成功,并可使用