Oracle用戶被鎖解決方法


原因/觸發因素

確定是由於oracle11g中默認在default概要文件中設置了“FAILED_LOGIN_ATTEMPTS=10次”,當輸入密碼錯誤次數達到設置值將導致此問題。

影響和風險

帳號被鎖定后,業務進程連接數據庫異常,影響業務使用。

問題發生頻率

數據庫帳號被鎖定后,業務進程一旦重啟會提示連接失敗。

解決方案

按照如下步驟進行操作:

1、查看用戶的proifle是哪個,一般是default:

sql>SELECT username,PROFILE FROM dba_users;

2、查看指定概要文件(如default)的密碼有效期設置:

sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='FAILED_LOGIN_ATTEMPTS';

3、將嘗試登錄失敗次數由默認的10次修改成“無限制”:

sql>ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;

4、修改后,還沒有被提示ORA-28000警告的用戶不會再碰到同樣的提示;

已經被鎖定的帳戶必須解除鎖定,舉例如下:

$sqlplus / as sysdba

sql> alter user 用戶名 identified by oracle account unlock;

5、修改后default profile應該如下:

sql> select * from dba_profiles WHERE dba_profiles.profile='DEFAULT';

PROFILE RESOURCE_NAME RESOURCE_TYPE LIMIT

------------------------------ -------------------------------- ------------- ----------------------

DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD UNLIMITED

DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED

 

修改之后不需要重啟動數據庫,會立即生效。


如果出現ORA-28000 the account is locked.錯誤

alter user 用戶名 account unlock;


免責聲明!

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



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