Oracle 10G 新特性--SQLPLUS的改進

Dodd發表於2008-02-25

 

在長時間使用9isqlplus的時候,我們不能夠直接看到當前登入sqlplus的使用者是什麼?登入的主機是什麼?我們需要通過查詢語句來解決。在10gsqlplus中,你可以通過設定在SQL>提示標識中增加這些資訊了:


SQL> set sqlprompt "_user _privilege> "


通過以上設定,你的sqlplus提示標識就成了以下格式了:


SYS AS SYSDBA>

這就表明當前的登入帳號是SYS,身份是SYSDBA。請注意在上面語句中使用了兩個特殊的預定義道德變數:

_user_privilege,分別定義了當前使用者和這個使用者的登入身份(許可權)。

 

現在我們再增加一些其他內容。比如我除了想知道以上資訊外,還想知道當前的登入的是哪一個伺服器:
SQL>set sqlprompt "_user _privilege @ _connect_identifier>"

SYS AS SYSDBA @ test201>


再增加一個連線資訊看,這樣就可以指出你登入的時間:
SQL>set sqlprompt "_user _privilege on _date @ _connect_identifier>"
SYS AS SYSDBA on 25-FEB-08 @ test201>


但是前面的當前時間資訊只有日期,如果需要精確到當前的確切時間呢:
SYS AS SYSDBA on 25-FEB-08 @ test201>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

會話已更改。
SYS AS SYSDBA on 2008-02-25 13:39:05 @ test201>

只要將上面的內容存在$ORACLE_HOME/sqlplus/glogin.sql中,那每次登入的提示資訊都是你所需要的了。

 

--The End--

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

相關文章