【Oracle】使用者密碼過期處理

bitifi發表於2016-03-04
開發登入資料庫時報如下錯誤:
ERROR:ORA-28002: the password will expire within 7 days
       原來Oracle 11g 之前預設的profile是沒有密碼過期的限制的,在Oracle 11g 中預設的profile啟用了密碼過期時間是180天,去除這個限制便可。
查詢預設的profile的密碼過期引數的設定
sys@yangdb>select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
PROFILE  RESOURCE_NAME        RESOURCE LIMIT
-------  ------------------   -------- ------
DEFAULT  PASSWORD_LIFE_TIME   PASSWORD 180

設定default profile密碼永不過期,立即生效,不需重啟
sys@yangdb>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
Profile altered.
對於已經過期的,要重新設定密碼,可以和之前的密碼一樣
sys@yangdb>alter user APP identified by xxxapp;
User altered.

順便解釋一下和密碼相關的引數:
sys@yangdb>select * from dba_profiles where profile='DEFAULT' and RESOURCE_NAME like 'PASSWORD%';
PROFILE                        RESOURCE_NAME                    RESOURCE LIMIT
------------------------------ -------------------------------- -------- -----------
DEFAULT                        FAILED_LOGIN_ATTEMPTS            PASSWORD 10
DEFAULT                        PASSWORD_LIFE_TIME               PASSWORD UNLIMITED
DEFAULT                        PASSWORD_REUSE_TIME              PASSWORD UNLIMITED
DEFAULT                        PASSWORD_REUSE_MAX               PASSWORD UNLIMITED
DEFAULT                        PASSWORD_VERIFY_FUNCTION         PASSWORD NULL
DEFAULT                        PASSWORD_LOCK_TIME               PASSWORD 1
DEFAULT                        PASSWORD_GRACE_TIME              PASSWORD 7
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.

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

相關文章