解决LINUX下SQLPLUS时上下左右键乱码问题
window下的sqlplus可以通过箭头键,来回看历史命令,用起来非常的方便。
但是在linux里就没有这么方面了,错了一个命令,我们必须重新敲一次,辛苦了手指头叻。
看到一个文章,很方便的一招,给我们带来方便。
通过rlwrap包实现linux里的sqlplus历史命令的功能
这个包依赖readline包
下载
rlwrap-0.36.tar.gz http://utopia.knoware.nl/~hlub/rlwrap/
readline-6.1.tar.gz http://tiswww.case.edu/php/chet/readline/rltop.html
到本地 oracle目录下
一:安装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'
Linux下的SQL Plus 终于可以像Windows下的那样使用了。
几点注意:
1、需要先安装readline,才能开始装rlwrap,否则会出错,无法正常安装
2、alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman'
这两行要先换到ORACLE用户下,
su -l oracle
vi .bash_profile 例如:
[root@myvm rlwrap-0.37]# su -l oracle
[oracle@myvm ~]$ vi .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
#PATH=$PATH:$HOME/bin
#export PATH
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/product/10.2.0/db_1
ORACLE_SID=LINJX
PATH=$ORACLE_HOME/bin:$PATH
export NLS_LANG=american_america.zhs16gbk
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
".bash_profile" 24L, 441C written
[oracle@myvm ~]$ source .bash_profile --启用配置