1 问题形容
SQLPLUS
中应用高低箭头无奈获取历史命令,如下图所示:
按高低箭头会显示^[[A
/^[[B
。
2 解决方案
须要装置rlwrap
,能够的话能够用包管理器装置,笔者环境CentOS
,这里从源码编译装置。
2.1 下载源码
官网 Github
能够戳这里,目前最新的版本为0.43
:
2.2 装置
上传到服务器后,解压编译装置:
tar -zxvf rlwrap-0.43.tar.gz
cd rlwrap-0.43
./configure
make
make install
笔者在 ./configure
这步遇到以下谬误:
装置一个库解决:
yum install readline-devel
再次 ./configure
就没有问题了:
2.3 测试
应用 rlwrap sqlplus
代替原来的 sqlplus
登录:
rlwrap sqlplus xxx/xxx as sysdba
这样就能够应用高低箭头了。
因为笔者在 root
上进行测试,在 oracle
用户上进行测试可能会呈现权限问题,如图:
到对应目录下创立该文件:
cd /home/oracle
sudo touch .sqlplus_history
创立了之后还是不能执行:
批改组权限即可:
sudo chmod g+w .sqlplus_history
2.4 别名
为了方便使用能够加上一个别名:
alias sp='rlwrap sqlplus'
这样下次就能够应用
sp xxx/xxx as sysdba
登录了。