共計 1355 個字符,預計需要花費 4 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
修改 oracle 密碼有效期限制的方法有哪些?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
bug 說明:
oracle11g,靜默安裝后用戶的密碼有效期默認設置為 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 安裝的時候就去掉密碼有效期的限制。
看完上述內容,你們掌握修改 oracle 密碼有效期限制的方法有哪些的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注丸趣 TV 行業資訊頻道,感謝各位的閱讀!
向 AI 問一下細節