自己根据书上的类容,总结的一个事务的过程,欢迎指正~~~~
1 申请回滚段(对回滚段加锁TX)用于将该行指向一个回滚段。
2 获得对象的TM锁,阻止其他用户修改表结构。
3,申请数据块块头ITL空闲表项,并记录事务号,(写入申请到的回滚段地址)
4,修改记录时,先修改记录头ITL索引指向 刚刚修改的表项,并拷贝记录类容到回滚段。
5,修改记录数据。
6,如果这时有其他事务来修改这条记录,那么先根据记录头部ITL索引,读取块头的ITL信息,查看这个事务是否已经提交,自己能不能获得指向的回滚段TX锁, 如果没有提交, 这个用户的TX锁会等待另一个用户的TX锁。
7 提交,或者回滚。
1 申请回滚段(对回滚段加锁TX)用于将该行指向一个回滚段。
2 获得对象的TM锁,阻止其他用户修改表结构。
3,申请数据块块头ITL空闲表项,并记录事务号,(写入申请到的回滚段地址)
4,修改记录时,先修改记录头ITL索引指向 刚刚修改的表项,并拷贝记录类容到回滚段。
5,修改记录数据。
6,如果这时有其他事务来修改这条记录,那么先根据记录头部ITL索引,读取块头的ITL信息,查看这个事务是否已经提交,自己能不能获得指向的回滚段TX锁, 如果没有提交, 这个用户的TX锁会等待另一个用户的TX锁。
7 提交,或者回滚。