三大啟動模式
| 模式 | 命令 | 完成動作 | 讀取文件 |
| NOMOUNT | STARTUP NOMOUNT | 啟動實例(SGA + 背景進程) | 參數文件 (PFILE/SPFILE) |
| MOUNT | STARTUP MOUNT | 掛載資料庫(讀取控制文件) | 參數文件 + 控制文件 |
| OPEN | STARTUP OPEN (默認) | 打開資料庫(線上數據文件/重做日志) | 參數文件 + 控制文件 + 數據文件 |
常用組合參數
READ ONLY / READ WRITE:唯讀/讀寫打開。
RESTRICT:僅允許 RESTRICTED SESSION 權限用戶連接(維護專用)。
FORCE:強制關閉後重新啟動(相當於 SHUTDOWN ABORT + STARTUP OPEN)。
- 可組合:
STARTUP MOUNT RESTRICT、STARTUP OPEN READ ONLY 等。
實驗驗證:文件讀取順序與依賴關係
1. NOMOUNT 階段:僅讀參數文件
-- 修改參數文件名模擬缺失
MV initorcl.ora initorcl1.ora
MV spfileorcl.ora spfileorcl1.ora
SQL> STARTUP NOMOUNT
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '.../initorcl.ora'
-- 結論:NOMOUNT 強依賴參數文件
2. NOMOUNT 不讀控制文件
-- 恢復參數文件,修改控制文件名
MV control01.ctl control01a.ctl ...
SQL> STARTUP NOMOUNT
ORACLE instance started. -- 成功!
-- 結論:NOMOUNT 階段不讀控制文件
3. MOUNT 階段:讀控制文件,不讀數據文件
SQL> ALTER DATABASE MOUNT;
ORA-00205: error in identifying controlfile
-- 修正控制文件名後
SQL> STARTUP MOUNT
Database mounted. -- 成功,即使數據文件被重命名
-- 結論:MOUNT 依賴控制文件,不檢查數據文件
4. OPEN 階段:必須讀取數據文件
SQL> ALTER DATABASE OPEN;
ORA-01157: cannot identify/lock data file 5
ORA-01110: data file 5: '.../tp_test.dbf'
-- 結論:OPEN 階段校驗所有數據文件
階段適用場景
- NOMOUNT:控制文件全部損壞需重建(
CREATE CONTROLFILE)、創建新資料庫。
- MOUNT:修改歸檔模式(
ALTER DATABASE ARCHIVELOG)、執行完整恢復(RECOVER DATABASE)、啟用/禁用歸檔。
- OPEN:正常業務服務。
總結圖解
NOMOUNT --> MOUNT --> OPEN
(參數文件) (控制文件) (數據文件)
實例啟動 資料庫掛載 業務開放