使用rlwrap解决sqlplus历史命令问题
在Linux下面使用sqlplus很不爽,上下键,退格键都不能用,严重降低生产效率。
某一天终于发现了这个rlwrap这个好东西,特写此文记录。
由于时间关系,可以从这里下载安装包。
下载后,将.zip扩展名去掉,传到Linux服务器上面。
先装上一些安装rpm
一:安装readline
OS的安装光盘里提供了readline包.
[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
二:安装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'
rlwrap 可以用来支持oracle下sqlplus历史命令的回调功能,提高效率。
1、 下载
从[url]http://utopia.knoware.nl/~hlub/uck/rlwrap/下载rlwrap-0.37.tar.gz,然后上传到
/tmp 目录下。
2、 解压缩安装
[root@localhosttmp]# tar -zxvf rlwrap-0.37.tar.gz
[root@localhosttmp]# cd rlwrap-0.37
[[email]root@localhostrlwrap-0.37[/email]]# ls
[[email]root@localhostrlwrap-0.37[/email]]# ./configure
[[email]root@localhostrlwrap-0.37[/email]]#make
[[email]root@localhostrlwrap-0.37[/email]]#make install
3、 验证安装结果
[root@localhost rlwrap-0.37]#su – oracle
[oracle@localhost ~]$ rlwrap
Usage: rlwrap [options] command ...
Options:
-a[password:] --always-readline[=password:]
-A --ansi-colour-aware
[oracle@localhost ~]$ rlwrap sqlplus / as sysdba;
SQL*Plus: Release 10.1.0.3.0 -Production on ??Υ 9? 3 12:49:42 2010
Copyright (c) 1982, 2004, Oracle. All rights reserved.
Connected to:
Oracle Database 10g EnterpriseEdition Release 10.1.0.3.0 - Production
With the Partitioning, OLAP and DataMining options
SQL> select status fromv$instance;
STATUS
------------
OPEN
4、安装报错
rlwrap: error while loadingshared libraries: libreadline.so.5: cannot open shared object file: No suchfile or directory
解决办法:
在oracle下的.bash_profile中$PATH路径中增加/usr/local/bin路径
PATH=/usr/local/bin:$PATH;export PATH
5、 编辑oracle用户下的.bash_profile
增加
alias sqlplus=’rlwrap sqlplus’
alias rman=’rlwrap rman’