一直在使用Oracle數(shù)據(jù)庫,各種語句、注意一大堆,一不留神就沾染上了連接錯(cuò)誤。
最近,碰到的需要注意的地方,就是每隔一段時(shí)間需要更新啟用新的用戶密碼,否則連接錯(cuò)誤,提示也很明顯,總不過是密碼過期的意思。
但是工作中,因?yàn)闆]有專門的數(shù)據(jù)庫維護(hù),所以密碼神馬的,總是用一個(gè)。所以,想要避免這種麻煩。需要用SQL語句修改Oracle的參數(shù)。
更新密碼:alter user system identified by sa;
其中system是用戶名稱,sa是用戶密碼,可以啟用新的密碼,也可以保持原有密碼。
修改密碼保護(hù)周期:alter profile default limit password_life_time unlimited;
這樣,可以無限期的使用同一個(gè)密碼,一般在DBA權(quán)限下修改。
11g oracle 用戶密碼過期問題
Oracle 11g 之前默認(rèn)的用戶時(shí)是沒有密碼過期的限制的,在Oracle 11g 中默認(rèn)的profile啟用了密碼過期時(shí)間是180天。如下:
select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
過期的密碼可用alter user userXXX identified by xxx;解決,可以修改為和以前一樣。
如果想設(shè)置密碼不過期,可用管理員登陸,然后執(zhí)行:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
即可。
其他相關(guān)參數(shù):
select * from dba_profiles where profile='DEFAULT' and RESOURCE_NAME like 'PASSWORD%';
FAILED_LOGIN_ATTEMPTS 整數(shù)
設(shè)定登錄到Oracle 數(shù)據(jù)庫時(shí)可以失敗的次數(shù)。一旦某用戶嘗試登錄數(shù)據(jù)庫的達(dá)到該值時(shí),該用戶的帳戶就被鎖定,只能由DBA能解鎖。
PASSWORD_LIFE_TIME
設(shè)定口令的有效時(shí)間(天數(shù)),一旦超過這一時(shí)間,必須重新設(shè)口令。缺省為180天(11g,10gUNLIMITED).
PASSWORD_REUSE_TIME
許多系統(tǒng)不許用戶重新啟用過去用過的口令。該資源項(xiàng)設(shè)定了一個(gè)失效口令要經(jīng)過多少天,用戶才可以重新使用該口令。缺省為UNLIMITED.
PASSWORD_REUSE_MAX
重新啟用一個(gè)先前用過的口令前必須對該口令進(jìn)行重新設(shè)置的次數(shù)(重復(fù)用的次數(shù))。
PASSWORD_LOCK_TIME
設(shè)定帳戶被鎖定的天數(shù)(當(dāng)?shù)卿浭∵_(dá)到FAILED_LOGIN_ATTEMPTS時(shí))。
PASSWORD_GRACE_TIME
設(shè)定在口令失效前,給予的重新設(shè)該口令的寬限天。當(dāng)口令失效之后回,在登錄時(shí)會出現(xiàn)警告信息顯示該天數(shù)。如果沒有在寬限天內(nèi)修改口令,口令將失效。
PASSWORD_VERITY_FUNCTION
該資源項(xiàng)允許調(diào)用一個(gè)PL/SQL 來驗(yàn)證口令。Oracle公司已提供該應(yīng)用 的腳本,但是只要愿意的話,用戶可以制定自己的驗(yàn)證腳本。該參數(shù)的設(shè)定就是PL/SQL函數(shù)的名稱。缺省為NULL.
oracle 11g 用戶密碼180天過期解決方法
alter profile default limit password_life_time unlimited;
select * dba_profiles where profile=‘DEFAULT’ and resource-name=‘PASSWORD_LlFE_TIME’;
oracle 11g 180天密碼
查詢密碼過期時(shí)間
select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
設(shè)置密碼用不過期
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
重置密碼
alter user ccc identified by ddd;