中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解讀Oracle用戶ACCOUNT_STATUS的九種狀態

發布時間:2021-11-05 16:28:11 來源:億速云 閱讀:157 作者:柒染 欄目:建站服務器

如何解讀Oracle用戶ACCOUNT_STATUS的九種狀態,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

DBA_USERS視圖中ACCOUNT_STATUS記錄的用戶的當前狀態,一般情況下在使用的正常用戶均處于OPEN狀態。
例如我們查看sec用戶的當前狀態,此時該用戶處于OPEN狀態,可以正常使用。
sys@ora10g> select username, account_status from dba_users where username = 'SEC';

USERNAME                       ACCOUNT_STATUS
------------------------------ --------------------------------
SEC                            OPEN

1.所有用戶狀態匯總
除了常用的OPEN狀態還有哪些用戶狀態?
這個信息可以通過USER_ASTATUS_MAP獲得。

sys@ora10g> select * From USER_ASTATUS_MAP;

   STATUS# STATUS
---------- --------------------------------
         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

9 rows selected.

用戶狀態不會超出以上九種。

2.九種狀態的分類
以上九種可以分為兩大類: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#獲得它是哪兩種狀態的組合,例如10=2+8(10 EXPIRED(GRACE) & LOCKED = 2 EXPIRED(GRACE) + 8 LOCKED)。因此只要了解基本狀態的含義其他便可無師自通。

3.五種基本狀態的詮釋
這五種基本狀態又可以分為三類:1.正常狀態;2.鎖定狀態;3.密碼過期狀態。
1)OPEN狀態不用多解釋,表示用戶處于正常狀態。

2)用戶被鎖定狀態,LOCKED和LOCKED(TIMED)兩種狀態都屬于鎖定狀態
用戶被鎖定一般分為兩種:一種是DBA顯式的通過SQL語句對用戶進行鎖定;另外一種是被動的鎖定,例如默認情況下如果密碼輸入錯誤超過10次(這個限制是由PROFILE中的FAILED_LOGIN_ATTEMPTS控制的,該信息可以通過DBA_PROFILES視圖查詢),用戶將被鎖定,有關被動鎖定的描述請參考文章《【故障】“ORACLE用戶被鎖定”故障處理和分析》(http://space.itpub.net/519536/viewspace-608769)。

(1)顯式鎖定sec用戶LOCKED狀態演示
sys@ora10g> alter user sec account lock;

User altered.

sys@ora10g> select username, account_status from dba_users where username = 'SEC';

USERNAME                       ACCOUNT_STATUS
------------------------------ --------------------------------
SEC                            LOCKED

(2)輸入10次錯誤密碼后被動鎖定LOCKED(TIMED)狀態演示
嘗試輸入10次錯誤密碼后再次查詢用戶狀態。
sys@ora10g> select username, account_status from dba_users where username = 'SEC';

USERNAME                       ACCOUNT_STATUS
------------------------------ --------------------------------
SEC                            LOCKED(TIMED)

3)用戶密碼過期狀態,EXPIRED和EXPIRED(GRACE)兩種狀態都屬于密碼過期狀態
密碼是否過期是通過修改PROFILE中的PASSWORD_LIFE_TIME實現的,密碼過期后還可以使用的天數是通過PROFILE中的PASSWORD_GRACE_TIME控制的。有關PROFILE的描述請參考文章《【PROFILE】使用Oracle的PROFILE對用戶資源限制和密碼限制的研究與探索》(http://space.itpub.net/519536/viewspace-616287)。

關于密碼過期我們也可以使用SQL顯式的去完成,簡單演示一下。
sys@ora10g> alter user sec password expire;

User altered.

sys@ora10g> select username, account_status from dba_users where username = 'SEC';

USERNAME                       ACCOUNT_STATUS
------------------------------ --------------------------------
SEC                            EXPIRED

sys@ora10g> conn sec/sec
ERROR:
ORA-28001: the password has expired


Changing password for sec
New password:
Retype new password:
Password changed
Connected.
sec@ora10g>
sec@ora10g> select username, account_status from dba_users where username = 'SEC';

USERNAME                       ACCOUNT_STATUS
------------------------------ --------------------------------
SEC                            OPEN

4.關于四種組合狀態的解釋
因為鎖定的兩種狀態(LOCKED和LOCKED(TIMED))和密碼過期的兩種狀態(EXPIRED和EXPIRED(GRACE))之間沒有關系。因此他們之間可以任意組合,2×2=4,因此有四種組合狀態:
         5 EXPIRED & LOCKED(TIMED)
         6 EXPIRED(GRACE) & LOCKED(TIMED)
         9 EXPIRED & LOCKED
        10 EXPIRED(GRACE) & LOCKED

分別解釋這四種組合狀態
1)EXPIRED & LOCKED(TIMED)狀態表示用戶過期后,錯誤密碼嘗試次數超過PROFILE中的FAILED_LOGIN_ATTEMPTS的限制;
2)EXPIRED(GRACE) & LOCKED(TIMED)狀態表示用戶在密碼過期后的有效期內,不成功登錄次數超過PROFILE中的FAILED_LOGIN_ATTEMPTS的限制;
3)EXPIRED & LOCKED狀態表示用戶過期的同時處于鎖定狀態,做一個實驗。
sec@ora10g> alter user sec account lock password expire;

User altered.

sec@ora10g> select username, account_status from dba_users where username = 'SEC';

USERNAME                       ACCOUNT_STATUS
------------------------------ --------------------------------
SEC                            EXPIRED & LOCKED

sec@ora10g> conn sec/sec
ERROR:
ORA-28000: the account is locked


Warning: You are no longer connected to ORACLE.

4)EXPIRED(GRACE) & LOCKED狀態表示用戶在密碼過期后的有效期內被DBA手工鎖定。

5.小結
Oracle用戶雖然有九種之多的狀態,貌似很復雜,但只要我們能夠對其進行清晰的劃分類別,理解起來便會很容易。
從正常、鎖定和密碼過期三個角度去理解用戶狀態,一切都會水到渠成。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

壤塘县| 长乐市| 鄂托克旗| 郎溪县| 峡江县| 安义县| 镶黄旗| 孟连| 贺州市| 建始县| 新沂市| 阿克苏市| 河南省| 娱乐| 化德县| 博兴县| 车险| 萨嘎县| 甘南县| 开江县| 华亭县| 科技| 长兴县| 泾阳县| 扶风县| 西乡县| 临武县| 乐陵市| 巢湖市| 合肥市| 榆树市| 阿勒泰市| 石河子市| 特克斯县| 扶绥县| 连城县| 方城县| 平定县| 杂多县| 青岛市| 吉木萨尔县|