首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle SCOTT用戶鎖定解鎖與密碼重置實戰

     編輯:Oracle 資料庫基礎

錯誤現象

ERROR:
ORA-28000: the account is locked

常見鎖定原因

  1. 連續登錄失敗超過FAILED_LOGIN_ATTEMPTS閾值(默認10次,由PROFILE控制)
  2. DBA手動執行ALTER USER SCOTT ACCOUNT LOCK
  3. 密碼過期(PASSWORD_LIFE_TIME到期)且未在寬限期內修改

解鎖標準流程

-- 1. 以具備ALTER USER權限的用戶登錄(通常是SYSTEM)
-- 注意:10g+ SYSTEM密碼為安裝時自定義,非默認MANAGER
CONN system/你的密碼

-- 2. 解鎖賬號
ALTER USER scott ACCOUNT UNLOCK;
-- 提示:User altered.

-- 3. 可選:重置密碼(建議同步執行)
ALTER USER scott IDENTIFIED BY new_password;
-- 提示:User altered.

-- 4. 驗證
CONN scott/new_password
-- Connected.

進階排查:為什麼SYSTEM也登不進去?

  • 10g/11g/12c/19c安裝向導強制要求設置SYS/SYSTEM密碼,不再使用默認值。
  • 若記不住安裝時設置的密碼,參考《Oracle SYSTEM用戶忘記密碼解決方案》(ID:94322)以SYSDBA身份重置。

防患未然:調整PROFILE策略

-- 查看SCOTT所用PROFILE
SELECT profile FROM dba_users WHERE username = 'SCOTT';
-- 通常為DEFAULT

-- 檢查鎖定相關參數
SELECT resource_name, limit
FROM dba_profiles
WHERE profile = 'DEFAULT'
  AND resource_type = 'PASSWORD'
  AND resource_name IN ('FAILED_LOGIN_ATTEMPTS','PASSWORD_LIFE_TIME','PASSWORD_GRACE_TIME');

-- 建議生產環境調整(示例)
ALTER PROFILE DEFAULT LIMIT
  FAILED_LOGIN_ATTEMPTS 5
  PASSWORD_LIFE_TIME 90
  PASSWORD_GRACE_TIME 7
  PASSWORD_LOCK_TIME 1;  -- 鎖定1天後自動解鎖(11g+)
提示:SCOTT為教學用戶,生產環境建議DROP USER SCOTT CASCADE或永久ACCOUNT LOCK+PASSWORD EXPIRE,僅在測試庫保留並設置簡單密碼策略。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved