初次安裝 Oracle 11g 後,使用 SYS 登入 SQL*Plus 提示 ORA-28000: the account is locked,本文說明鎖定成因、解鎖步驟與密碼重設最佳實務。
FAILED_LOGIN_ATTEMPTS 設定值(預設 10 次,由 Profile 控制)ALTER USER ... ACCOUNT LOCKPASSWORD_LIFE_TIME)且未在寬限期內變更DBA 權限的帳號登入(安裝時設定密碼的 SYSTEM 或 SYS AS SYSDBA)ALTER USER scott ACCOUNT UNLOCK;ALTER USER scott IDENTIFIED BY tiger;CONN scott/tigerSELECT username, account_status, lock_date, expiry_date FROM dba_users WHERE username = 'SCOTT';DEFAULT Profile 或建立專用 Profile,放寬 FAILED_LOGIN_ATTEMPTS、PASSWORD_LIFE_TIME、PASSWORD_GRACE_TIME 等參數SCOTT、HR、OE 等範例帳號,改建應用專用帳號並授予最小權限VERIFY_FUNCTION 強制複雜度,防止弱密碼誤區:
SYS密碼是預設CHANGE_ON_INSTALL
事實: 11g 起安裝精靈強制要求設定SYS/SYSTEM密碼,無預設值
SET LINES 200 PAGES 100
COL username FOR A20
COL account_status FOR A20
COL profile FOR A20
SELECT username, account_status, lock_date, expiry_date, profile
FROM dba_users
WHERE username IN ('SYS','SYSTEM','SCOTT','HR','OE','SH','PM','IX','BI');
定期執行上述查詢,納入巡檢清單,可提前發現帳號異常狀態。