1 问题形容

SQLPLUS中应用高低箭头无奈获取历史命令,如下图所示:

按高低箭头会显示^[[A/^[[B

2 解决方案

须要装置rlwrap,能够的话能够用包管理器装置,笔者环境CentOS,这里从源码编译装置。

2.1 下载源码

官网Github能够戳这里,目前最新的版本为0.43

2.2 装置

上传到服务器后,解压编译装置:

tar -zxvf rlwrap-0.43.tar.gzcd rlwrap-0.43./configuremake make install

笔者在./configure这步遇到以下谬误:

装置一个库解决:

yum install readline-devel

再次./configure就没有问题了:

2.3 测试

应用rlwrap sqlplus代替原来的sqlplus登录:

rlwrap sqlplus xxx/xxx as sysdba

这样就能够应用高低箭头了。

因为笔者在root上进行测试,在oracle用户上进行测试可能会呈现权限问题,如图:

到对应目录下创立该文件:

cd /home/oraclesudo touch .sqlplus_history

创立了之后还是不能执行:

批改组权限即可:

sudo chmod g+w .sqlplus_history

2.4 别名

为了方便使用能够加上一个别名:

alias sp='rlwrap sqlplus'

这样下次就能够应用

sp xxx/xxx as sysdba

登录了。