Oracle 安裝預設建立多個內建帳號,部分預設密碼已公開文件化,但 11g 起安裝精靈強制要求設定 SYS/SYSTEM 密碼,不再有通用預設值。本文整理歷史版本預設密碼表、帳號鎖定成因、SYS AS SYSDBA 緊急解鎖流程、生產環境帳號安全基線。
| 用戶名 | 預設密碼 | 角色/用途 | 備註 |
|---|---|---|---|
| SYS | CHANGE_ON_INSTALL | 資料庫最高管理員 | 11g+ 安裝時自訂,**無通用預設值** |
| SYSTEM | MANAGER | 次級管理員 | 11g+ 安裝時自訂 |
| SCOTT | TIGER | 範例用戶 | 預設鎖定、過期 |
| DBSNMP | DBSNMP | Enterprise Manager 監控代理 | |
| SYSMAN | CHANGE_ON_INSTALL | EM 管理伺服器帳號 | |
| CTXSYS | CTXSYS | Oracle Text | |
| MDSYS | MDSYS | Oracle Spatial | |
| ORDSYS | ORDSYS | Oracle interMedia | |
| OUTLN | OUTLN | Plan Stability | |
| OLAPSYS | MANAGER | OLAP 目錄擁有者 |
FAILED_LOGIN_ATTEMPTS(預設 10)PASSWORD_LIFE_TIME)未在寬限期內變更ALTER USER ... ACCOUNT LOCK-- 1. OS 認證登入(屬於 ORA_DBA 群組的用戶)
sqlplus / AS SYSDBA
-- 2. 或密碼認證(知道 SYS 密碼)
sqlplus sys/password AS SYSDBA
-- 3. 解鎖帳號
ALTER USER scott ACCOUNT UNLOCK;
-- 4. 重設密碼
ALTER USER scott IDENTIFIED BY new_password;
-- 5. 驗證
CONN scott/new_password
SET LINES 200 PAGES 100
COL username FOR A20
COL account_status FOR A20
COL profile FOR A15
COL lock_date FOR A20
COL expiry_date FOR A20
SELECT username, account_status, lock_date, expiry_date, profile
FROM dba_users
WHERE username IN (
'SYS','SYSTEM','SCOTT','DBSNMP','SYSMAN','CTXSYS','MDSYS',
'ORDSYS','OUTLN','OLAPSYS','HR','OE','SH','PM','IX','BI','ANONYMOUS','XDB','APEX_PUBLIC_USER'
)
ORDER BY username;
ALTER USER hr ACCOUNT LOCK PASSWORD EXPIRE;CREATE PROFILE secure_profile LIMIT PASSWORD_VERIFY_FUNCTION ora12c_strong_verify_function; 並指派給所有應用帳號AUDIT SESSION BY sys, system, sysman BY ACCESS;?/rdbms/admin/utlrp.sql 後可選擇移除 SCOTT/HR 等預設密碼是資安掃描的必檢項目。**安裝即修改、鎖定不用、審計關鍵、定期輪換** 是資料庫帳號管理的鐵律。