修改oracle密碼有效期限制


racle11g,靜默安裝后用戶的密碼有效期默認設置為180天,180天后密碼將失效,oracle會提示要修改密碼。
 
我們項目用的是jdbc連接oracle 數據庫,沒法自動處理oracle的這種密碼錯誤提示,直接就連接oracle失敗。
 
解決思路一:
定期修改數據庫用戶密碼。
 
解決思路二:
將數據庫密碼設置為永久有效。
 
思路一具有一定的安全保護作用,但由於業務不支持修改業務部件中的數據庫密碼配置(部件較多,修改過於麻煩,所以干脆要求不能修改,想想有點矬),於是決定采用思路二。
 
具體設置命令如下:
假定我們所使用的數據庫用戶為test,密碼為test123456
步驟一:登陸oracle所在的linux服務器(我們的oracle假設在linux服務器上),注意要用dba用戶。
 
步驟二:執行'sqlplus / as sysdba'
步驟三:輸入'alter profile default limit password_life_time unlimited;'並回車
步驟四:輸入'alter user test identified by test123456;'
步驟五:輸入'quit;'退出sqlplus。
步驟六:重啟各個業務部件,一切OK。
 
需要注意的是,對於第四步,可能會失敗,因為oracle有可能設置了修改密碼時不能與歷史密碼重復的限制,我們可以先執行以下命令去掉限制,然后再執行第四步。雖然對於第四步而言設置前后密碼沒有改變,但卻是必要的嗎,實際測試中發現即使做了第三步處理,如果不執行第四步,jdbc連接數據時依然會連接失敗。
 
'alter profile default limit password_reuse_max unlimited;'
'alter profile default limit password_reuse_time unlimited;'
 
 在使用profile並想重復利用密碼的時,需要滿足如下條件
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一次也沒用的時候密碼無法重置. 
 
上面這種處理方案是修復現網問題的彌補性措施,根本的要在oralce安裝的時候就去掉密碼有效期的限制。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM