首批通过分布式安全可靠测评,为关键业务系统打造
归档延迟的统计方法
更新时间:2026-05-12 09:06
OceanBase 数据库的归档延迟是以集群、租户、分区来逐级统计的,租户内所有分区的最小归档位点为租户的归档位点,所有租户的最小归档位点为集群的归档位点。
在执行新建表、分区的时候,新建的表和分区在开启归档前,其归档位点为 -1,会导致本租户、集群的同步位点不推进,可能会触发 OCP 等监控工具告警。
当业务租户 1005 中批量执行建表、分区,或者 Truncate 表、分区的操作时,系统表 CDB_OB_BACKUP_ARCHIVELOG_SUMMARY 会显示该租户(1005)的日志归档存在较大的延迟。
查询每个租户的备份存档摘要,并返回每个备份的最大下一个时间距离当前时间的秒数。
obclient> SELECT tenant_id, status, (time_to_usec(now()) - time_to_usec(max_next_time)) / 1000000 AS delay FROM cdb_ob_backup_archivelog_summary where status='doing';
+-----------+--------+-----------+
| tenant_id | status | delay |
+-----------+--------+-----------+
| 1 | DOING | 168.4100 |
| 1001 | DOING | 154.1547 |
| 1004 | DOING | 166.3791 |
| 1005 | DOING | 3168.2172 |
| 1006 | DOING | 168.4100 |
| 1007 | DOING | 168.2172 |
| 1008 | DOING | 166.3791 |
| 1009 | DOING | 168.4100 |
+-----------+--------+-----------+
查询分区的归档状态,发现新建的表、分区其归档点位为 -1,表示还未开启归档。
obclient> SELECT svr_ip, tenant_id,table_id, partition_id, usec_to_time(log_archive_cur_ts), now(), log_archive_cur_ts
FROM oceanbase.__all_virtual_pg_backup_log_archive_status
ORDER BY log_archive_cur_ts ASC LIMIT 5;
+---------------+-----------+------------------+--------------+----------------------------------+---------------------+--------------------+
| svr_ip | tenant_id | table_id | partition_id | usec_to_time(log_archive_cur_ts) | now() | log_archive_cur_ts |
+---------------+-----------+------------------+--------------+----------------------------------+---------------------+--------------------+
| 11.xxx.xx.111 | 1005 | 1105558941729769 | 40 | 1970-01-01 07:59:59.999999 | 2023-08-28 18:18:04 | -1 |
| 11.xxx.xx.115 | 1005 | 1105558941729769 | 40 | 2023-08-28 18:15:18.495658 | 2023-08-28 18:18:04 | 1693217718495658 |
| 11.xxx.xx.168 | 1005 | 1105558941729769 | 40 | 2023-08-28 18:15:18.495658 | 2023-08-28 18:18:04 | 1693217718495658 |
| 11.xxx.xx.111 | 1006 | 1106108697593438 | 0 | 2023-08-28 18:15:18.495658 | 2023-08-28 18:18:04 | 1693217718495658 |
| 11.xxx.xx.115 | 1006 | 1106108697593438 | 0 | 2023-08-28 18:15:18.495658 | 2023-08-28 18:18:04 | 1693217718495658 |
+---------------+-----------+------------------+--------------+----------------------------------+---------------------+--------------------+
RS 周期性统计所有 server 上的分区,汇总租户级、集群级归档进度。如果统计时遇到有归档进度为 -1 的分区,那么这次就没法推进租户、集群的归档进度。如果频繁创建分区,RS 可能在连续多次统计归档进度时都无法推进租户、集群的归档位点,导致租户、集群的同步位点延迟较大。
适用版本
OceanBase 数据库 V2.x、V3.x 版本。