1. 程式人生 > 實用技巧 >ORA-28000 賬號被鎖定的解決辦法

ORA-28000 賬號被鎖定的解決辦法

ORA-28000 賬號被鎖定的解決辦法

錯誤場景:當使用sqlplus進行登入時報錯:ORA-28000 賬號被鎖定。
錯誤原因:由於oracle 11g 在預設在default概要檔案中設定了密碼最大錯誤次數為10,“FAILED_LOGIN_ATTEMPTS=10”,密碼錯誤的次數超過10次,賬號就會被鎖定。
解決方案:
1.檢視使用者使用的概要檔名,一般為DEFAULT

SQL> select username,profile from dba_users;

2.檢視概要檔案中設定的密碼錯誤後限制的登入次數

SQL> select * from dba_profiles where
profile='DEFAULT' and resource_name='FAILED_LOGIN_ATTEMPTS';

3.如圖,將10次(預設)改為不受限制,改動後立即生效

SQL> alter profile default limit failed_login_attempts unlimited; 

4.檢查已經被鎖定的使用者

SQL> select username,account_status from dba_users;

如圖,賬號的狀態大致被分為:OPEN(正常),LOCKED(通過SQL語句進行的鎖定),LOCKED(TIMED)(超過最大錯誤登入次數被動鎖定),EXPIRED或者EXPIRED(GRACE)(密碼過期狀態),EXPIRED & LOCKED(TIMED)(密碼過期並超過了限制次數被鎖定)等。

5.解鎖被鎖定的賬戶

SQL> alter user user_name account unlock;