問題:使用DBeaver連接Oracle19c數據庫時,報錯:ORA-28000 賬號被鎖定。
錯誤原因
經排查發現,Oracle19c數據庫中設置了密碼最大錯誤次數為10次,超過10次后導致賬號被鎖定。
解決方法
- 查看用戶使用的概要文件名,一般為DEFAULT
select username,profile from dba_users;
- 查看概要文件中設置的密碼錯誤后限制的登錄次數
select * from dba_profiles where profile='DEFAULT' and resource_name='FAILED_LOGIN_ATTEMPTS';
- 將10次(默認)改為不受限制,改動后立即生效
alter profile default limit failed_login_attempts unlimited;
- 檢查已經被鎖定的用戶
select username,account_status from dba_users;
賬號的狀態大致被分為:OPEN(正常),LOCKED(通過SQL語句進行的鎖定),LOCKED(TIMED)(超過最大錯誤登錄次數被動鎖定),EXPIRED或者EXPIRED(GRACE)(密碼過期狀態),EXPIRED & LOCKED(TIMED)(密碼過期並超過了限制次數被鎖定)等。
- 解鎖被鎖定的賬戶
alter user c##zhra6 account unlock;
此時使用該賬號可以正常連接數據庫了!