登入Oracle時出現ORA-28001: the password has expired 的錯誤。

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInEmail this to someonePrint this page

Oracle 11g 中的新帳號預設密碼逾時期限是180天,
如果超過180天仍未修改密碼,該帳號會被鎖定,因此無法再以此帳號登入。
(如果是某線上系統的資料庫登入帳號,該系統就GG惹!!)

此時若要驗證,可先用其他有權限的帳號sqlplus連接並登入Oracle後,
先在dba_users表中查詢該帳號的狀態:(在此使用測試帳號 “TEST_USER” )

可以看到ACCOUNT_STATUS的狀態是已逾時鎖定的狀態 EXPIRED & LOCKED,
如果是正常可使用的帳號,ACCOUNT_STATUS應顯示為OPEN。

此時可以查詢目前Oracle中的密碼逾時設定是幾天,輸入以下指令:

看來的確是預設的180天,此時可以選擇乖乖地修改密碼已逾時的帳號之密碼:

或者將Oracle的全域密碼逾時期限調整為無限制:

如此就不用再擔心密碼逾時的問題了!
 
(BUT!! BUT!! BUT!! 正式環境不建議設定為無限制!! 會有安全疑慮。)

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInEmail this to someonePrint this page

Leave a Reply

你的電子郵件位址並不會被公開。 必要欄位標記為 *