首批通过分布式安全可靠测评,为关键业务系统打造
清理 OMS 依赖的全部归档日志
更新时间:2024-10-22 09:16
背景
对于 OceanBase 社区版 V4.x,如果 OceanBase 数据库作为源端(例如 OceanBase 社区版之间的数据迁移),建议您开启 OMS 日志归档。开启日志归档后,即使 Clog 被回收,OMS 仍然可以通过消费日志归档来实现增量同步。
然而,在实际使用中,由于数据量大,用户可能只选择开启日志归档(备份),而不进行数据备份。目前,日志归档的清理需要依赖数据备份。如果没有进行数据备份,最终会导致日志归档文件不断增加,引发磁盘容量告警甚至磁盘空间耗尽。
处理方法
确认当前日志归档的位点:
SELECT tenant_id, status, CHECKPOINT_SCN_DISPLAY FROM cdb_ob_archivelog WHERE tenant_id = xxx;查看 OMS Store 组件当前的位点。 更多信息,参考 查看 Store 组件的详情。 如果 Store 的位点时间在归档日志时间之后,CDC 此时不会读取归档。
关闭对应租户的日志归档:
ALTER SYSTEM noarchivelog tenant='xxx';确认 Status 变为 stop 状态:
SELECT STATUS FROM cdb_ob_archivelog WHERE tenant_id=xxx;删除已有的归档目录。
根据具体环境和目录位置,手动删除归档目录中的文件。
重新设置日志归档 dest。如果有 OCP,请在 OCP 上操作。
ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=file:///obdata/data/nfs_client/archive BINDING=Optional PIECE_SWITCH_INTERVAL=1d' TENANT = xxx;开启对应租户的日志归档:
ALTER SYSTEM SET archivelog tenant='xxx';;