oracle 用戶密碼提示過期——ORA-28002: 7 天之後口令將過期

借鑑:

http://www.cr173.com/html/37043_1.html

http://blog.csdn.net/dbagaoshou/article/details/8128213

 

原因:oracle11g中默認在default概要文件中設置了"PASSWORD_LIFE_TIME=180”所導致,oracle用戶的密碼必須在180天內更改,或則啓動數據庫的時候會提示連接失敗.

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 ;
修改之後不需要重啓動數據庫,會立即生效。

4. 重置密碼

alter user daxiong identified by daxiong;


另外的思路
查看用戶所屬的 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


其他相關參數:
select * from dba_profiles where profile='DEFAULT' and RESOURCE_NAME like 'PASSWORD%';

1 DEFAULT PASSWORD_LIFE_TIME                      PASSWORD 180
2 DEFAULT PASSWORD_REUSE_TIME                  PASSWORD UNLIMITED
3 DEFAULT PASSWORD_REUSE_MAX                  PASSWORD UNLIMITED
4 DEFAULT PASSWORD_VERIFY_FUNCTION       PASSWORD NULL
5 DEFAULT PASSWORD_LOCK_TIME                   PASSWORD 1
6 DEFAULT PASSWORD_GRACE_TIME                 PASSWORD 7

FAILED_LOGIN_ATTEMPTS 整數
設定登錄到Oracle 數據庫時可以失敗的次數。一旦某用戶嘗試登錄數據庫的達到該值時,該用戶的帳戶就被鎖定,只能由DBA能解鎖。
PASSWORD_LIFE_TIME
設定口令的有效時間(天數),一旦超過這一時間,必須重新設口令。缺省爲180天(11g,10gUNLIMITED).
PASSWORD_REUSE_TIME
許多系統不許用戶重新啓用過去用過的口令。該資源項設定了一個失效口令要經過多少天,用戶纔可以重新使用該口令。缺省爲UNLIMITED.
PASSWORD_REUSE_MAX
重新啓用一個先前用過的口令前必須對該口令進行重新設置的次數(重複用的次數)。
PASSWORD_LOCK_TIME
設定帳戶被鎖定的天數(當登錄失敗達到FAILED_LOGIN_ATTEMPTS時)。
PASSWORD_GRACE_TIME
設定在口令失效前,給予的重新設該口令的寬限天。當口令失效之後回,在登錄時會出現警告信息顯示該天數。如果沒有在寬限天內修改口令,口令將失效。
PASSWORD_VERITY_FUNCTION
該資源項允許調用一個PL/SQL 來驗證口令。Oracle公司已提供該應用 的腳本,但是隻要願意的話,用戶可以制定自己的驗證腳本。該參數的設定就是PL/SQL函數的名稱。缺省爲NULL.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章