您的位置:首页 > 运维架构 > Linux

解决Linux下SQL*Plus命令行历史回调功能

2014-02-16 20:29 627 查看
在Linux上使用SQL*Plus有一个相当不方便的地方,那就是没有历史回调功能。在Windows上的SQL*Plus可以用“向上向下”按键来调用之前使用过的命令,修改、编辑、重复之前的命令都相当方便。如何解决这个问题呢?可以利用Uniread解决这一问题。

 

二、安装Uniread的系统准备

1 Perl

2 readline

3 IO-Tty

4 Term-ReadLine-Gnu

 

二、安装Uniread

(1)安装Perl

安装Uniread之前,系统中必须要有Perl语言的支持。一般情况下,在系统安装时会默认安装perl,可通过命令rpm –qa | grep perl查看系统中是否安装了perl,如果没安装,可使用yum或者rpm工具进行安装。

利用yum安装:yum install perl,

利用rpm安装:rpm –ivh perl-5.10.1-129.el6.i686.rpm(此为示例)

 

(2)安装realine

通过命令rpm –qa | grep readline查看系统中是否安装了readline,如果没安装,可使用yum或者rpm工具进行安装。

利用yum安装:yum install readline,

利用rpm安装:rpm –ivh readline-6.0-4.el6.i686.rpm(此为示例)

 

(3)安装IO-Tty

下载IO-Tty-1.07.tar.gz,通过命令tar –xzvf IO-Tty-1.07.tar.gz解压文件,进入解压后的文件夹,运行命令perl
Makefile.PL,运行命令make&& make install完成编译和安装

 

(4)安装Term-ReadLine-Gnu

下载Term-ReadLine-Gnu-1.16.tar.gz,通过命令tar –xzvf Term-ReadLine-Gnu-1.16.tar.gz解压文件,进入解压后的文件夹,运行命令perl
Makefile.PL,运行命令make&& make install完成编译和安装

 

(5)安装uniread

下载uniread-1.01.tar.gz,通过命令tar –xzvf uniread-1.01.tar.gz解压文件,进入解压后的文件夹,运行命令perl
Makefile.PL,运行命令make&& make install完成编译和安装

 

三、使用uniread

通过命令uniread sqlplus / as sysdba进入sql*plus,此时便可以通过上下键查看历史输入了。为方便使用,可在oracle用户的家目录下的.bashrc文件中加入一行alias sqlplus=’uniread sqlplus’

 

FAQ

(1)安装Term-ReadLine-Gnu时报“Could notfind neither libtermcap.a, libncurses.a, or libcurses.”

系统缺乏compat-libtermcap、ncurses-devel和readline-devel软件包,可通过yum或rpm工具进行安装。

 

yum:

yum install compat-libtermcap

yum install ncurses-devel

yum install readline-devel

 

 

rpm:

rpm –ivh compat-libtermcap-2.0.8-49.el6.i686.rpm(此为示例)

rpm –ivh ncurses-devel-5.7-3.20090208.el6.i686.rpm(此为示例)

rpm –ivh readline-devel-6.0-4.el6.i686.rpm(此为示例)

 

(2)如何删除历史输入?

通过命令echo ‘’ > ~/.uniread/sqlplus 即可清理掉sql*plus中的历史输入了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息