Oracle 資料庫啟動非單一動作,而是分階段推進。理解四種啟動模式的層級關係、適用場景與操作權限,是 DBA 執行備份恢復、結構變更、效能診斷的前提。本文以「階段遞進」視角深度解析。
| 模式 | 命令 | 完成動作 | 可見資源 | 典型應用場景 |
|---|---|---|---|---|
| NOMOUNT | STARTUP NOMOUNT | ① 讀取參數檔 ② 啟動 SGA ③ 啟動背景進程 | 僅記憶體結構(SGA、進程) | • 重建控制檔 • 創建新資料庫 • 修改參數檔後驗證 |
| MOUNT | STARTUP MOUNT | NOMOUNT + ④ 開啟控制檔 | + 控制檔資訊(資料檔/日誌檔路徑、SCN 等) | • 歸檔模式切換 • 資料庫恢復(RECOVER DATABASE) • 重命名資料檔/日誌檔 • 啟用/停用歸檔 |
| OPEN | STARTUP OPEN 或 STARTUP | MOUNT + ⑤ 開啟所有資料檔、重做日誌檔 | + 完整資料庫物件(表、索引、資料...) | • 正常業務服務 • 所有 DML/DDL/查詢操作 |
| 完整等價 | STARTUP | 依序執行:STARTUP NOMOUNTALTER DATABASE MOUNTALTER DATABASE OPEN | 同 OPEN | 預設啟動方式,手動分步驟時用於精細控制 |
STARTUP NOMOUNT PFILE=/new/path/init.ora → 檢查 Alert Log 錯誤 → SHUTDOWN ABORT → 正式啟動STARTUP MOUNT → ALTER DATABASE ARCHIVELOG → ALTER DATABASE OPENSTARTUP MOUNT → RECOVER DATABASE → ALTER DATABASE OPENSTARTUP MOUNT → OS 層重命名/移動檔案 → ALTER DATABASE RENAME FILE → ALTER DATABASE OPEN❌ 誤區:以為
STARTUP MOUNT後就能查詢資料
✅ 事實:MOUNT 僅讀取控制檔元資料,資料檔尚未開啟,任何查詢皆報 ORA-01507
❌ 誤區:
STARTUP失敗就重試STARTUP
✅ 事實:應先SHUTDOWN ABORT徹底清理共享記憶體與進程,再重新啟動,避免殘留鎖/共享記憶體衝突
四種啟動模式對應資料庫生命週期的四個里程碑。DBA 應熟練掌握「分步驟啟動」技巧,在維護窗口期精準控制資料庫狀態,將風險降至最低。記住:NOMOUNT 為生,MOUNT 為維,OPEN 為用——這是 Oracle 運維的節奏韻律。