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

Oracle 自動啟動/關閉腳本與啟動模式完整指南

     編輯:Oracle 資料庫基礎

一、Linux/Unix 自動啟動腳本 (dbora)

放置於 /etc/init.d/dbora,註冊服務:chkconfig --add dbora; chkconfig dbora on

啟動區塊

#!/bin/sh
# Oracle Auto Start Script
echo "Starting Oracle..."

# 1. 啟動 Listener
su - oracle -c "lsnrctl start"

# 2. 啟動 Enterprise Manager Agent (10g+)
su - oracle -c "emctl start dbconsole"
# 或 9i: su - oracle -c "agentctl start"

# 3. 啟動資料庫 Instance
su - oracle -c "sqlplus /nolog <

關閉區塊

#!/bin/sh
# Oracle Auto Stop Script
echo "Stopping Oracle..."

# 1. 關閉資料庫
su - oracle -c "sqlplus /nolog <

二、Windows 服務模式 (無需腳本)

  • OracleService:資料庫 Instance 服務,設為「自動」即可隨機啟動
  • OracleTNSListener:Listener 服務,設為「自動」
  • OracleDBConsole:EM Agent 服務

或用 ORADIM 管理:oradim -startup -sid ORCL -starttype AUTO

三、八大啟動模式詳細對比

模式命令階段可執行操作典型場景
NOMOUNTSTARTUP NOMOUNTInstance 啟動 (SGA + 背景進程)建立控制檔、重建資料庫、恢復控制檔CREATE CONTROLFILE、CREATE DATABASE
MOUNTSTARTUP MOUNT+ 掛載控制檔歸檔模式切換、介質恢復、資料檔/日誌檔離線/重命名/移動ALTER DATABASE ARCHIVELOG、RECOVER DATABASE
OPENSTARTUP / STARTUP OPEN+ 打開資料檔/日誌檔正常業務存取日常運行
READ ONLYSTARTUP OPEN READ ONLY+ 唯讀開啟查詢、報表、備份 (無 DML)Standby 資料庫、唯讀報表庫
RESTRICTSTARTUP RESTRICT+ 僅允許 RESTRICTED SESSION 權限用戶維護窗口、資料遷移、補丁套用阻擋普通用戶連線
FORCESTARTUP FORCESHUTDOWN ABORT + STARTUP強制重啟 (Instance 掛死時)緊急恢復服務
PFILE 指定STARTUP PFILE=/path/init.ora讀取指定參數檔參數調優測試、多實例切換非預設參數啟動
EXCLUSIVE (Parallel Server/RAC)STARTUP EXCLUSIVE獨佔模式掛載單實例獨佔存取 (RAC 環境)維護、備份

四、啟動階段內部流程

  1. NOMOUNT:讀取 SPFILE/PFILE → 分配 SGA → 啟動背景進程 (PMON, SMON, DBWn, LGWR, CKPT...)
  2. MOUNT:讀取控制檔 → 驗證資料檔/日誌檔路徑存在性 (不檢查內容一致性)
  3. OPEN:線上日誌檔一致性檢查 → 打開資料檔 → 執行崩潰恢復 (如需) → 標記資料庫 OPEN

五、常見問題排查

  • ORA-01035 (RESTRICT 模式):授予用戶 GRANT RESTRICTED SESSION TO user; 或關閉 RESTRICT 模式 ALTER SYSTEM DISABLE RESTRICTED SESSION;
  • STARTUP 掛在 MOUNT:檢查控制檔路徑、權限、多路徑一致性
  • STARTUP 掛在 OPEN:查看 Alert Log 確認是否在執行實例恢復 (大量 Redo 應用)
  • 自動啟動失效:檢查腳本權限 (755)、oracle 用戶環境變數、chkconfig 運行級別 (345)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved