【轉】ORACLE賬戶提示EXPIRED(GRACE)問題解決

來源:互聯網
上載者:User

標籤:必須   login   作品   自己   鎖定   修改使用者密碼   blog   alt   htm   

 

ORACLE賬戶提示EXPIRED(GRACE)問題解決

2013-01-30 15:09:24

標籤:oracle user

原創作品,允許轉載,轉載時請務必以超連結形式標明文章 原始出處 、作者資訊和本聲明。否則將追究法律責任。http://alexy.blog.51cto.com/6115453/1129751

最近一個奇怪現象為賬戶為EXPIRED(GRACE),查閱資料得知這是oracle11g安全的一個更新,類似系統帳號到期一樣。

1)查詢使用者狀態為

col username for a20 
col account_status for a20
SQL> select username,account_status,LOCK_DATE,EXPIRY_DATEfrom user_users;

USERNAME                        ACCOUNT_STATUS            LOCK_DATE            EXPIRY_DATE
-------------------- ---------------------------------- --------------
CBD                                EXPIRED(GRACE)                                            04-2月 -13

1)查詢表dba_profiles

SQL> SELECT *FROM DBA_PROFILES WHERE PROFILE=‘DEFAULT‘ AND RESOURCE_NAME LIKE ‘PASSWORD%‘;

PROFILE                            RESOURCE_NAME                                        RESOURCELIMIT
-------------------- -------------------------------- ------------------------------------------------
DEFAULT                            PASSWORD_LIFE_TIME                            PASSWORD 180
DEFAULT                            PASSWORD_REUSE_TIME                            PASSWORDUNLIMITED
DEFAULT                            PASSWORD_REUSE_MAX                            PASSWORD UNLIMITED
DEFAULT                            PASSWORD_VERIFY_FUNCTION                PASSWORD NULL
DEFAULT                            PASSWORD_LOCK_TIME                            PASSWORD 1
DEFAULT                            PASSWORD_GRACE_TIME                            PASSWORD7

6 rows selected.

SQL>

解釋如下:

FAILED_LOGIN_ATTEMPTS整數設定登入到Oracle 資料庫時可以失敗的次數。一旦某使用者嘗試登入資料庫的達到該值時,該使用者的帳戶就被鎖定,只能由DBA能解鎖。
PASSWORD_LIFE_TIME        設定口令的有效時間(天數),一旦超過這一時間,必須重新設口令。預設為UNLIMITED.
PASSWORD_REUSE_TIME     許多系統不許使用者重新啟用過去用過的口令。該資源項設定了一個失效口令要經過多少天,使用者才可以重新使用該口令。預設為UNLIMITED.
PASSWORD_REUSE_MAX        重新啟用一個先前用過的口令前必須對該口令進行重新設定的次數(重複用的次數)。
PASSWORD_LOCK_TIME        設定帳戶被鎖定的天數(當登入失敗達到FAILED_LOGIN_ATTEMPTS時)。
PASSWORD_GRACE_TIME     設定在口令失效前,給予的重新設該口令的寬限天。當口令失效之後回,在登入時會出現警告資訊顯示該天數。如果沒有在寬限天內修改口令,口令將失效。                        
PASSWORD_VERITY_FUNCTION 該資源項允許調用一個PL/SQL 來驗證口令。Oracle公司已提供該應用 的指令碼,但是只要願意的話,使用者可以制定自己的驗證指令碼。該參數的設定就是PL/SQL函數的名稱。預設為NULL.

2)預設有效期間為180天

SQL> select *from dba_profiles where profile=‘DEFAULT‘ andresource_name=‘PASSWORD_LIFE_TIME‘;

PROFILE                                                        RESOURCE_NAME                                                                                RESOURCELIMIT
-------------------- -------------------------------- ------------------------------------------------
DEFAULT                                                        PASSWORD_LIFE_TIME                                                        PASSWORD 180

SQL>

2)預設寬限時間為7天

SQL> SELECT *FROM dba_profiles s WHERE s.profile=‘DEFAULT‘ ANDresource_name=‘PASSWORD_GRACE_TIME‘;

PROFILE                            RESOURCE_NAME                RESOURCE_TYPE        LIMIT
-------------------- -------------------- ---------------- --------------------
DEFAULT                            PASSWORD_GRACE_TIME    PASSWORD                7
SQL>

3)修改預設有效期間天數為無限

SQL>ALTER PROFILE DEFAULT LIMITPASSWORD_LIFE_TIME UNLIMITED;

使用者已更改。
SQL>

4)修改預設寬限期限

SQL>ALTERPROFILE DEFAULT LIMIT PASSWORD_GRACE_TIME UNLIMITED;
使用者已更改。
SQL>

5)修改使用者密碼為原來密碼(假設當前密碼為CBD_abc)

SQL>ALTER USERCBS IDENTIFIED BY CBD_123;

使用者已更改。
SQL>

6)查看使用者當期那狀態

SQL> selectusername,account_status,LOCK_DATE,EXPIRY_DATE from user_users;

USERNAME                        ACCOUNT_STATUS            LOCK_DATE            EXPIRY_DATE
-------------------- -------------------- -------------- --------------
cbd                                    OPEN

SQL>

到此,賬戶到期問題解決。

關於帳號狀態問題補充

1)查詢使用者概要檔案情況

SQL> SELECTusername,PROFILE FROM dba_users where username like ‘CBD%‘;

USERNAME                                    PROFILE
------------------------- --------------------
    CBD                                        DEFAULT

SQL>

2)帳號有多少中狀態?

SQL> 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
                10EXPIRED(GRACE) & LOCKED

10類狀態說明:

五種基本狀態可分為三類:

  • 正常狀態;
  • 鎖定狀態;
  • 密碼到期狀態。

1、OPEN狀態表示使用者處於正常狀態。
2、LOCKED和LOCKED(TIMED)表示使用者被鎖定狀態。有如下兩種情況:

  • DBA顯式的通過SQL語句對使用者進行鎖定;
  • 被動的鎖定,預設情況下如果密碼輸入錯誤超過10次鎖定;

該限制由PROFILE中的FAILED_LOGIN_ATTEMPTS控制,可查看視圖DBA_PROFILES。
DBA顯式鎖定使用者LOCKED
  alter user [username] account lock;
輸入10次錯誤密碼後被動鎖定LOCKED(TIMED)
  這個限制是由PROFILE中的FAILED_LOGIN_ATTEMPTS控制的,該資訊可以通過DBA_PROFILES視圖查詢

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:a
    alter user [username] identified by <password>account unlock;

 

推薦文章:

http://blog.csdn.net/kai27ks/article/details/6270350

http://hi.baidu.com/nonyi_com/item/f29f10720eae1c41ee1e534a

本文出自 “Focus on Oracle” 部落格,請務必保留此出處http://alexy.blog.51cto.com/6115453/1129751

 

【轉】ORACLE賬戶提示EXPIRED(GRACE)問題解決

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.