哪些操作会生成REDO日志?
3 个赞
根据文档库中的信息,OceanBase 数据库在执行事务时会生成 REDO 日志。特别是对于 UPDATE 类型的 SQL 语句,系统会生成 REDO 日志来保证操作的持久性和可恢复性。此外,当事务提交或发生写入操作时也会产生 REDO 日志。这些日志记录了数据库中数据修改的历史,确保在系统崩溃后能够通过回放这些日志恢复到最新的数据状态。更具体来说:
- 在执行
UPDATE等类型的数据修改操作时,为了保证这些操作可以被正确地回放和恢复,系统将生成 REDO 日志。这包括更新行的所有更改,依据是 FULL 或 Minimal 模式下的日志记录策略。 - 事务过程中,如果事务上下文中维护的操作(如数据写入、上锁)导致数据量超过设定阈值(例如,在 V3.x 及之后版本中为 2 MB),即使事务尚未提交,也将即时生成并提交 REDO 日志至 Clog 模块。
- 事务提交前,系统遵循 WAL (Write-Ahead Logging) 原则,确保所有的 REDO 日志已经持久化存储于多数派副本之上,这是保证事务持久性的重要步骤之一。
上述内容主要基于Redo 日志 → 日志的补充记录与Redo 日志 → 日志的产生两个文档片段整理得出。
更多信息请查看: