六大啟動模式核心差異對比表
| 模式 | 命令 | SGA | 控制文件 | 數據文件 | 允許操作 | 典型場景 |
| NOMOUNT | STARTUP NOMOUNT | ✓ | ✗ | ✗ | 建庫、恢復控制文件、修改參數 | CREATE DATABASE、RESTORE CONTROLFILE |
| MOUNT | STARTUP MOUNT | ✓ | ✓ | ✗ | 重命名文件、增刪日志、歸檔模式切換、完整恢復 | ALTER DATABASE RENAME FILE、ARCHIVELOG |
| OPEN | STARTUP | ✓ | ✓ | ✓ | 正常業務訪問 | 日常生產運行 |
| RESTRICT | STARTUP RESTRICT | ✓ | ✓ | ✓ | 僅 RESTRICTED SESSION 用戶(DBA) | 重建索引、Data Pump、資料遷移、掛起業務 |
| FORCE | STARTUP FORCE | ✓ | ✓ | ✓ | 相當 SHUTDOWN ABORT + STARTUP | 實例掛死、共享內存殘留、緊急重啟 |
| RECOVER | STARTUP OPEN RECOVER | ✓ | ✓ | ✓ | 自動介質恢復後 OPEN | 介質故障後自動應用歸檔 |
參數組合語法
STARTUP [FORCE] [RESTRICT] [PFILE=path]
{ OPEN [RECOVER] [database] | MOUNT | NOMOUNT }
PFILE:指定非默認參數文件啟動(如測試新參數)。
RESTRICT 可與 MOUNT/OPEN 組合:STARTUP MOUNT RESTRICT。
PARALLEL/EXCLUSIVE(RAC 專用):STARTUP OPEN db_name PARALLEL。
關閉模式對比:NORMAL vs TRANSACTIONAL vs IMMEDIATE vs ABORT
| 模式 | 新連線 | 等待會話 | 等待事務 | 檢查點 | 啟動恢復 | 適用場景 |
| NORMAL | 拒絕 | 是 | 是 | 是 | 無 | 計劃維護窗口 |
| TRANSACTIONAL | 拒絕 | 否 | 是 | 是 | 無 | 業務平滑下線 |
| IMMEDIATE | 拒絕 | 否 | 否(回滾) | 是 | 無 | 生產標準關閉 |
| ABORT | 拒絕 | 否 | 否 | 否 | 實例恢復 | 緊急/掛死/測試環境 |
實戰運維決策樹
- 日常重啟:
SHUTDOWN IMMEDIATE → STARTUP
- 修改控制文件路徑/名稱:
SHUTDOWN IMMEDIATE;
STARTUP NOMOUNT;
ALTER SYSTEM SET control_files='...' SCOPE=SPFILE;
STARTUP FORCE; -- 重新讀取 SPFILE 並 MOUNT
- 切換歸檔模式:
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG; -- 或 NOARCHIVELOG
ALTER DATABASE OPEN;
- 介質恢復(丟失數據文件):
STARTUP MOUNT;
RESTORE DATABASE; -- RMAN
RECOVER DATABASE;
ALTER DATABASE OPEN;
-- 或一條命令
STARTUP OPEN RECOVER;
- 重建索引/統計信息收集(需獨佔):
STARTUP RESTRICT;
-- 執行 REBUILD INDEX, DBMS_STATS
SHUTDOWN IMMEDIATE;
STARTUP;
- 實例掛死無法正常關閉:
SHUTDOWN ABORT;
STARTUP; -- 自動實例恢復
常見誤區澄清
- 誤區:
STARTUP 默認就是 OPEN。事實:是的,但顯式寫 STARTUP OPEN 更清晰。
- 誤區:
SHUTDOWN ABORT 會損壞數據。事實:不會損壞已提交數據(Redo 保證),但啟動時需實例恢復(應用 Redo + 回滾未提交),耗時較長。
- 誤區:
RESTRICT 模式下普通用戶完全無法連線。事實:擁有 RESTRICTED SESSION 系統權限的用戶仍可連線(通常僅 DBA)。
參數文件 PFILE/SPFILE 互轉
-- SPFILE → PFILE(文本可讀,利於版本控制)
CREATE PFILE='/tmp/init.ora' FROM SPFILE;
-- PFILE → SPFILE(二進制,支援動態修改持久化)
CREATE SPFILE FROM PFILE='/tmp/init.ora';
熟練掌握啟停模式組合,是 DBA 從「會用」進階到「敢用、善用」的關鍵分水嶺。