首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle SQL*Plus 啟動關閉數據庫全模式詳解:NOMOUNT/MOUNT/OPEN/RESTRICT/FORCE

     編輯:Oracle 資料庫基礎

前言

數據庫啟動/關閉是 DBA 日常核心操作。本文系統梳理 SQL*Plus 環境下各啟動模式(NOMOUNT/MOUNT/OPEN/RESTRICT/FORCE/PFILE)、雙機環境 HA 命令、關閉模式,並對比 8i/9i+ 差異,構建完整操作知識庫。

單機環境:SQL*Plus 操作流程

1. 連接實例

sqlplus /nolog
SQL> CONNECT / AS SYSDBA
-- 或
SQL> CONNECT sys/password AS SYSDBA

2. 啟動模式詳細對照

命令階段可執行操作適用場景
STARTUP NOMOUNT僅啟動實例 (SGA+進程)創建控制文件、創建數據庫、恢復控制文件只需 PFILE/SPFILE
STARTUP MOUNT實例 + 掛載控制文件歸檔模式切換、介質恢復、數據文件/Redo Log 聯機脫機/重定位不校驗數據文件一致性
STARTUP OPEN實例 + 掛載 + 打開所有文件正常業務訪問默認模式 (STARTUP 等價)
STARTUP RESTRICTOPEN + 僅允許 RESTRICTED SESSION 權限用戶維護窗口、數據遷移、補丁升級排除普通用戶干擾
STARTUP FORCE強制關閉(ABORT) + 正常啟動實例掛起無法正常關閉時緊急恢復
STARTUP PFILE=path指定參數文件啟動參數文件損壞/測試新參數覆蓋默認 SPFILE

3. 等價命令序列

STARTUP
≡
STARTUP NOMOUNT
ALTER DATABASE MOUNT;
ALTER DATABASE OPEN;

4. 關閉模式

命令行為適用場景
SHUTDOWN NORMAL等待所有用戶斷開,不允許新連接計劃維護
SHUTDOWN TRANSACTIONAL等待活躍事務提交/回滾,不允許新事務業務平滑切換
SHUTDOWN IMMEDIATE回滾未提交事務,斷開所有會話,不執行檢查點最常用,快速關閉
SHUTDOWN ABORT立即終止實例,不關閉文件,下次啟動需實例恢復緊急情況,最後手段

雙機高可用 (HA) 環境:根用戶 + hareg

# 啟動 Oracle 資源組
hareg -y Oracle

# 關閉 Oracle 資源組
hareg -n Oracle

由集群軟件 (HACMP/Veritas/RAC) 管理實例生命周期,不可直接用 SQL*Plus 啟停。

版本差異提示

  • 8i:SVRMGRL 工具,CONNECT INTERNAL (已廢棄)。
  • 9i+:SQL*Plus 統一,CONNECT / AS SYSDBA。

實戰檢查清單

  1. 啟動前確認:磁盤空間、Alert 日志無殘留錯誤、監聽狀態、參數文件存在。
  2. 啟動後驗證:SELECT STATUS FROM V$INSTANCE (OPEN)、SELECT OPEN_MODE FROM V$DATABASE (READ WRITE)。
  3. 關閉前:通知業務方、檢查長事務 (V$TRANSACTION)、備份控制文件至追蹤 (ALTER DATABASE BACKUP CONTROLFILE TO TRACE)。

總結

熟練掌握 6 種啟動模式與 4 種關閉模式的適用邊界,是 DBA 從容應對維護窗口、故障恢復、升級遷移的基本功。平時多在測試環境演練 FORCE、RESTRICT、PFILE 等非常用模式。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved