ORA-28000: the account is locked-的解決辦法


現在用oracle11g,可是過段時間用戶就被鎖了郁悶了很久,后來在網上查詢知道,原來oracle有登錄失敗次數failed_login_attempts限制,超過指定的次數后就會自動鎖了

解決方法:

修改參數failed_login_attempts=unlimited;

SQL>sqlplus /nolog

SQL>conn sys/sys as sysdba;

一、解鎖:

SQL>alter user username account  unlock;

SQL>commit;

二、修改登錄失敗次數限制:

1. 查詢failed_login_attempts參數默認值:(備注:9i環境中此參數的值為unlimited)

SQL>conn /as sysdba

Connected.

SQL> desc dba_profiles;
名稱 是否為空  類型
----------------------------------------- -------- --------------

PROFILE NOT NULL VARCHAR2(30)
RESOURCE_NAME NOT NULL VARCHAR2(32)
RESOURCE_TYPE VARCHAR2(8)
LIMIT VARCHAR2(40)

SQL> select resource_name,limit from dba_profiles where resource_name='FAILED_LOGIN_ATTEMPTS';

RESOURCE_NAME LIMIT
-------------------------------- ----------------------------------------
FAILED_LOGIN_ATTEMPTS 10

查詢FAILED_LOGIN_ATTEMPTS值為10,也就是說從第一次登錄失敗開始計算,連續登陸失敗的次數。而不是累計失敗的次數

2.修改FAILED_LOGIN_ATTEMPTS的值

 

SQL> alter profile default limit failed_login_attempts unlimited;

 

配置文件已更改

 

SQL> select resource_name,limit from dba_profiles where resource_name='FAILED_LO
GIN_ATTEMPTS';

 

RESOURCE_NAME LIMIT
-------------------------------- ----------------------------------------
FAILED_LOGIN_ATTEMPTS UNLIMITED

可以用 select NAME,LCOUNT from user$語句來查詢當前失敗的次數。user$為視圖dba_users的基表,通常可以查詢一下視圖對應的基表,oracle可能會隱藏一些參數。

 

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

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



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