/*
現象:
ORA-28001:the password has expired
原因:
由於Oracle11g中默認在default概要文件中設置了“PASSWORD_LIFE_TIME=180天”所致
影響:
數據庫密碼過期後,業務進程一旦重啓會提示連接失敗,影響業務使用
處理步驟:
如下操作
*/
1.在CMD命令窗口中輸入:
sqlplus 用戶名/密碼@數據庫本地服務名 as sysdba;
(通過配置後,數據庫本地服務名即PL/SQL連接的實例名)
2.查看用戶的proifle是哪個,一般是default
sql>SELECT username,PROFILE FROM dba_users;
3.查看對應的概要文件(如default)的密碼有效期設置:
sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
4.將概要文件(如default)的密碼有效期由默認的90天修改成“無限制”:
sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; ---修改之後不需要重啓動數據庫,會立即生效。
5.修改後,還沒有被提示ORA-28002警告的用戶賬號不會再碰到同樣的提示;而已經被提示的用戶賬號必須再改一次密碼,舉例如下:
$sqlplus / as sysdba
sql>alter user 用戶名 identified by <原來的密碼> account unlock; ----不用換新密碼
6.注意:oracle11g啓動參數resource_limit無論設置爲false還是true,密碼有效期都是生效的,所以必須通過以上方式進行修改.