解決Linux上sqlplus中的backspace鍵及上下翻命令問題

作者 阿九【轉載時請務必以超鏈接形式標明文章原始出處和作者信息】 



解決Linux上sqlplus中的backspace鍵及上下翻命令問題



一、解決Backspace刪除功能。


在oracle的.bash_profile文件中添加如下內容

stty erase ^h

二、解決上下翻命令問題。

解決上下翻問題需要安裝一個工具。

uniread

下載地址:

http://sourceforge.net/projects/uniread/

 

再安裝uniread 前,還需要安裝其他4個工具。分別是perl、readline、Term、IO-Tty

在系統關盤中,找到 perl-5.8.8-27.el5.i386.rpm 和 readline-5.1-3.el5.i386.rpm 兩個包進行安裝。

 

如果系統光盤中沒有readline,可以在這裏下載

 

GNU readline

http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html

 

Term::ReadLine::Gnu

http://search.cpan.org/dist/Term-ReadLine-Gnu/

 

IO::Tty

http://search.cpan.org/dist/IO-Tty/

 

下載好後,先解壓

tar -xvzf Term-ReadLine-Gnu-1.20.tar.gz

tar -xvzf IO-Tty-1.10.tar.gz

進入各自目錄,分別執行

  perl Makefile.PL

  make

  make install

來進行安裝。

在安裝完這4個工具後。解壓uniread並安裝

tar -xzvf uniread-1.01.tar.gz

  perl Makefile.PL

  make

  make install

三、使用uniread

 

以oracle用戶執行

 

[oracle@sigle uniread-1.01]$ uniread sqlplus /nolog

[uniread] Loaded history (3 lines)

 

SQL*Plus: Release 10.2.0.4.0 - Production on 星期三 3月 21 23:41:19 2012

 

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

 

SQL>

 

編輯.bash_profile加入以下別名

#ALIAS

alias sq="uniread sqlplus /nolog"

alias sqlplus="uniread sqlplus"

alias rman="uniread rman"

 

四、有關的安全問題

    在oracle主目錄下有.bash_logout文件用戶用戶推出時執行的命令,相對於.bash_profile爲用戶登錄時執行的命令。可以編輯.bash_logout文件,刪除用戶主目錄下的.uniread文件夾下的sqlplus 或rman文件即可清除歷史記錄。刪除文件不影響下次uniread的使用,文件會自動創建。

rm -rf /home/oracle/.uniread/sqlplus

rm -rf /home/oracle/.uniread/rman

 

    使用uniread後記錄歷史命令,其中可能會涉及到一些用戶的密碼[如sqlplus test/test],可以採取交互式輸入。或者採取如下方式,當用戶退出時清空歷史記錄:
vi .bash_logout    #用戶退出登錄時,系統會執行的命令
> .uniread/sqlplus   #添加該行在/usr/bin/clear前即可
> .uniread/rman    #添加該行在/usr/bin/clear前即可
/usr/bin/clear
更爲高級的辦法可以自行編寫shell,shell的功能是去除上述兩個歷史記錄文件的中的sqlplus和conn等與密碼相關的行,oracle用戶註銷系統會話時,執行該shell,這樣一些與口令相關的內容會自動清除。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章