為什麼對資料塊修改的change的scn會小於對undo塊的修改?!
本帖最後由 mlx_861201 於 2013-5-8 06:32 編輯 大家好! 我有個疑惑。測試環境是oracle11G。 1、對一條資料做upate操作。 2、dump current 日誌檔案。 3、根據obj找到日誌資訊。 疑問: 1、 為什麼對資料塊修改的change的scn會小於對undo塊的修改?! 2、對資料塊的修改為什麼不是“OP:11.5”而是“OP:11.19” 日誌資訊如下: REDO RECORD - Thread:1 RBA: 0x000085.0000003a.0010 LEN: 0x01e4 VLD: 0x0d SCN: 0x0000.003d5264 SUBSCN: 1 03/17/2013 16:24:29 <!--對資料塊的修改產生的CHANGE--> CHANGE #1 TYP:0 CLS:1 AFN:4 DBA:0x01000226 OBJ:76014 SCN:0x0000.003d51ee SEQ:1 OP:11.19 ENC:0 RBL:0 KTB Redo op: 0x01 ver: 0x01 compat bit: 4 (post-11) padding: 1 op: F xid: 0x0009.000.000012b6 uba: 0x00c002a4.0231.05 Array Update of 1 rows: tabn: 0 slot: 1(0x1) flag: 0x2c lock: 1 ckix: 191 ncol: 3 nnew: 1 size: 0 KDO Op code: 21 row dependencies Disabled xtype: XAxtype KDO_KDOM2 flags: 0x00000080 bdba: 0x01000226 hdba: 0x01000222 itli: 1 ispac: 0 maxfr: 4858 vect = 4 col 1: [ 2] c1 4e <!--儲存修改後的資料 > <!--對undo段頭塊修改從產生的CHANGE--> CHANGE #2 TYP:0 CLS:33 AFN:3 DBA:0x00c00100 OBJ:4294967295 SCN:0x0000.003d5220 SEQ:2 OP:5.2 ENC:0 RBL:0 ktudh redo: slt: 0x0000 sqn: 0x000012b6 flg: 0x0012 siz: 184 fbi: 0 uba: 0x00c002a4.0231.05 pxid: 0x0000.000.00000000 <!--對undo塊修改產生的CHANGE--> CHANGE #3 TYP:0 CLS:34 AFN:3 DBA:0x00c002a4 OBJ:4294967295 SCN:0x0000.003d5220 SEQ:1 OP:5.1 ENC:0 RBL:0 ktudb redo: siz: 184 spc: 7674 flg: 0x0012 seq: 0x0231 rec: 0x05 xid: 0x0009.000.000012b6 ktubl redo: slt: 0 rci: 0 opc: 11.1 [objn: 76014 objd: 76014 tsn: 4] Undo type: Regular undo Begin trans Last buffer split: No Temp Object: No Tablespace Undo: No 0x00000000 prev ctl uba: 0x00c002a4.0231.04 prev ctl max cmt scn: 0x0000.003d006c prev tx cmt scn: 0x0000.003d006d txn start scn: 0x0000.003d51ee logon user: 99 prev brb: 12583569 prev bcl: 0 BuExt idx: 0 flg2: 0 KDO undo record: KTB Redo op: 0x04 ver: 0x01 compat bit: 4 (post-11) padding: 1 op: L itl: xid: 0x0003.01c.0000128a uba: 0x00c00dca.0236.1d flg: C--- lkc: 0 scn: 0x0000.003b655d Array Update of 1 rows: tabn: 0 slot: 1(0x1) flag: 0x2c lock: 0 ckix: 191 ncol: 3 nnew: 1 size: 0 KDO Op code: 21 row dependencies Disabled xtype: XAxtype KDO_KDOM2 flags: 0x00000080 bdba: 0x01000226 hdba: 0x01000222 itli: 1 ispac: 0 maxfr: 4858 vect = 4 col 1: [ 2] c1 4c <!--儲存修改前的資料--> 解答: 1、 為什麼對資料塊修改的change的scn會小於對undo塊的修改?! change中的SCN並不是redo資訊產生或則寫入的SCN而是被修改資料塊的SCN資訊。 2、對資料塊的修改為什麼不是“OP:11.5”而是“OP:11.19” if there is not a unique index on this table, in Oracle 10.2.0.4 (at least) an 11.19 operation will be generated instead of a 11.5 operation. |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11693228/viewspace-1061077/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用DUMP資料塊與BBED檢視BLOCK對比資料庫修改時的SCNBloC資料庫
- oracle bbed修改資料塊的例子Oracle
- 利用BBED修改資料塊SCN----極端環境下的資料恢復資料恢復
- Block Change Tracking (Oracle 塊修改跟蹤)BloCOracle
- [UE] Data Table 對比工具 —— 用於 Data Table 對比以前的資料,檢視有什麼修改
- Oracle 之利用BBED修改資料塊SCN----沒有備份資料檔案的資料恢復Oracle資料恢復
- 10g中的塊修改跟蹤特性(Block Change Tracking)BloC
- 修改一個資料塊Oracle需要做的工作Oracle
- 資料檔案的SCN和資料塊的SCN有何區別
- Oracle 塊修改跟蹤 (Block Change Tracking) 說明OracleBloC
- 對列表的修改
- 關於延遲塊清除的原理是什麼?為什麼要進行塊清除
- innodb 的 redo log,不會對未引起資料塊變化的sql做記錄的SQL
- 關於9i RMAN 增量備份中的資料塊SCN比較
- RAC的cache fusion對資料塊訪問效率的影響
- 關於System Change Number(SCN)的常用操作
- 為什麼隱私至上的方法對基於資料的創新至關重要?
- 對錶資料壓縮compress的修改和查詢
- 修改系統時間對oracle資料庫的影響Oracle資料庫
- 企業為什麼要做資料治理,資料治理對於企業的必要性
- 修改 Docker 容器對映的埠Docker
- 修改docker容器的埠對映Docker
- 關於事務對資料塊的操作過程的分析和試驗(1)(轉)
- 關於事務對資料塊的操作過程的分析和試驗(2)(轉)
- 透過修改控制檔案scn推進資料庫scn資料庫
- 為什麼區塊鏈是不可篡改的區塊鏈
- 基於資料塊的恢復
- w10系統對話方塊這麼變小_w10系統對話方塊如何縮小
- 對於垂直大模型,什麼樣的資料算是“好資料”?大模型
- 為什麼不能修改自己釋出的帖子???
- Alter修改表結構對資料儲存的影響PP
- 聊聊LightProbe原理實現以及對LightProbe資料的修改
- 對ORACLE SCN的理解Oracle
- 資料分析對於企業的重要性是什麼?
- 為什麼區塊鏈(可能會)來到你身邊的物聯網區塊鏈
- 區塊鏈開發公司區塊鏈對銀行業意味這什麼?區塊鏈行業
- React中的模式對話方塊React模式
- 有問題的mybatis的sql導致對資料庫進行了批量的修改MyBatisSQL資料庫