SHUTDOWN (關閉)
│
▼
STARTUP NOMOUNT ──► SGA 啟動 + 背景進程啟動 (僅讀取 SPFILE/PFILE)
│
▼
ALTER DATABASE MOUNT ──► 讀取控制檔,關聯資料檔/Redo Log (資料庫關閉狀態)
│
▼
ALTER DATABASE OPEN ──► 開啟資料檔/Redo Log,允許使用者存取 (正常營運狀態)
| 模式 | 指令 | 狀態 | 適用場景 | 允許操作 |
|---|---|---|---|---|
| NOMOUNT | STARTUP NOMOUNT | Instance 啟動,DB 關閉 | 重建控制檔、建立新資料庫、RMAN 還原控制檔 | 建立/重建控制檔、建立資料庫 |
| MOUNT | STARTUP MOUNT | Instance + DB Mounted | 歸檔模式切換、資料檔離線/重命名、RMAN 完整恢復、備份控制檔 | 歸檔開關、資料檔維護、恢復、備份控制檔 |
| OPEN (預設) | STARTUP / STARTUP OPEN | Instance + DB Open | 正常營運 | 所有 DML/DDL/查詢 |
| READ ONLY | STARTUP OPEN READ ONLY | Instance + DB Open 唯讀 | 報表查詢、備份驗證、邏輯備份 | 唯讀查詢、SELECT、PL/SQL 函數 |
| RESTRICT | STARTUP RESTRICT | Instance + DB Open 限制 | 維護窗口、資料修補、避免業務連線干擾 | 僅 RESTRICTED SESSION 權限用戶 (DBA/維護帳號) |
| FORCE | STARTUP FORCE | 強制關閉後重啟 | SHUTDOWN 掛住、Instance 僵屍、緊急重啟 | 等同 SHUTDOWN ABORT + STARTUP |
| PFILE 指定 | STARTUP PFILE=/path/init.ora | 依指定參數檔啟動 | 參數檔損毀恢復、多環境切換、測試新參數 | 讀取指定 PFILE,忽略 SPFILE |
| EXCLUSIVE (預設) | STARTUP EXCLUSIVE | 單實例獨佔掛載 | 非 RAC 環境預設 | 單實例獨佔資料庫 |
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
ARCHIVE LOG LIST; -- 驗證
STARTUP MOUNT;
ALTER DATABASE RENAME FILE '/old/path/users01.dbf' TO '/new/path/users01.dbf';
ALTER DATABASE OPEN;
STARTUP RESTRICT;
-- 僅具 RESTRICTED SESSION 權限用戶可連線
-- 一般用戶報錯: ORA-01035: ORACLE only allows users with RESTRICTED SESSION privilege
-- 維護完成後
ALTER SYSTEM DISABLE RESTRICTED SESSION;
STARTUP FORCE;
-- 內部執行: SHUTDOWN ABORT + STARTUP
-- Alert Log 會記錄 Instance Recovery 過程
STARTUP PFILE=/u01/app/oracle/admin/oradb/pfile/init.ora;
-- 或建立 SPFILE
CREATE SPFILE FROM PFILE='/u01/app/oracle/admin/oradb/pfile/init.ora';
STARTUP EXCLUSIVE:單實例模式掛載 (維護用)。STARTUP (無 EXCLUSIVE):Cluster 模式,依 CLUSTER_DATABASE=TRUE 協調多實例掛載。srvctl start database -d ORCL:建議使用 SRVCTL 管理 RAC 啟動。掌握「NOMOUNT → MOUNT → OPEN」三階段與 8 種模式的適用場景,是 DBA 執行維護、恢復、升級作業的核心技能。預設 STARTUP = OPEN,特殊作業務必明確指定模式。