Oracle 安裝預設會鎖定多個內建帳號(如 SCOTT、HR、OE 等),或因密碼錯誤超過限制導致帳號被鎖。DBA 需熟悉解鎖、鎖定、修改密碼的標準指令。
sqlplus / as sysdba
-- 或指定密碼
sqlplus sys/your_password as sysdba
ALTER USER scott ACCOUNT UNLOCK;
回傳 User altered. 即成功。
ALTER USER scott ACCOUNT LOCK;
ALTER USER scott IDENTIFIED BY new_password;
注意:Oracle 11g 區分大小寫,密碼建議包含大小寫、數字、特殊字元,長度 ≥ 8 碼。
CONNECT scott/new_password
-- 或
conn scott/new_password
顯示 Connected. 表示帳號正常可用。
BEGIN
FOR u IN (SELECT username FROM dba_users WHERE account_status = 'LOCKED' AND username IN ('SCOTT','HR','OE','SH','PM','IX','BI'))
LOOP
EXECUTE IMMEDIATE 'ALTER USER ' || u.username || ' ACCOUNT UNLOCK';
END LOOP;
END;
/
DBA_USERS:查看 ACCOUNT_STATUS 欄位(OPEN / LOCKED / EXPIRED / EXPIRED(GRACE))USER_USERS:當前使用者狀態DBA_USERS 異常狀態帳號。FAILED_LOGIN_ATTEMPTS、PASSWORD_LIFE_TIME 等密碼策略。