安装rlwrap

rlwrap封装了readline,所以安装rlwrap之前需要安装readline库。可以通过yum方式安装,也可以下载源码包进行安装。官方网站:

I. yum方式安装

CentOS系统默认的yum软件仓库中没有rlwrap这个包,需要通过第三方yum源安装。

a. 安装第三方yum源

# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

# rpm --import/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6                         //导入key

默认会在/etc/yum.repos.d/下创建epel.repo和epel-testing.repo两个配置文件。

b. 安装rlwrap和readline

# yum install rlwrap readline readline-devel -y

II. 源码包安装

其他Linux发行版如果源里没有rlwrap和readline的(如SUSE企业版默认没有这两个包),要分别下载这两个源码包编译安装一下。

a. 安装readline

# wgetftp://ftp.gnu.org/gnu/readline/readline-6.2.tar.gz

# tar zxvf readline-6.2.tar.gz

# cd readline-6.2/

# ./configure

# make

# make install

b. 安装rlwrap

# wgethttp://utopia.knoware.nl/~hlub/rlwrap/rlwrap-0.37.tar.gz

# tar zxvf rlwrap-0.37.tar.gz

# cd rlwrap-0.37/

# ./configure

# make

# make install

./configure  报错:

rlwrap You need the GNU readlinelibrary(ftp://ftp.gnu.org/gnu/readline/ ) to build this program!

解决办法:

Centos 6.x

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpmwget http://rpms.famillecollet.com/enterprise/remi-release-6.rpmrpm -ivh epel-release-6-8.noarch.rpmrpm -ivh remi-release-6.rpm

允许remi repository

vi /etc/yum.repos.d/remi.repo

编辑[remi]下的enabled选项从0设为1

[remi]name=Les RPM de remi pour Enterprise Linux 6 - $basearch#baseurl=http://rpms.famillecollet.com/enterprise/6/remi/$basearch/mirrorlist=http://rpms.famillecollet.com/enterprise/6/remi/mirrorenabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

至此,安装完成。

安装完运行yum报错:

Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again

解决办法:

vi /etc/yum.repos.d/epel.repo

编辑[epel]下的baseurl前的#号去掉,mirrorlist前添加#号。正确配置如下:

[epel]name=Extra Packages for Enterprise Linux 6 - $basearchbaseurl=http://download.fedoraproject.org/pub/epel/6/$basearch#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearchfailovermethod=priorityenabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

再运行

yum makecache

yum install readline-devel -y

7.2 设置sqlplus的系统别名

# vim /home/oracle/.bash_profile

在尾部添加:

alias sqlplus='rlwrap sqlplus'

alias rman='rlwrap rman'

退出oracle用户再重新登录就OK了。现在Linux下的sqlplus用起来就像cmd中一样了。