使用 PL/SQL Developer 登入 SCOTT 等預設帳戶時遇到 ORA-28000: the account is locked。本文提供兩種解鎖方式:圖形介面操作 (適合新手) 與 SQL 命令 (適合腳本自動化)。
ORA-28000: the account is locked
SYS AS SYSDBA、SYSTEM) 登入LOCKED)-- 1. 以 SYSDBA 登入
CONN / AS SYSDBA
-- 2. 執行解鎖命令
ALTER USER scott ACCOUNT UNLOCK;
-- 3. (可選) 同時重設密碼
ALTER USER scott IDENTIFIED BY new_password ACCOUNT UNLOCK;
-- 4. 驗證狀態
SELECT USERNAME, ACCOUNT_STATUS FROM DBA_USERS WHERE USERNAME = 'SCOTT';
-- 應顯示 OPEN
| 原因 | 對應參數 | 預防建議 |
|---|---|---|
| 密碼過期 | PASSWORD_LIFE_TIME | 修改 Profile 設為 UNLIMITED 或延長天數 |
| 登入失敗次數過多 | FAILED_LOGIN_ATTEMPTS | 調大閾值、啟用帳戶鎖定時間 PASSWORD_LOCK_TIME |
| 管理員手動鎖定 | ALTER USER ... ACCOUNT LOCK | 建立操作審計、限制 DBA 權限 |
| 密碼驗證函數拒絕 | PASSWORD_VERIFY_FUNCTION | 檢查複雜度函數邏輯、提供符合規則的密碼 |