我想知道是否有人可以验证我对这三个术语与Oracle数据库之间的区别的理解。
许多消息来源混淆了这些术语,并且没有详细解释它们,因此查找信息有些困难。
从我的收集:
- 提交和快速提交是完全一样的东西,所有提交都是快速提交。
- 快速提交实质上仅更新撤消/回滚段头的事务表中的标志,以指示事务已提交。但是,实际块未重新访问,这意味着位于数据块头中的感兴趣的事务列表(ITL)中的撤消字节地址(UBA)仍指向相应撤消段的事务表。此外,不释放相应行的锁定字节,并且ITL中的锁定计数不变(行仍被锁定)。
- 在提交清除中,将重新访问该块,并使用提交SCN更新ITL。但是,ITL中的锁计数和每行存储的锁字节仍未更新(行仍然像快速提交中一样被锁),即使更改了块也不会生成重做。
- 正常提交(==快速提交)的块将在下次触摸(并生成重做)时进行延迟块清除。
- 进行了提交清除的块将在下次被触摸(并生成重做)时进行延迟日志记录块清除。
希望有人可以验证这些观点!谢谢!