您的位置:首页 > 数据库 > Oracle

Oracle sqlplus中不能上下键选择前一条命令解决方法

2015-07-01 14:47 781 查看
安装一个叫rlwrap的工具:
http://utopia.knoware.nl/~hlub/uck/rlwrap/
(http://utopia.knoware.nl/~hlub/rlwrap/rlwrap-0.30.tar.gz)

已经上传到本文附件:后缀为.rar,主要是51cto不支持.tar.gz后缀,实际上是一个tar.gz压缩包

tar -zxvf rlwrap-0.30.tar.gz
cd rlwrap-0.30
./configure
make
make install

把下两句写入运行oracle的用户.bash_profle文件中:
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'

这样就能使用上下键切换到历史命令去了。同时还能使用回退键修改错误的命令。
否则需要使用ctrl+回退键才行。

要使用回退键,还有另外一个方法:
在oracle用户的.bash_profile 中添加
stty erase ^h
再执行
# . ~oracle/.bash_profile
但是这样不能使用上下键
--------------------------------------------------------------------------------------
()在linux 上的oracle sqlplus 不能利用 上, 下 键来查看命令 而苦恼. rlwarp 工具可以帮助我们解决这个问题.

官方下载地址:http://utopia.knoware.nl/~hlub/uck/rlwrap/

安装过程:

[root@oradb temp]# tar -xvf rlwrap-0.28.tar
[root@oradb temp]# cd rlwrap-0.28
[root@oradb rlwrap-0.28]# ./configure
[root@oradb rlwrap-0.28]# make
[root@oradb rlwrap-0.28]# make install

这样就可以使用 rlwarp 了.

[oracle@oradb ~]$ rlwrap sqlplus "/ as sysdba"

这样登录数据库 , 就可以使用上 下 键查找上次执行的命令.

如果每次都需要输入 rlwrap 感觉麻烦的话 , 还可以加入到 .bash_profile 中, 就不用每次都输入了.

alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'

这样就大公告成了,觉的是不是很爽。

附录:.bash_profile

export ORACLE_BASE=/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORA_CRS_HOME=$ORACLE_BASE/product/10.2.0/crs_1
export ORACLE_HOME_LISTNER=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=oradb

export PATH=.:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORA_CRS_HOME/bin:${PATH}:$HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS10=$ORACLE_HOME/nls/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/app/temp
export TMPDIR=/app/temp
export LANG=EN_US
export NLS_LANG=American_America.ZHS16GBK
export SQLPATH=/app/oracle/login

alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'

转载:http://blog.sina.com.cn/s/blog_62449fcf0100xl4r.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: