修改oracle密碼有效期限制的兩種思路詳解

2022-09-21 10:09:06 字數 1572 閱讀 4789

由於專案的乙個bug,導致好幾個現網專案都出現了異常。

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並想重複利用密碼的時,需要滿足如下條件www.cppcns.com

1)password_reuse_time和password_reuse_max都為unlimted的時候

可以隨便重置

2)當指定pas程式設計客棧sword_reuse_time和password_reuse_max其中乙個,另外乙個unlimted的時候

密碼永遠無法重置

3)當同時指定pass程式設計客棧word_reuse_time和password_reuse_max的時候

在滿足password_reuse_max的時候,可以重置密碼

在同時滿足password_reuse_time和password_reuse_max的時候,可以重置密碼

在滿足password_reuse_time但從為更換過密碼的時候,也就是password_reuse_max一次也沒用的時候密碼無法重置.

上面這種處理方案是修復現程式設計客棧網問題的彌補性措施,根本的要在oralce安裝的時候就去掉密碼有效期的限制。

總結本文標題: 修改oracle密碼有效期限制的兩種思路詳解

本文位址: /shujuku/oracle/240123.html

修改oracle密碼有效期限制

oracle11g,靜默安裝後使用者的密碼有效期預設設定為180天,180天後密碼將失效,oracle會提示要修改密碼。我們專案用的是jdbc連線oracle 資料庫,沒法自動處理oracle的這種密碼錯誤提示,直接就連線oracle失敗。解決思路一 定期修改資料庫使用者密碼。解決思路二 將資料庫密...

phpcms如何設定登入有效期限

主要的控制這個時間的是這個函式 phpcms libs functions global.func.php sys auth 函式 字串加密 解密函式 param string txt 字串 param string operation encode為加密,decode為解密,可選引數,預設為enc...

oracle修改密碼有效期

步驟一 登陸oracle所在的linux伺服器或windows伺服器,注意要用管理員許可權。步驟二 sqlplus as sysdba 步驟三 輸入 alter profile default limit password life time unlimited 並回車 步驟四 輸入 alter u...