乐趣区

关于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

登录了。

退出移动版