在window下的sqlplus可以通过箭头键,来回看历史命令,用起来非常的方便。但是在linux里就没有这么方面了,错了一个命令,我们必须重新敲一次,辛苦了手指头。
通过rlwrap包实现linux里的sqlplus历史命令的功能:
第一步:下载安装包
在http://rpm.pbone.net/ 网站搜索以下包,并下载后上传到服务器
rlwrap-0.42-1.el6.x86_64.rpm
readline-devel-6.0-4.el6.x86_64.rpm
ncurses-devel-5.7-4.20090207.el6.x86_64.rpm
第二步:在root 用户下,rpm -ivh 安装下载的包 ;如果配置yum resporitory ,可通过yum install直接安装
[root@localhost Downloads]# rpm -ivh ncurses-devel-5.7-4.20090207.el6.x86_64.rpm
Preparing... ########################################### [100%]
1:ncurses-devel ########################################### [100%]
[root@localhost Downloads]# rpm -ivh readline-devel-6.0-4.el6.x86_64.rpm
Preparing... ########################################### [100%]
1:readline-devel ########################################### [100%]
[root@localhost Downloads]# rpm -ivh rlwrap-0.42-1.el6.x86_64.rpm
Preparing... ########################################### [100%]
1:readline-devel ########################################### [100%]
第三步:切换至oracle 用户,在oracle 下 .bash_profile 文件中添加
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
如下示例:
[oracle@localhost ~]$ vi .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
PATH=$PATH:$HOME/bin
umask 022
TMP=/tmp;
export TMP
TMPDIR=$TMP;
export TMPDIR export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/12.2.0/db_1
export PATH=$ORACLE_HOME/Apache/perl/bin:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export ORACLE_OWNER=oracle
export ORACLE_SID=emrs
export ORACLE_TERM=xterm
unset USERNAME