首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle 解鎖 SCOTT/TIGER 示範帳號完整步驟

     編輯:Oracle 資料庫相關知識

Oracle 預設範例綱要 SCOTT 常因密碼過期與帳號鎖定而無法登入。本文提供標準解鎖與重設密碼流程,適用 10g 至 21c 所有版本。

1. 確認帳號狀態

CONNECT sys AS sysdba;
SELECT username, account_status, lock_date, expiry_date
FROM dba_users
WHERE username = 'SCOTT';

典型輸出:ACCOUNT_STATUS = EXPIRED & LOCKED。

2. 解鎖帳號

ALTER USER scott ACCOUNT UNLOCK;

再次查詢:ACCOUNT_STATUS = EXPIRED(已解鎖但密碼仍過期)。

3. 以 SCOTT 登入觸發密碼變更

CONNECT scott/tiger@服務名;
-- 提示:ORA-28001: the password has expired
-- 輸入新密碼(可仍用 tiger 或自訂)
New password: tiger
Retype new password: tiger
-- 密碼已變更,連線成功

4. 驗證最終狀態

CONNECT sys AS sysdba;
SELECT username, account_status FROM dba_users WHERE username = 'SCOTT';
-- ACCOUNT_STATUS = OPEN

一鍵腳本(適用自動化部署)

-- unlock_scott.sql
CONNECT sys/<sys_password> AS sysdba
ALTER USER scott IDENTIFIED BY tiger ACCOUNT UNLOCK;
-- 若需變更密碼
-- ALTER USER scott IDENTIFIED BY new_strong_password ACCOUNT UNLOCK;
EXIT

補充:同步解鎖其他預設帳號

BEGIN
  FOR u IN (SELECT username FROM dba_users
            WHERE username IN ('SCOTT','HR','OE','SH','PM','IX','BI')
              AND account_status LIKE '%LOCKED%')
  LOOP
    EXECUTE IMMEDIATE 'ALTER USER ' || u.username || ' ACCOUNT UNLOCK';
  END LOOP;
END;
/

注意事項

  • 生產環境建議移除或永久鎖定 SCOTT 等示範帳號,降低攻擊面。
  • 若 PASSWORD_VERIFY_FUNCTION 啟用,新密碼需符合複雜度規則。
  • 12c+ 容器資料庫(CDB)需切換至正確 PDB:ALTER SESSION SET CONTAINER = pdb_name;。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved