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

Oracle Redo Log 區塊結構完整解析

     編輯:Oracle 資料庫基礎

概述

Redo Log 是 Oracle 恢復機制的核心,採用區塊式儲存。本文詳細記錄各區塊的偏移量、欄位含義,供核心診斷與工具開發參考。

第 1 區塊

偏移量長度說明
0x00-0x034 bytes未知
0x04-0x074 bytes日誌檔案區塊大小
0x08-0x0B4 bytes日誌檔案區塊總數
0x0C-0x0E3 bytes平台識別字串

第 2 區塊

偏移量長度說明
0x00-0x034 bytes日誌序列號
0x04-0x074 bytes日誌檔案區塊號
0x08-0x0B4 bytes未知
0x0C-0x0F4 bytes未知
0x10-0x134 bytesDBMS 軟體版本號
0x14-0x174 bytes日誌檔案版本號
0x18-0x1B4 bytesDBID
0x1C-0x238 bytesDB Name
0x24-0x274 bytesControl Sequence
0x28-0x2B4 bytes日誌檔案區塊數
0x2C-0x2F4 bytes日誌檔案區塊大小
0x30-0x312 bytes日誌組序號
0x32-0x332 bytes檔案類型
0x5C-0x9A63 bytes日誌檔案描述
0x9B1 byte未知
0x9C-0x9E3 bytes下一個可用區塊
0xA0-0xA34 bytesReset Logs Count
0xA4-0xA74 bytesReset SCN Base
0xA8-0xA92 bytesReset SCN Wrap
0xA4-0xB922 bytesLow SCN Number
0xBA-0xBF6 bytesLow SCN Time
0xC0-0xC56 bytesNext SCN Number
0xC6-0xCB6 bytesNext SCN Time

第 3~N 區塊

偏移量長度說明
0x00-0x034 bytes日誌序列號
0x04-0x074 bytes日誌檔案區塊號
0x08-0x0B4 bytesLOG 時間
0x0C-0x0D2 bytes第一筆記錄偏移量(0 表示無記錄)
0x0E-0x0F2 bytes未知(推測為 CHKVAL)

日誌記錄結構

偏移量長度說明
0x00-0x034 bytes記錄長度(含偏移量,用於計算下一筆偏移)
0x041 byteVALID 標誌
0x051 byteSubSCN(9i/8i 保留)
0x06-0x072 bytesSCN Wrap
0x08-0x0B4 bytesSCN Base

CHANGE 向量

偏移量長度說明
0x0C1 byteOperation Layer
0x0D1 byteOperation Code
0x0E-0x0F2 bytesChange # CLS
0x10-0x112 bytesChange # AFN
0x12-0x132 bytesChange # TYPE
0x14-0x174 bytesChange # DBA
0x18-0x1D6 bytesChange # SCN
0x1E-...變動Redo Data

Operation Layer & Code 對照表

Layer 5: Transaction Undo

  • Op Code 3: Rollout a transaction begin
  • Op Code 4: Commit transaction / Transaction table update - no undo record
  • Op Code 7: Begin transaction / Transaction table update
  • Op Code 8: Mark transaction as dead

Layer 11: Row Access

  • Op Code 1: Interpret Undo Record
  • Op Code 2: Insert Row Piece
  • Op Code 3: Drop Row Piece
  • Op Code 4: Lock Row Piece
  • Op Code 5: Update Row Piece
  • Op Code 6: Overwrite Row Piece
  • Op Code 7: Manipulate First Column
  • Op Code 8: Change forward address
  • Op Code 9: Change Cluster key index
  • Op Code 10: Set key links
  • Op Code 11: Quick Multi-Insert (Insert ... SELECT ...)
  • Op Code 12: Quick Multi-Delete
  • Op Code 13: Toggle block header flags

應用場景

此結構資訊適用於:

  • 自製 Log Miner 類工具解析 Redo
  • 損壞 Redo Log 手工恢復
  • 核心層級效能分析與追蹤
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved