oracle資料塊dump檔案中ITL詳解
dump出Oracle block後,可以看到事物槽,包含有事物槽號(ITL),XID,UBA,FLAG,LCK,SCN。
本文主要討論FLAG標記的規則,其中FLAG在block中佔用1個位元組大小。
data block的dump資訊中ITL中的xid:0x000c.011.000000e6是由undo資訊組成的:xidusn.xidslot.xidsqn(wrap#)
data block的dump資訊中ITL中的uba:0x00800554.00d6.28是由uba(undo block address).UBASQN.UBAREC
我們知道FLAG各種標記位代表不同意思,以下為不同標記位代表不同意思:
—- = transaction is active, or committed pending cleanout
C— = transaction has been committed and locks cleaned out
-B– = this undo record contains the undo for this ITL entry
–U- = transaction committed (maybe long ago); SCN is an upper bound
—T = transaction was still active at block cleanout SCN
看上面的標記位有一定的規律可循,以下為測試過程,其中07代表鎖的行數
BBED> modify 0×0700
Itl Xid Uba Flag Lck Scn/Fsc
0×01 0×0023.02f.0000004e 0×0280073e.0010.2b –U- 3 fsc 0×0000.0811d995
0×02 0×0029.02d.0000004d 0×028008c5.0010.37 —- 7 fsc 0×0a00.0811d8b7
以下為事務內部流程圖:
1.事務開始時,需要在回滾段事務表上分配一個事務槽(alter system dump undo header '回滾段名稱');
2.在資料塊頭部獲取一個ITL事務槽,該事務槽指向回滾段頭的事務槽(alter system dump datafile .. block ..);
3.在修改資料之前,需要記錄前映象資訊,這個資訊以UNDO RECORD的形式儲存在回滾段中,回滾段頭指向該記錄
(通過回滾段頭事務表的資訊,alter system dump datafile .. block ..檢視回滾記錄);
4.鎖定修改行,修改行鎖定位(lb-lock byte)指向ITL事務槽,可以dump資料塊檢視;
5.資料修改可以進行;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23071790/viewspace-695046/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 從Dump資料塊看ITL
- oracle block資料塊itl小記OracleBloC
- oracle dump詳解Oracle
- dump資料塊
- 通過oracle event來dump資料檔案頭資訊Oracle
- Oracle資料庫event事件與dump檔案介紹Oracle資料庫事件
- 資料庫控制檔案中的SCN詳解資料庫
- oracle資料檔案內部BLOCK結構詳解OracleBloC
- Oracle:dump轉儲檔案Oracle
- dump表的資料塊
- oracle之 資料泵dump檔案存放nfs報ORA-27054OracleNFS
- 持續更新,檢視dump oracle資料塊檢視Oracle
- oracle 普通表空間資料檔案壞塊Oracle
- Oracle 跟蹤檔案和檔案轉儲(dump)Oracle
- oracle中移動控制檔案、資料檔案、日誌檔案Oracle
- 在Oracle中移動資料檔案Oracle
- PostgreSQL資料檔案災難恢復-解析與資料dumpSQL
- 利用RMAN修復資料檔案中的壞塊
- 資料塊內部結構dump解析
- 在Oracle中移動資料檔案、控制檔案和日誌檔案Oracle
- 在ORACLE中移動資料庫檔案Oracle資料庫
- Oracle使用dump匯入資料Oracle
- ORACLE 跟蹤檔案詳細解釋Oracle
- Oracle 資料檔案回收Oracle
- 水煮Oracle——《Oracle pfile/spfile引數檔案詳解Oracle
- ORACLE中裸裝置資料檔案RESIZE/AUTOEXTEND ONOracle
- 在ORACLE中移動資料庫檔案(轉)Oracle資料庫
- Jmeter系列(32)- 詳解 CSV 資料檔案設定JMeter
- ORACLE空間管理實驗8:資料塊格式分析--DUMP結合BBEDOracle
- 注意資料檔案最大塊數限制
- 使用dbv和RMAN檢查資料檔案中的壞塊
- dump日誌檔案
- Oracle 11.2.0.4.4 ADG 備庫資料檔案壞塊處理Oracle
- oracle資料庫移動資料檔案、日誌檔案和控制檔案Oracle資料庫
- 把csv檔案的資料匯入到oracle資料庫中Oracle資料庫
- 詳解Linux中/etc/passwd檔案Linux
- Oracle從dump檔案中提取DDL語句方法Oracle
- 使用events DUMP buffer cache中指定的資料塊