Linux平臺SQL*PLUS利用鍵盤上的上下箭頭

pxbibm發表於2014-07-28

Linux平臺下,想在Oracle資料庫的SQL*PLUS的命令列提示符下,利用鍵盤上的上下箭頭,調出歷史執行的SQL命令,可以考慮採用rlwrap這一開源工具

現,簡單記錄一下安裝過程(Red Hat Enterprise Linux as 5.4環境)。以前在4版本的作業系統上安裝時很順利,就不再記錄。

①解壓並安裝rlwrap工具:

[root@server1 ~]# tar -zxvf rlwrap-0.30.tar.gz
 
[root@server1 rlwrap-0.30]# ./configure
 
......
 
checking for tgetent... no
 
checking for tgetent in -lcurses... no
 
checking for tgetent in -lncurses... no
 
checking for tgetent in -ltermcap... no
 
configure: WARNING: No termcap nor curses library found
 
checking for readline in -lreadline... no
 
configure: error:
 
You need the GNU readline library(ftp://ftp.gnu.org/gnu/readline/ ) to build
 
this program!
 
[root@server1 rlwrap-0.30]#
報錯!提示需要安裝readline-devel-5.1-1.1.i386.rpm包。

② 安裝readline-devel-5.1-1.1.i386.rpm 包:

[root@server1 ~]# rpm -ivh readline-devel-5.1-1.1.i386.rpm
 
warning: readline-devel-5.1-1.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
 
error: Failed dependencies:
 
libtermcap-devel is needed by readline-devel-5.1-1.1.i386
[root@server1 ~]#
又報錯提示缺失libtermcap-devel包!

繼續安裝:
[root@server1 ~]# rpm -ivh libtermcap-devel-2.0.8-46.1.i386.rpm

 
warning: libtermcap-devel-2.0.8-46.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
 
Preparing...                ########################################### [100%]
 
1:libtermcap-devel       ########################################### [100%]
 
[root@server1 ~]# rpm -ivh readline-devel-5.1-1.1.i386.rpm
 
warning: readline-devel-5.1-1.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
 
Preparing...                ########################################### [100%]
 
1:readline-devel         ########################################### [100%]
 
[root@server1 ~]# cd rlwrap-0.30
 
[root@server1 rlwrap-0.30]# ./configure
 
checking build system type... i686-pc-linux-gnu
 
checking host system type... i686-pc-linux-gnu
 
checking for a BSD-compatible install... /usr/bin/install -c
 
checking whether build environment is sane... yes
 
checking for a thread-safe mkdir -p... /bin/mkdir -p
 
checking for gawk... gawk
 
checking whether make sets $(MAKE)... yes
 
............
 
............
 
configure: creating ./config.status
 
config.status: creating Makefile
 
config.status: creating doc/Makefile
 
config.status: creating src/Makefile
 
config.status: creating doc/rlwrap.man
 
config.status: creating distribution/rlwrap.spec
 
config.status: creating config.h
 
config.status: executing depfiles commands
 
Now do:
 
make (or gmake)  to build rlwrap
 
make check       for instructions how to test it
 
make install     to install it
 
[root@server1 rlwrap-0.30]#

③ 根據執行執行,make,make install:
[root@server1 rlwrap-0.30]# make
 
make  all-recursive
 
[root@server1 rlwrap-0.30]# make install
 
Making install in doc
make[2]: Leaving directory `/root/rlwrap-0.30'
 
make[1]: Leaving directory `/root/rlwrap-0.30'
 
[root@server1 rlwrap-0.30]#

④ 修改oracle 使用者的配置檔案,

[oracle@server1 ~]$ pwd
 
/home/oracle
 
[oracle@server1 ~]$ vi .bash_profile

在其中,新增類似配置資訊:
alias sqlplus='rlwrap sqlplus /nolog'

⑤至此,oracle在SHELL提示符下,只需要執行sqlplus就可以進入SQL*PLUS的命令列提示符,並且可以利用鍵盤的上下箭頭調出之前執行過的歷史命令。

這是在RHEL 5.4版本的作業系統上安裝時的簡單記錄,而之前沒遇到過類似的問題,故簡單記錄之。

即先安裝libtermcap-devel-2.0.8-46.1.i386.rpm

然後安裝 readline-devel-5.1-1.1.i386.rpm

最後安裝rlwrap工具包。

 





2014.07.28 16:15
share you knowledge with the world. 
 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12798004/viewspace-1240217/,如需轉載,請註明出處,否則將追究法律責任。

相關文章