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