由于項目的一個bug,導致好幾個現(xiàn)網(wǎng)項目都出現(xiàn)了異常。
bug說明:
oracle11g,靜默安裝后用戶的密碼有效期默認設(shè)置為180天,180天后密碼將失效,oracle會提示要修改密碼。
我們項目用的是jdbc連接oracle數(shù)據(jù)庫,沒法自動處理oracle的這種密碼錯誤提示,直接就連接oracle失敗。
解決思路一:
定期修改數(shù)據(jù)庫用戶密碼。
解決思路二:
將數(shù)據(jù)庫密碼設(shè)置為永久有效。
思路一具有一定的安全保護作用,但由于業(yè)務(wù)不支持修改業(yè)務(wù)部件中的數(shù)據(jù)庫密碼配置(部件較多,修改過于麻煩,所以干脆要求不能修改,想想有點矬),于是決定采用思路二。
具體設(shè)置命令如下:
假定我們所使用的數(shù)據(jù)庫用戶為test,密碼為test123456
步驟一:登陸oracle所在的linux服務(wù)器(我們的oracle假設(shè)在linux服務(wù)器上),注意要用dba用戶。
步驟二:執(zhí)行'sqlplus / as sysdba'
步驟三:輸入'alter profile default limit password_life_time unlimited;'并回車
步驟四:輸入'alter user test identified by test123456;'
步驟五:輸入'quit;'退出sqlplus。
步驟六:重啟各個業(yè)務(wù)部件,一切OK。
需要注意的是,對于第四步,可能會失敗,因為oracle有可能設(shè)置了修改密碼時不能與歷史密碼重復(fù)的限制,我們可以先執(zhí)行以下命令去掉限制,然后再執(zhí)行第四步。雖然對于第四步而言設(shè)置前后密碼沒有改變,但卻是必要的嗎,實際測試中發(fā)現(xiàn)即使做了第三步處理,如果不執(zhí)行第四步,jdbc連接數(shù)據(jù)時依然會連接失敗。
'alter profile default limit password_reuse_max unlimited;'
'alter profile default limit password_reuse_time unlimited;'
在使用profile并想重復(fù)利用密碼的時,需要滿足如下條件
1)password_reuse_time和password_reuse_max都為unlimted的時候
可以隨便重置
2)當指定password_reuse_time和password_reuse_max其中一個,另外一個unlimted的時候
密碼永遠無法重置
3)當同時指定password_reuse_time和password_reuse_max的時候
在滿足password_reuse_max的時候,可以重置密碼
在同時滿足password_reuse_time和password_reuse_max的時候,可以重置密碼
在滿足password_reuse_time但從為更換過密碼的時候,也就是password_reuse_max一次也沒用的時候密碼無法重置.
上面這種處理方案是修復(fù)現(xiàn)網(wǎng)問題的彌補性措施,根本的要在oralce安裝的時候就去掉密碼有效期的限制。
總結(jié)
以上所述是小編給大家介紹的修改oracle密碼有效期限制的操作方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- Oracle用戶密碼過期和用戶被鎖的解決方法
- oracle密碼過期的徹底解決方案
- Oracle數(shù)據(jù)庫用戶的密碼過期時間如何修改為永不過期
- Oracle用戶密碼設(shè)為不過期的兩種方法
- Oracle 11g中密碼過期問題詳解
- Oracle 11G密碼180天過期后的修改方法
- ORA-28002 Oracle 11g存在密碼過期問題解決方案
- Oracle密碼過期如何取消密碼180天限制及密碼180天過期,賬號鎖住的問題