Oracle資料使用者密碼過期處理方法

Z少校發表於2020-02-26

Oracle資料庫如果沒有指定配置profile,那麼通常使用者所使用的時預設的profile,名稱為DEFAULT,而在預設的profile中規定了每個使用者口令的有效期為180天,查詢方式如下:

SQL>SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

PS:如果在資料庫中使用者配置了指定的自定義配置的profile,那麼將DEFAULT改為指定的名稱。

如果在資料庫上線後使用預設的profile:DEFAULT,那麼在資料庫執行超過180天后沒有進行使用者口令重置,就會在連結資料庫使用者時報錯:ORA-28002。此時可將密碼重置或者將使用者密碼設定為不過期的裝填。

Oracle資料庫使用者口令永不過期設定方法:

以下步驟以具有DBA許可權使用者操作

1.檢視口令失效使用者的profile檔案

SQL>SELECT username,profile FROM dba_users;

2.檢視對應的概要檔案的口令有效期設定

SQL>SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

3.將口令有效期預設值180天修改成“無限制”

SQL>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

該引數修改實時生效。

注意:
出於資料庫安全性考慮,不建議將PASSWORD_LIFE_TIME值設定成UNLIMITED,即建議客戶能夠定期修改資料庫使用者口令。
在修改PASSWORD_LIFE_TIME值之前已經失效的使用者,還是需要重新修改一次密碼才能使用。

SQL>alter user user_name identified by password;
查詢dba_users的account_status欄位,它有以下值

ACCOUNT_STATUS
OPEN

EXPIRED --這個狀態表示已經過期了

EXPIRED(GRACE)
LOCKED(TIMED)
LOCKED
EXPIRED & LOCKED(TIMED)
EXPIRED(GRACE) & LOCKED(TIMED)
EXPIRED & LOCKED
EXPIRED(GRACE) & LOCKED


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

相關文章