冰城 发表于 2013-7-29 15:09:29

oracle事物槽如何获取uba?

在一个事物开始时,会产生一个事物id(xid),然后在回滚段段头的事物表中记录该事物id,同时分配回滚块儿,将uba的地址也记录在事物表中,其次在数据块儿头部事物槽也记录事物id,那么事物槽中的uba是怎么获取到的,是不是根据事物表中的xid获取到的?

guo 发表于 2013-7-30 10:14:03

数据库中的数据修改的时候,会将修改前的数据写到回滚块中,同时uba地址指向对应的回滚块。

冰城 发表于 2013-7-30 11:19:02

guo 发表于 2013-7-30 10:14 static/image/common/back.gif
数据库中的数据修改的时候,会将修改前的数据写到回滚块中,同时uba地址指向对应的回滚块。
...

嗯,谢谢啊,有没有研究过,数据块是怎么知道往哪些回滚块中写呢?数据块头部的事物槽中的uba是怎么获取到的?

oracle_周 发表于 2013-9-2 09:17:16

事物开始时,在pga中就已经生成了事物信息,然后undo_header生成事物表,然后是undo_block生成undo记录,然后才是修改数据块。有了上面的步骤,datablock中的事物槽uba还不知道怎么来的么

danhuang 发表于 2013-9-2 19:31:24

:D 不是很懂啊

冰城 发表于 2014-6-19 18:22:01

在事务表的槽位中已经对应好了回滚块儿的地址了。
页: [1]
查看完整版本: oracle事物槽如何获取uba?