啟動三階段
- NOMOUNT (建立實例):讀取參數檔 → 配置 SGA → 啟動背景進程。資料庫檔案未關聯。
- MOUNT (掛載資料庫):實例讀取控制檔,確認資料檔/日誌檔路徑與狀態。資料庫仍關閉,僅供 DBA 維護 (備份控制檔、啟用歸檔模式、恢復控制檔等)。
- OPEN (開啟資料庫):打開線上日誌檔與資料檔,驗證一致性,允許一般用戶連線。可帶
READ ONLY、UPGRADE、DOWNGRADE 選項。
STARTUP 選項對照表
| 命令 | 階段 | 適用場景 |
| STARTUP | NOMOUNT → MOUNT → OPEN | 正常啟動 |
| STARTUP NOMOUNT | NOMOUNT | 建立資料庫、恢復控制檔、修改參數檔 |
| STARTUP MOUNT | NOMOUNT → MOUNT | 啟用歸檔、完整備份 (一致性)、Data Guard 切換 |
| STARTUP OPEN | 完整三階段 | 同 STARTUP |
| STARTUP READ ONLY | 完整 → 唯讀模式 | 報表查詢、邏輯備份、遷移驗證 |
| STARTUP RESTRICT | 完整 → 僅允許 RESTRICTED SESSION | 維護窗口、資料修正、升級後驗證 |
| STARTUP FORCE | SHUTDOWN ABORT → STARTUP | 資料庫掛起無法正常關閉時強制重啟 |
| STARTUP UPGRADE/DOWNGRADE | 完整 → 升級/降級模式 | 資料庫版本遷移執行腳本 |
關閉四模式
| 命令 | 行為 | 適用場景 | 風險 |
| SHUTDOWN NORMAL | 等所有用戶斷線、等所有交易結束、檢查點、關閉檔案 | 計畫性維護、無時間壓力 | 可能永遠等不到 (用戶不斷線) |
| SHUTDOWN TRANSACTIONAL | 不允許新連線/新交易、等現有交易結束、檢查點、關閉 | 計畫性維護、需較快關閉 | 長交易會延遲關閉 |
| SHUTDOWN IMMEDIATE | 不允許新連線、回滾未提交交易、斷開所有會話、檢查點、關閉 | 最常用、緊急維護、啟用歸檔前 | 回滾大交易耗時 |
| SHUTDOWN ABORT | 瞬間終止實例進程、不回滾、不檢查點、不關閉檔案 | 極端故障、SHUTDOWN IMMEDIATE 掛起、叢集節點驅逐 | 下次啟動需執行執行個體恢復 (SMON 自動) |
實戰最佳實踐
- 日常維護:
SHUTDOWN IMMEDIATE → STARTUP。
- 冷備份:
SHUTDOWN IMMEDIATE → STARTUP MOUNT → OS 複製檔案 → ALTER DATABASE OPEN。
- 啟用歸檔:
SHUTDOWN IMMEDIATE → STARTUP MOUNT → ALTER DATABASE ARCHIVELOG → ALTER DATABASE OPEN。
- 參數檔修改 (靜態參數):
STARTUP NOMOUNT PFILE=... → 建立 SPFILE → SHUTDOWN → STARTUP。
- RAC 叢集:優先使用
srvctl stop/start database -d ,確保資源依賴順序正確。
SQL*Plus / SRVCTL / Enterprise Manager
- 8i 起 SQL*Plus 整合 Server Manager 功能 (
STARTUP/SHUTDOWN 需 SYSDBA / SYSOPER 權限)。
- GUI 工具 (EM Cloud Control, EM Express) 提供圖形化操作與狀態監控。
- 叢集環境**強制**使用 SRVCTL,避免資源狀態不一致。
結語
啟動/關閉不是簡單的開關機,每個模式對應特定維護窗口與恢復語義。DBA 應能隨時說出:當前資料庫處於哪個階段、選擇哪種關閉模式、預期恢復時間多少、對業務影響範圍為何。