天天看點

oracle賬戶鎖了怎麼解鎖,ORA-28000賬戶被鎖和解鎖-Oracle

今天測試庫有個賬戶的密碼忘了,試了十幾次就開始提示:

ERROR:

ORA-28000: the account is locked

意思明顯就是賬戶被鎖了,可能是使用者的資源設定中對密碼重試次數做了限制。

驗證:

SQL> select a.username, b.profile, b.resource_name, b.limit

2 from dba_users a, dba_profiles b

3 where a.username = ‘GALTTEST’ and a.profile = b.profile;

GALTTEST DEFAULT COMPOSITE_LIMIT UNLIMITED

GALTTEST DEFAULT SESSIONS_PER_USER UNLIMITED

GALTTEST DEFAULT CPU_PER_SESSION UNLIMITED

GALTTEST DEFAULT CPU_PER_CALL UNLIMITED

GALTTEST DEFAULT LOGICAL_READS_PER_SESSION UNLIMITED

GALTTEST DEFAULT LOGICAL_READS_PER_CALL UNLIMITED

GALTTEST DEFAULT IDLE_TIME UNLIMITED

GALTTEST DEFAULT CONNECT_TIME UNLIMITED

GALTTEST DEFAULT PRIVATE_SGA UNLIMITED

GALTTEST DEFAULT FAILED_LOGIN_ATTEMPTS 10

GALTTEST DEFAULT PASSWORD_LIFE_TIME 180

GALTTEST DEFAULT PASSWORD_REUSE_TIME UNLIMITED

GALTTEST DEFAULT PASSWORD_REUSE_MAX UNLIMITED

GALTTEST DEFAULT PASSWORD_VERIFY_FUNCTION NULL

GALTTEST DEFAULT PASSWORD_LOCK_TIME 1

GALTTEST DEFAULT PASSWORD_GRACE_TIME 7

确實如此,隻允許10次嘗試,之後賬戶就會被鎖。

解鎖方法很多,通過PLSQL Developer工具解鎖可能是最簡單、最直覺的。

1、用管理者賬戶登入PLSQL Developer(登入名可以為system,選擇類型的時候把Normal修改為Sysdba)。

2、左側選擇My Objects,檢視Users檔案夾。

3、選擇GALTTEST使用者,右擊點選”編輯“;

4、把“帳戶被鎖住”的勾去掉;(也可以修改密碼)。

5、點選“應用”再點選“關閉”;

6、重新登入就可以通過驗證了;

其實使用sqlplus指令行解鎖也很簡單,用管理者賬号sysdba角色登入,執行alter user GALTTEST account unlock;,即可解鎖。

另外,使用如下指令将profile的FAILED_LOGIN_ATTEMPTS屬性值修改也可以達到過濾重試次數的限制。

ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED

附:建立profile的SQL:

create profile test limit;