参考网站:http://www.cnblogs.com/killkill/archive/2009/08/28/1556092.html
sqlplus中使用上下键查看历史命令
在Linux下面使用sqlplus很不爽,上下键,退格键都不能用,严重降低生产效率。
某一天终于发现了这个rlwrap这个好东西,特写此文记录。
由于时间关系,可以从这里下载安装包。
rlwrap包下载地址: http://files.cnblogs.com/files/killkill/rlwrap-0.30.tar.gz.zip
下载后,将.zip扩展名去掉,传到Linux服务器上面。
先装上一些安装rpm
一:安装readline
OS的安装光盘里提供了readline包.(已安装的话,可以忽略此步)
# RHEL 4 [root@oracle11g ~]# rpm -Uvh readline* error: Failed dependencies: libtermcap-devel is needed by readline-devel-5.1-1.1.i386.rpm [root@oracle11g ~]# rpm -Uvh libtermcap-devel-2.0.8-46.1.i386.rpm [root@oracle11g ~]# rpm -Uvh readline* package readline-5.1-1.1 is already installed [root@oracle11g ~]# rpm -Uvh readline-devel-5.1-1.1.i386.rpm # RHEL 5 [root@oracle11g ~]# rpm -ivh readline* libtermcap-devel*
二:安装rlwrap
[root@oracle11g ~]# tar -zxvf rlwrap-0.30.tar.gz [root@oracle11g ~]# cd rlwrap-0.30 [root@oracle11g rlwrap-0.30]# ./configure [root@oracle11g rlwrap-0.30]# make [root@oracle11g rlwrap-0.30]# make install
三:方便使用rlwrap
[root@oracle11g rlwrap-0.30]# vi /home/oracle/.bash_profile 添加 alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman'
Linux下的SQL Plus 终于可以像Windows下的那样使用了。
flowing:https://www.cnblogs.com/mengfanrong/p/4680281.html
在刚装好的Oracle中,我们使用SqlPlus会发现很的蹩脚,不仅退格键不好用,方向键也不行调出history。以下有几种解决方法。
1.能够使用ctrl+Backspace键强制输出输入的错误,也能够export stty erase ^h,当然这仅仅是暂时的方法,想一劳永逸请看以下。
2.在oracle用户文件夹下编辑bash_profile文件
[oracle@linux245 ~]$ vi .bash_profile
加入下面代码
stty erase ^h
保存退出
使改动生效
[oracle@linux245 ~]$ source ./.bash_profile
好了这样退格键的问题就攻克了,以下解决上下键不能调出历史记录的问题,该问题能够通过安装软件rlwrap回调sqlplus中运行过的命令来解决。
安装步骤
1.安装该软件之前须要安装readline和libtermcap-devel两个依赖包,所以首先安装这两个软件,配置好本地的YUM。切换到root用户,直接运行以下的命令就可以
#yum install readline* libtermcap-devel*
2.然后我们安装rlwrap。rlwrap的最新版本号是rlwrap-0.37.tar.gz 官方主页为http://utopia.knoware.nl/~hlub/uck/rlwrap/
1 wget http://utopia.knoware.nl/~hlub/uck/rlwrap/rlwrap-0.37.tar.gz 2 tar xzvf rlwrap-0.37.tar.gz 3 cd rlwrap-0.37 4 ./configure --prefix=/usr/local/rlwrap 5 make 6 make install
3.如今我们使用/usr/local/rlwrap/bin/rlwrap sqlplus 命令进入Sqlplus就能够了。假设不想每次都输入这么长的命令,能够在 oracle用户下的 .bash_profil 中增加一条alias
alias sqlplus='/usr/local/rlwrap/bin/rlwrap sqlplus'
使改动生效
[oracle@linux245 ~]$ source ./.bash_profile
这样每次仅仅要直接输入 sqlplus命令就能够使回调函数命令