oracle密碼過期ORA-28002: 7天之後口令將過期的解決方法

dawn009發表於2014-09-22
登陸oracle資料庫時錯誤資訊提示:“ORA-28002: 7 天之後口令將過期”。
原因:oracle11g中預設在default概要檔案中設定了"PASSWORD_LIFE_TIME=180”所導致,oracle使用者的密碼必須在180天內更改,或則啟動資料庫的時候會提示連線失敗.
oracle 密碼過期的解決方法,按照如下步驟進行操作:
1、檢視使用者的proifle是哪個,一般是default:
sql>SELECT username,PROFILE FROM dba_users;
2、檢視指定概要檔案(如default)的密碼有效期設定:
sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
(如果這樣寫有可能提示“你未選中行”,其實這樣就行了
SELECT * FROM dba_profiles WHERE resource_name='PASSWORD_LIFE_TIME';
我的就是這樣)
3、將密碼有效期由預設的180天修改成“無限制”:
sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
如需更改為有限制的,如60天:
SQL>alter profile default limit PASSWORD_LIFE_TIME 60 ;
修改之後不需要重啟動資料庫,會立即生效。
 
 
 另外的思路
檢視使用者所屬的 profile ,一般為DEFAULT
SQL>select * from dba_profiles where resource_type='PASSWORD';
 
取消密碼管理:
SQL>alter profile DEFAULT limit unlimited;
如:
SQL>alter profile DEFAULT limit password_reuse_time unlimited;
停止密碼檢驗函式:
SQL>alter profile DEFAULT limit password_verify_function null;
建立 使用者 專用 profile:
CREATE PROFILE test LIMIT
SESSIONS_PER_USER       UNLIMITED
CPU_PER_SESSION          UNLIMITED
CPU_PER_CALL             3000
CONNECT_TIME             45
LOGICAL_READS_PER_SESSION   DEFAULT
LOGICAL_READS_PER_CALL     1000
PRIVATE_SGA             15K
COMPOSITE_LIMIT          5000000;
如需更改:
SQL>alter profile test limit PASSWORD_LIFE_TIME 60 ;
更改使用者profile

------&gt>

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

相關文章