OceanBase的事务日志盘满了会怎样?

OceanBase的事务日志盘满了会怎样?

当 OceanBase 的事务日志盘空间耗尽时,数据库会触发一系列保护机制,从限流到最终停止写入,以保障数据的一致性和集群的稳定性。

OceanBase 的事务日志(CLOG)盘满,核心结果是:节点停写、业务写入失败、分区无主、副本不同步,严重时引发集群不可用与数据一致性风险。
详细解释一下 @论坛小助手

当 OceanBase 的事务日志(CLOG)盘满时,会产生以下影响:

  1. 节点停写:一旦 CLOG 空间利用率超过 log_disk_utilization_limit_threshold(默认为 95%),节点会停止写入操作,以防止 CLOG 空间进一步被占满。

  2. 业务写入失败:由于节点停止写入,业务请求中的写操作将会失败,导致应用程序无法正常工作。

  3. 分区无主:CLOG 空间不足可能导致某些分区无法选举出主副本,从而无法进行正常的读写操作。

  4. 副本不同步:由于 CLOG 文件无法回收,从节点的 CLOG 文件也会逐渐增大,导致副本之间的同步出现问题。

  5. 集群不可用:在极端情况下,多个节点同时出现 CLOG 空间不足的问题,可能导致整个集群无法正常工作。

  6. 数据一致性风险:CLOG 是保证数据一致性和持久性的关键组件,如果 CLOG 空间不足,可能会导致数据丢失或不一致。

为了预防这种情况,建议定期监控 CLOG 空间的使用情况,并采取适当的措施,如调整 log_disk_utilization_threshold 和 log_disk_utilization_limit_threshold 参数,或者增加 CLOG 磁盘的容量。

检索到的文档如下:

  1. 日志同步问题
  2. 节点数据盘空间满
  3. 节点日志盘(Clog)空间满
  4. 集群管理 FAQ
  5. oceanbase数据库运行过程中手动删除clog日志
  6. oceanbase clog盘如何瘦身
  7. OceanBase 数据库性能的影响因素