Linux上使用SQL*Plus有一个相当不方便的地方,那就是没有历史回调功能。在Windows上的SQL*Plus可以用"向上向下"箭头来调用之前使用过的命令,修改、编辑、重复之前的命令都相当方便。如何解决这个问题呢?
答案是安装一个小工具:Uniread
1.Linux系统上必须已经安装了Perl
2.安装Uniread之前先安装 readline,Term,IO这3个工具。
可以从这里下载:(顺便让我赚点处女资源分)
uniread-1.01.tar.gz:http://download.csdn.net/detail/kai27ks/4217705
readline-5.1-3.el5:http://download.csdn.net/detail/kai27ks/4217737
Term-ReadLine-Gnu-1.17a.tar.gz:http://download.csdn.net/detail/kai27ks/4217694
IO-Tty-1.07.tar.gz:http://download.csdn.net/detail/kai27ks/4217689
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下。(随便放 如果是远程windows过来的注意权限问题)
[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
4. 安装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
5.安装readline-5.2.tar.gz#tar -xzvf uniread-1.01.tar.gz
#cd uniread-1.01
#perl Makefile.pl
#make
#make install
6.使用方法:# su - oracle
$ uniread sqlplus /nolog
7.清空历史记录:$ echo ''>.uniread/sqlplus
如果要删除命令行历史,可以简单的用如下操作即可:
[oracle@FOO oracle]$ echo ''>.uniread/sqlplus
[oracle@FOO oracle]$
[oracle@FOO oracle]$ ls -ltr .uniread/
total 4
-rw------- 1 oracle oracle 1 Oct 31 15:57 sqlplus
[oracle@FOO oracle]$
[oracle@FOO oracle]$ uniread sqlplus
[uniread] Loaded history (1 lines)