在oracle database 11g中,默認在default概要文件中設置了“PASSWORD_LIFE_TIME=180天”所導致。密碼過期后,業務進程連接數據庫異常,影響業務使用。數據庫密碼過期后,業務進程一旦重啟會提示連接失敗。注:Oracle 11g啟動參數resource_limit無論設置為false還是true,密碼有效期都是生效的,所以必須通過以下方式進行修改:
1.查看用戶的proifle是哪個(一般是default):
SQL> select username,profile from dba_users where username='user_name';
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;
修改后不需要重啟數據庫,修改將立即生效。
注意:修改后,還沒有被提示ORA-28002警告的賬戶不會再碰到同樣的問題,已經被提示的用戶仍需要再修改一次密碼,方法如下:
SQL> alter user user_name identified by password; --這里的password使用原來的密碼即可
一個特殊的ora-28002錯誤:
注意到SQL語句中包含dblink(紅框部分),故將dblink所屬的用戶的密碼重置即可。
SQL> alter profile default limit password_life_time unlimited; SQL> alter user dblinkusr identified by efutureone;