在Linux服務器下登錄Oracle的控制台,如果輸入錯誤,想用刪除鍵刪除時卻不能刪除,打出的是^H的字符。
方法1:
用如下的命令可以使刪除鍵生效:
$ stty erase ^H
- 1
- 1
恢復以前的設置的命令是:
$ stty erase ^?
- 1
- 1
方法2:
利用rlwrap工具解決:
1、安裝rlwrap和readline庫
CentOS下可以用EPEL的yum源直接安裝,步驟如下:
(1)RHEL/CentOS/SL linux 6.x 下安裝 EPEL6 yum源:
32位系統選擇:
# rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
- 1
- 1
64位系統選擇:
# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
- 1
- 1
導入key:
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
- 1
- 1
默認會在/etc/yum.repos.d/下創建epel.repo和epel-testing.repo兩個配置文件。
(2)安裝rlwrap和readline:
# yum install rlwrap readline readline-devel
- 1
- 1
其他Linux發行版如果源里沒有rlwrap和readline的(如SUSE企業版默認沒有這兩個包),要分別下載這兩個源碼包編譯安裝一下。
# wget ftp://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 # wget http://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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
(3)設置sqlplus的系統別名:
# vim /home/oracle/.bash_profile
- 1
- 1
在頭部或尾部添加:
alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman'
- 1
- 2
- 1
- 2
退出oracle用戶再重新登錄就ok了。