关于oracle:解决SQLPLUS无法使用上下箭头

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

登录了。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理