OceanBase的事务日志盘满了会怎样?
当 OceanBase 的事务日志盘空间耗尽时,数据库会触发一系列保护机制,从限流到最终停止写入,以保障数据的一致性和集群的稳定性。
当 OceanBase 的事务日志(CLOG)盘满时,会产生以下影响:
-
节点停写:一旦 CLOG 空间利用率超过 log_disk_utilization_limit_threshold(默认为 95%),节点会停止写入操作,以防止 CLOG 空间进一步被占满。
-
业务写入失败:由于节点停止写入,业务请求中的写操作将会失败,导致应用程序无法正常工作。
-
分区无主:CLOG 空间不足可能导致某些分区无法选举出主副本,从而无法进行正常的读写操作。
-
副本不同步:由于 CLOG 文件无法回收,从节点的 CLOG 文件也会逐渐增大,导致副本之间的同步出现问题。
-
集群不可用:在极端情况下,多个节点同时出现 CLOG 空间不足的问题,可能导致整个集群无法正常工作。
-
数据一致性风险:CLOG 是保证数据一致性和持久性的关键组件,如果 CLOG 空间不足,可能会导致数据丢失或不一致。
为了预防这种情况,建议定期监控 CLOG 空间的使用情况,并采取适当的措施,如调整 log_disk_utilization_threshold 和 log_disk_utilization_limit_threshold 参数,或者增加 CLOG 磁盘的容量。
检索到的文档如下:
- 日志同步问题
- 节点数据盘空间满
- 节点日志盘(Clog)空间满
- 集群管理 FAQ
- oceanbase数据库运行过程中手动删除clog日志
- oceanbase clog盘如何瘦身
- OceanBase 数据库性能的影响因素