Oracle 11g 安裝完成後,範例帳號 SCOTT、HR、OE 等預設為 LOCKED 狀態,需由 DBA 手動解鎖並設定密碼才能使用。
Win+R → 輸入 cmd → Enter
C:\> sqlplus sys/your_sys_password AS SYSDBA
成功會顯示連線資訊:
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
SQL> ALTER USER scott ACCOUNT UNLOCK;
User altered.
SQL> ALTER USER scott IDENTIFIED BY tiger;
User altered.
SQL> CONNECT scott/tiger
Connected.
BEGIN
FOR u IN (SELECT username FROM dba_users
WHERE account_status = 'LOCKED'
AND username IN ('SCOTT','HR','OE','SH','PM','IX','BI','MDDATA','SPATIAL_CSW_ADMIN_USR','SPATIAL_WFS_ADMIN_USR'))
LOOP
EXECUTE IMMEDIATE 'ALTER USER ' || u.username || ' ACCOUNT UNLOCK';
-- 可選:設定預設密碼(生產環境請改為強密碼)
EXECUTE IMMEDIATE 'ALTER USER ' || u.username || ' IDENTIFIED BY ' || u.username || '_pwd123';
END LOOP;
END;
/
SELECT username, account_status, lock_date, expiry_date
FROM dba_users
WHERE username IN ('SCOTT','HR','OE','SH','PM','IX','BI');
EXPIRED 或 EXPIRED(GRACE),需同步執行 ALTER USER ... IDENTIFIED BY ... 重設密碼即可自動解鎖。ORA-28001: the password has expired,首次登入會強制修改密碼。