在linux系统里面一旦在bash里面进入sqlplus或者rman后按上下左右键会出现乱码,不能像window命令行一样按左右键可以随意调整代码,按上下键可以直接选择已经执行过的命令。有一个很好的解决方案,就是安装rlwrap软件包实现这个本来没有的功能。下面是安装过程。

 

1.首先下载rlwrap安装包

  http://utopia.knoware.nl/~hlub/uck/rlwrap/

 

2.解压

  $ tar -zxvf rlwrap-0.37.tar.gz

 

3.安装前提

  安装readline包是rlwrap能正常使用的前提,下面用root用户使用yum安装readline

  先搜索以readline包

  # yum search readline

  然后把readline和readline-devel包安装上(redhat里面自带了readline包,可能只需要readline-devel包)

  # yum install readline.x86_64

  # yum install readline-devel.x86_64

 

3.安装

  # cd rlwrap-0.37

  # ./configure

  # make

  # make install

  这样就安装完成了。下面在配置文件中添加sqlplus和rman别名,这样每次直接使用sqlplus或者rman时就能直接调用rlwrap。

  切换到oracle用户,在.bash_profile和.bashrc里面添加两行

  $ vi .bash_profile

  alias sqlplus='rlwrap sqlplus'

  alias rman='rlwrap rman'

  $ vi .bashrc

  alias sqlplus='rlwrap sqlplus'

  alias rman='rlwrap rman'

  保存并退出。这样注销后重新登陆都可以直接使用slqplus和rman了。试试吧!