解决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 --启用配置
posted @ 2014-03-07 10:11  许志伟  阅读(908)  评论(0编辑  收藏  举报