让Linux下的SQL*Plus具有历史回调功能

Linux上使用SQL*Plus有一个相当不方便的地方,那就是没有历史回调功能。在Windows上的SQL*Plus可以用“向上向下”箭头来调用之前使用过的命令,修改、编辑、重复之前的命令都相当方便。如何解决这个问题呢?

答案是安装一个小工具:Uniread

安装Uniread的要求

1.Linux系统上必须已经安装了Perl

2.安装Uniread之前先安装 readline,Term,IO这3个工具。

安装过程:
1.检查是否已经安装过Perl

[root@pcmxexweb tmp]# rpm -qa perl
perl-5.8.8-10
#说明已经安装了

2.下载IO-Tty-1.07.tar.gz  readline-5.2.tar.gz  Term-ReadLine-Gnu-1.17a.tar.gz  uniread-1.01.tar.gz 这四个文件,我放到了/tmp下。

[root@pcmxexweb tmp]# ll IO-Tty-1.07.tar.gz readline-5.2.tar.gz Term-ReadLine-Gnu-1.17a.tar.gz uniread-1.01.tar.gz
-rw-r--r-- 1 root root   22004 03-14 16:44 IO-Tty-1.07.tar.gz
-rw-r--r-- 1 root root 2037705 03-14 16:44 readline-5.2.tar.gz
-rw-r--r-- 1 root root   66489 03-14 16:44 Term-ReadLine-Gnu-1.17a.tar.gz
-rw-r--r-- 1 root root   16118 03-14 16:44 uniread-1.01.tar.gz

3.安装readline-5.2.tar.gz

# tar -zxvf readline-5.2.tar.gz
# cd readline-5.2
# ./configure
#make
#make install

安装IO-Tty-1.07.tar.gz Term-ReadLine-Gnu-1.17a.tar.gz
# tar -zxvf IO-Tty-1.07.tar.gz (或tar -zxvf Term-ReadLine-Gnu-1.17a.tar.gz)
# cd IO-Tty-1.07(或 cd Term-ReadLine-Gnu-1.17)

# perl Makefile.pl
# make
# make install

安装readline-5.2.tar.gz
#tar -xzvf uniread-1.01.tar.gz
#cd uniread-1.01
#perl Makefile.pl
#make
#make install

使用:
# su - oracle
$ uniread sqlplus /nolog

清空历史工作:
$ echo ''>.uniread/sqlplus