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

從 Alert.log 深度解析 Oracle 9i 啟動全過程:NOMOUNT → MOUNT → OPEN

     編輯:Oracle 資料庫相關知識

環境基線

  • 硬件:IBM xSeries 3650
  • OS:Windows 2003 Std + SP2
  • DB:Oracle 9.2.0.1

階段一:STARTUP NOMOUNT(實例啟動)

  1. 讀取參數文件:搜索順序 spfile.ora → spfile.ora → init.ora;
  2. 創建實例、分配 SGA/PGA 內存結構;
  3. 啟動後台進程:PMON、DBW0、LGWR、CKPT、SMON、RECO、CJQ0、QMN0、共享服務器、調度器。

關鍵日志片段:

Starting ORACLE instance (normal)
System parameters with non-default values:
  processes=150, db_block_size=8192, shared_pool_size=50331648, ...
PMON started with pid=2
DBW0 started with pid=3
LGWR started with pid=4
...
starting up 1 shared server(s)...
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...

階段二:ALTER DATABASE MOUNT(掛載數據庫)

  1. 讀取控制文件路徑(來自參數 control_files);
  2. 打開控制文件,獲取數據文件/日志文件路徑、SCN、檢查點信息;
  3. 實例掛載數據庫(獨佔模式)。
ALTER DATABASE MOUNT
Successful mount of redo thread 1, with mount id 467611545.
Database mounted in Exclusive Mode.

階段三:ALTER DATABASE OPEN(打開數據庫)

  1. 打開控制文件記錄的所有數據文件、日志文件;
  2. 執行檢查點、一致性檢查;
  3. 聯機重做日志線程啟動;
  4. SMON 執行緩存恢復、事務恢復;
  5. UNDO 表空間聯機;
  6. 字符集顯示(ZHS16GBK);
  7. 對外提供服務。
ALTER DATABASE OPEN
Thread 1 opened at log sequence 61
Current log# 1 seq# 61 mem# 0: D:\ORACLE\ORADATA\ORATEST\REDO01.LOG
SMON: enabling cache recovery
Undo Segment 1 Onlined
...
Successfully onlined Undo Tablespace 1.
SMON: enabling tx recovery
Database Characterset is ZHS16GBK
Completed: ALTER DATABASE OPEN

故障診斷關鍵點

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
卡住階段常見原因排查入口
NOMOUNT參數文件缺失/錯誤、內存不足、端口衝突alert.log 參數段、OS 內存/端口
MOUNT控制文件缺失/損壞/路徑錯誤、鏡像不一致control_files 參數、文件系統、RMAN 備份
OPEN數據文件 Offline/損壞、日志組不完整、UNDO 表空間異常、字符集不匹配V$DATAFILE、V$LOG、V$ROLLSTAT、alert.log 詳細錯誤