今天發現服務器上的Oracle11g突然登錄不上去了,提示ORA-28002錯誤,說是口令過期。
不當DBA還真不知道Oracle有這神秘功能。
上網上一查,有類似遭遇的朋友在論壇上求助,人家讓他找DBA。汗。。。
好在有的DBA樂于分享,終于找到了解決方案:
1. 用DBA賬戶登錄SQL PLUS。我用的是sysman。
2. 系統會提示口令失效,但是會馬上讓你重置新密碼。
3. 重置之后,進入SQL PLUS控制臺。
4. 查看口令失效用戶的profile文件
SQL>SELECT username,profile FROM dba_users;
EM(Web界面的控制臺):服務器>用戶,查看口令失效的用戶對應的概要文件,這里假設為DEFAULT,下同。
5.
查看對應的概要文件的口令有效期設置
SQL>SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
EM(Web界面的控制臺):服務
器>概要文件>選擇剛剛查到的概要文件DEFAULT>查看,查看口令下面的有效期值。
6.將口令有效期默認值180天
修改成“無限制”(此項要慎重!除非你真得不想要這個密碼失效的機制?。?/span>
SQL>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
EM:服務器>概要文件>選擇剛剛查到的概要文件DEFAULT>編輯>口令,在有效期輸入
或選擇你需要的值,保存。
該參數修改實時生效。
出于數據庫安全性考慮,不建議將PASSWORD_LIFE_TIME值設置
成UNLIMITED,即建議客戶能夠定期修改數據庫用戶口令。

在修改PASSWORD_LIFE_TIME值之前已經失效的用戶,還是需
要重新修改一次密碼才能使用。
SQL>ALTER USER test INDENTIFIED BYpassword
也可以從SQL Developer 里面來修改用戶的密碼,用sysman賬戶登錄以后,找到數據庫中的其他用戶節點,展開,找到你要修改密碼的用戶。然后編輯用戶,對用戶密碼進行重置,如下圖: