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

深度理解 Oracle 資料庫啟動與關閉模式

     編輯:Oracle 資料庫基礎

啟動三階段

  1. NOMOUNT (建立實例):讀取參數檔 → 配置 SGA → 啟動背景進程。資料庫檔案未關聯。
  2. MOUNT (掛載資料庫):實例讀取控制檔,確認資料檔/日誌檔路徑與狀態。資料庫仍關閉,僅供 DBA 維護 (備份控制檔、啟用歸檔模式、恢復控制檔等)。
  3. OPEN (開啟資料庫):打開線上日誌檔與資料檔,驗證一致性,允許一般用戶連線。可帶 READ ONLY、UPGRADE、DOWNGRADE 選項。

STARTUP 選項對照表

命令階段適用場景
STARTUPNOMOUNT → MOUNT → OPEN正常啟動
STARTUP NOMOUNTNOMOUNT建立資料庫、恢復控制檔、修改參數檔
STARTUP MOUNTNOMOUNT → MOUNT啟用歸檔、完整備份 (一致性)、Data Guard 切換
STARTUP OPEN完整三階段同 STARTUP
STARTUP READ ONLY完整 → 唯讀模式報表查詢、邏輯備份、遷移驗證
STARTUP RESTRICT完整 → 僅允許 RESTRICTED SESSION維護窗口、資料修正、升級後驗證
STARTUP FORCESHUTDOWN ABORT → STARTUP資料庫掛起無法正常關閉時強制重啟
STARTUP UPGRADE/DOWNGRADE完整 → 升級/降級模式資料庫版本遷移執行腳本

關閉四模式

命令行為適用場景風險
SHUTDOWN NORMAL等所有用戶斷線、等所有交易結束、檢查點、關閉檔案計畫性維護、無時間壓力可能永遠等不到 (用戶不斷線)
SHUTDOWN TRANSACTIONAL不允許新連線/新交易、等現有交易結束、檢查點、關閉計畫性維護、需較快關閉長交易會延遲關閉
SHUTDOWN IMMEDIATE不允許新連線、回滾未提交交易、斷開所有會話、檢查點、關閉最常用、緊急維護、啟用歸檔前回滾大交易耗時
SHUTDOWN ABORT瞬間終止實例進程、不回滾、不檢查點、不關閉檔案極端故障、SHUTDOWN IMMEDIATE 掛起、叢集節點驅逐下次啟動需執行執行個體恢復 (SMON 自動)

實戰最佳實踐

  • 日常維護:SHUTDOWN IMMEDIATE → STARTUP。
  • 冷備份:SHUTDOWN IMMEDIATE → STARTUP MOUNT → OS 複製檔案 → ALTER DATABASE OPEN。
  • 啟用歸檔:SHUTDOWN IMMEDIATE → STARTUP MOUNT → ALTER DATABASE ARCHIVELOG → ALTER DATABASE OPEN。
  • 參數檔修改 (靜態參數):STARTUP NOMOUNT PFILE=... → 建立 SPFILE → SHUTDOWN → STARTUP。
  • RAC 叢集:優先使用 srvctl stop/start database -d ,確保資源依賴順序正確。

SQL*Plus / SRVCTL / Enterprise Manager

  • 8i 起 SQL*Plus 整合 Server Manager 功能 (STARTUP/SHUTDOWN 需 SYSDBA / SYSOPER 權限)。
  • GUI 工具 (EM Cloud Control, EM Express) 提供圖形化操作與狀態監控。
  • 叢集環境**強制**使用 SRVCTL,避免資源狀態不一致。

結語

啟動/關閉不是簡單的開關機,每個模式對應特定維護窗口與恢復語義。DBA 應能隨時說出:當前資料庫處於哪個階段、選擇哪種關閉模式、預期恢復時間多少、對業務影響範圍為何。

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