oracle itl 故障,关于ITL的重用与读一致性问题

对于回滚段的递归重构我是理解的,问题是要找到回滚段首先就要找到对应的事务插槽(ITL)中记录的UBA,但是如果这个ITL被重用,oracle是如何得到被重用之前的ITL?

比如

ITL 0x01 被重用前状态

Itl                             Xid                  Uba                     Flag       Lck        Scn/Fsc

0x01   0x0008.02d.0000009d  0x008072f1.0025.0b    ----           1      fsc 0x0000.00000000

0x02   0x0009.01d.000000a0  0x008073f2.0025.10    ----           1      fsc 0x0000.00000000

0x03   0x0007.013.0000009e  0x00807816.0025.1f    ----           1      fsc 0x0000.00000000

0x04   0x000a.01a.0000009d  0x0080022a.002d.2e    ----          1      fsc 0x0000.00000000

ITL 0x01 提交后的状态

Itl                   Xid                                       Uba             Flag   Lck        Scn/Fsc

0x01   0x0008.02d.0000009d  0x008072f1.0025.0b      --U-     1       fsc 0x0000.00064f49

0x02   0x0009.01d.000000a0  0x008073f2.0025.10      ----       1       fsc 0x0000.00000000

0x03   0x0007.013.0000009e  0x00807816.0025.1f      ----       1       fsc 0x0000.00000000

0x04   0x000a.01a.0000009d  0x0080022a.002d.2e     ----       1       fsc 0x0000.00000000

ITL 0x01 被另一事务重用后状态

Itl                           Xid                         Uba                  Flag     Lck        Scn/Fsc

0x01   0x0008.026.0000009d  0x008072f1.0025.0c     ----        1       fsc 0x0000.00000000

0x02   0x0009.01d.000000a0  0x008073f2.0025.10     ----        1       fsc 0x0000.00000000

0x03   0x0007.013.0000009e  0x00807816.0025.1f     ----        1       fsc 0x0000.00000000

0x04   0x000a.01a.0000009d  0x0080022a.002d.2e    ----        1       fsc 0x0000.00000000

通过重用后的ITL如何得到重用前的ITL?


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部