首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle 資料庫啟動與關閉標準作業程序 (SOP)

     編輯:Oracle 資料庫相關知識

前言

正確的啟動/關閉順序能確保 Oracle 資料庫實例、監聽器、Enterprise Manager 等元件一致性啟動與優雅關閉,避免資料損壞或連線中斷。本文提供 Linux/Unix 環境下的標準 SOP,並說明各步驟用途。

一、啟動順序 (Start-up Sequence)

  1. 啟動監聽器 (Listener) — 監聽連接埠 1521

    $ lsnrctl start
  2. 啟動資料庫實例

    $ sqlplus / as sysdba
    SQL> STARTUP
    
    • 預設啟動環境變數 $ORACLE_SID 指定的實例。
    • 若需啟動多實例,先切換 export ORACLE_SID=ctaudit 再執行上述指令。
  3. 啟動管理服務 (視安裝元件而定)

    $ emctl start dbconsole      # Enterprise Manager Database Console (埠 1158/5500)
    $ isqlplusctl start          # iSQL*Plus (埠 5560,11g 已棄用)
    

二、關閉順序 (Shutdown Sequence)

  1. 停止管理服務 (先關 Web 管理層,避免管理操作殘留交易)

    $ emctl stop dbconsole
    $ isqlplusctl stop
    
  2. 停止監聽器 (切斷新連線,讓現有工作階段自然結束)

    $ lsnrctl stop
    
  3. 關閉資料庫實例

    $ sqlplus / as sysdba
    SQL> SHUTDOWN IMMEDIATE
    
    • IMMEDIATE:不等待使用者結束交易、回滾未提交交易、關閉資料庫、卸載實例 — 生產環境標準關閉模式。
    • 其他模式:NORMAL (等待所有使用者斷線)、TRANSACTIONAL (等待進行中交易提交)、ABORT (緊急強制關閉,下次啟動需執行執行個體復原)。

三、常見情境與注意事項

情境建議動作
例行維護窗口依序執行完整關閉 → 維護作業 → 完整啟動
緊急修補 OS 核心SHUTDOWN ABORT → OS 修補 → STARTUP (自動執行執行個體復原)
僅重啟實例 (不動 OS)SHUTDOWN IMMEDIATE → STARTUP (監聽器可保持運行)
RAC 環境使用 srvctl stop/start database -d <db_name> 管理叢集資源

四、驗證腳本 (可納入自動化巡檢)

#!/bin/bash
# check_oracle_status.sh
echo "=== Listener ==="; lsnrctl status | grep -E "STATUS|Alias"
echo "=== Instance ==="; sqlplus -s / as sysdba <

結語

遵循「先啟監聽、後啟實例、最後啟管理;關閉時反向操作」原則,並善用 SHUTDOWN IMMEDIATE 確保交易一致性,即可建立穩定可靠的 Oracle 運維流程。

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