Oracle資料庫檢視使用者狀態

531968912發表於2016-04-01

一、當前ORACLE使用者的狀態可檢視檢視DBA_USERS;一般情況下在使用的正常使用者均處於OPEN狀態。
select username,account_status from dba_users;

二、ORACLE資料庫使用者有多種狀態,可檢視檢視USER_ASTATUS_MAP。
select * from user_astatus_map;

九種狀態可分為兩類:1.基本狀態;2.組合狀態。

前五種是基本狀態:0 OPEN、1 EXPIRED、2 EXPIRED(GRACE)、4 LOCKED(TIMED)、8 LOCKED
後四種是基本狀態:5 EXPIRED & LOCKED(TIMED)、6 EXPIRED(GRACE) & LOCKED(TIMED)、9 EXPIRED & LOCKED、10 EXPIRED(GRACE) & LOCKED
後四種的組合狀態可透過狀態號STATUS#獲得其狀態的兩個組合。掌握前五種即可。

三、五種基本狀態
五種基本狀態可分為三類:1.正常狀態;2.鎖定狀態;3.密碼過期狀態。
1、OPEN狀態表示使用者處於正常狀態。
2、LOCKED和LOCKED(TIMED)表示使用者被鎖定狀態。
使用者被鎖定有兩種:
一種是DBA顯式的透過SQL語句對使用者進行鎖定;
另一種是被動的鎖定,預設情況下如果密碼輸入錯誤超過10次。
該限制由PROFILE中的FAILED_LOGIN_ATTEMPTS控制,可檢視檢視DBA_PROFILES。
1)顯式鎖定使用者LOCKED:alter user [username] account lock;
2)輸入10次錯誤密碼後被動鎖定LOCKED(TIMED)

3、EXPIRED和EXPIRED(GRACE)表示使用者密碼過期狀態。
修改PROFILE中的PASSWORD_LIFE_TIME實現密碼是否過期:alter profile default limit password_life_time unlimited;
密碼過期後也可修改PROFILE中的PASSWORD_GRACE_TIME控制使用的天數:alter profile default limit password_grece_time 180;
對於密碼過期的使用者OPEN:alter user [username] identified by account unlock;

四、鎖定的兩種狀態[LOCKED和LOCKED(TIMED)]和密碼過期的兩種狀態[EXPIRED和EXPIRED(GRACE)]之間任意組合即2×2=4,因此有四種組合狀態。

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

相關文章