單機環境:Oracle 9i/10g/11g/12c/19c 通用流程
1. 切換到 Oracle 用戶
su - oracle
2. 啟動數據庫 (SQL*Plus 方式)
$ sqlplus /nolog
SQL> CONNECT / AS SYSDBA
Connected to an idle instance.
SQL> STARTUP
ORACLE instance started.
Database mounted.
Database opened.
3. 關閉數據庫
SQL> SHUTDOWN IMMEDIATE
Database closed.
Database dismounted.
ORACLE instance shut down.
關閉模式對比:
| 模式 | 行為 | 適用場景 |
| NORMAL | 等待所有用戶斷開 | 計劃維護窗口 |
| IMMEDIATE | 回滾未提交事務,斷開會話,不做检查點 | 最常用、最安全 |
| TRANSACTIONAL | 等待活躍事務提交/回滾,再關閉 | 業務敏感、不想強制回滾 |
| ABORT | 直接終止進程,下次啟動需實例恢復 | 緊急故障、其他模式失效 |
雙機/集群環境 (HA/Clusterware)
# 啟動資源
crsctl start resource ora.dbname.db -n node1
# 或舊版 hareg
hareg -y oracle
# 停止資源
crsctl stop resource ora.dbname.db -n node1
hareg -n oracle
八種 STARTUP 模式詳解
| 命令 | 階段 | 可執行操作 | 典型用途 |
| STARTUP NOMOUNT | 啟動 Instance (SGA+背景進程) | 讀取 SPFILE/初始化參數 | 創建控制文件、創建數據庫、恢復控制文件 |
| STARTUP MOUNT | NOMOUNT + 掛載控制文件 | 讀取控制文件,識別數據文件/日志位置 | 歸檔模式切換、數據文件重命名、介質恢復、備份控制文件 |
| STARTUP OPEN | MOUNT + 打開數據文件/Redo | 正常訪問數據 | 日常運行(默認) |
| STARTUP | 等同 NOMOUNT→MOUNT→OPEN | 完整啟動 | 默認啟動 |
| STARTUP RESTRICT | OPEN + 僅允許 RESTRICTED SESSION 權限用戶 | DBA 維護、數據修復 | 排除業務干擾 |
| STARTUP FORCE | ABORT + 正常 STARTUP | 強制重啟 | 實例掛起、SHUTDOWN 失效 |
| STARTUP PFILE=path | 指定參數文件啟動 | 覆蓋默認 SPFILE | 參數調優測試、災難恢復 |
| STARTUP EXCLUSIVE | RAC 獨佔模式掛載 | 單節點獨佔 | RAC 維護、升級 |
常用 SQL*Plus 環境設置
SET LINESIZE 200
SET PAGESIZE 5000
SET LONG 1000000
SET LONGCHUNKSIZE 1000000
SET TIMING ON
SET AUTOTRACE TRACEONLY EXPLAIN
COLUMN sql_text FORMAT A100 WRAP