首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Linux/Windows 下解決 SQL*Plus 無法使用方向鍵、退格鍵的方案:rlwrap

     編輯:Oracle 資料庫基礎

問題背景

原生 sqlplus 在終端機下不支援歷史指令回溯 (Up/Down)、游標左右移動、刪除鍵,操作極不便。

解決方案:rlwrap (Readline Wrapper)

rlwrap 利用 GNU Readline 庫包裝任何命令列程式,提供歷史紀錄、編輯、補全功能。

Linux 編譯安裝步驟

# 1. 下載最新版
wget https://utopia.knoware.nl/~hlub/uck/rlwrap/rlwrap-0.37.tar.gz

# 2. 解壓編譯
tar xvfz rlwrap-0.37.tar.gz
cd rlwrap-0.37
./configure --prefix=/usr/local/rlwrap
make && make install

# 3. 設定 Oracle 使用者別名
vim /home/oracle/.bash_profile
# 追加
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
export PATH=/usr/local/rlwrap/bin:$PATH

# 4. 重新登入或 source 生效
su - oracle
rlwrap sqlplus / as sysdba

Windows 替代方案

  • Git Bash / Cmder / Windows Terminal 內建 Readline 支援,直接執行 sqlplus 即可使用方向鍵。
  • 或安裝 win-rlwrap (GitHub 專案) 達到同樣效果。

驗證成果

SQL> SHOW USER
USER is "SYS"
SQL> -- 按 Up 鍵可回溯歷史指令,Left/Right 移動游標,Backspace 刪除

進階技巧

  • 歷史檔預設放在 ~/.sqlplus_history,可自訂 RLWRAP_HOME。
  • 搭配 rlwrap -c sqlplus 針對 SQL 關鍵字啟用 Tab 補全 (需額外詞庫)。
  • rman、adctrl 等互動式工具同樣受益。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved