【inux作業系統下的oracle資料庫在sqlplus下呼叫vi編輯器方法】

不一樣的天空w發表於2016-11-16
在oracle的sqlplus下,編輯上一條命令時,使用“ed”或“edit”命令,來操作。
但有時,會得到以下的結果:
例:
SQL> select count( * ) from dual;

  COUNT(*)
----------
         1

SQL> ed
Wrote file afiedt.buf
30
我們先鍵入“q”退出ed命令:
SQL> ed
Wrote file afiedt.buf
30
q

  1* select count( * ) from dual
SQL> 


出現此原因,說明Oracle的預設編輯器沒有設定。由於本人的oracle使用平臺是在linux下,所以,使用vi,作為預設編輯器。設定方法如下:
 
第1種方式:設定作業系統的環境變數“EDITOR”為“vi”。
在使用oracle的使用者環境變數配置檔案.bash_profile中,在結尾增加以下一行:
export EDITOR=vi    #注意,“=”號兩邊不能有空格,“EDITOR”要大寫。
儲存,退出。
使用命令:
. .bash_profile
使命令生效。
或,直接在linux命令列下,執行:
[oracle@wang ~]$ export EDITOR=vi
使命令生效。

第2種方式:設定oracle變數“DEFINE_EDITOR”為"vi"。
在$ORALCE_HOME/sqlplus/admin/glogin.sql檔案的最後,增加以下一行:
DEFINE_EDITOR=vi
儲存,退出。
或,直接在SQL命令列下,執行:
SQL> DEFINE_EDITOR=vi
這樣,我們再次使用ed命令時,效果為:
SQL> select count( * ) from dual;

  COUNT(*)
----------
         1

SQL> ed
select count( * ) from dual
/
此時,就可以用vi命令,來正常編輯上一條命令了。
儲存,退出後,使用命令“/”,來執行編輯好的命令。

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

相關文章