Solaris10中sqlplus实现上下键查找历史命令和Linux中一样,需要两个包readline-5.2.tar.gz和rlwrap-0.21.tar.gz。
下载地址分别为:
ftp://ftp.gnu.org/gnu/readline/
http://download.chinaunix.net/download/0010000/9017.shtml
首先得声明gcc、make等工具的位置:
gcc和g++工具的位置是/usr/sfw/bin
make和ar工具的位置是/usr/ccs/bin
只需在/etc/profile中加入它们的路径即可:
vi /etc/profile
PATH=/usr/ccs/bin:/usr/sfw/bin:$PATH
export LOGNAME PATH
如果用bash的话source /etc/profile,否则临时执行“PATH=/usr/ccs/bin:/usr/sfw/bin:$PATH”,“export LOGNAME PATH”,令变量生效。
接着编译readline:
tar zxf readline-5.2.tar.gz
cd readline-5.2
./configure prefix=/usr/local
make
make install
安装完毕后readline的文件会分散到/usr/local文件夹下的相关子文件夹内,将新产生的lib文件复制到/lib文件夹下,好让rlwrap调用
cp /usr/local/lib/libhistory.* /lib
cp /usr/local/lib/libreadline.* /lib
然后编译rlwrap:
tar zxf rlwrap-0.21.tar.gz
cd rlwrap-0.21
CFLAGS=-I/usr/local/include CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./configure --prefix=/usr/local
make
make install
最后,在需要连接Oracle数据库的用户的根目录下编辑.profile文件:
vi .profile
alias sqlplus='rlwrap sqlplus'
使新加的内容生效:source .profile
这样,当你再次连接数据库时就可以在sqlplus中使用上下键查找以前输入的命令了。