首批通过分布式安全可靠测评,为关键业务系统打造
查看日志同步进度
更新时间:2026-06-30 19:10:39
备租户进入持续同步模式后,您可以通过视图来实时查看备租户的日志同步进度,以便及时做出调整。
对于主租户而言,每个主租户至少有两个日志流,即一个系统日志流,一个普通日志流。备租户与主租户的日志流数相同,也至少有两个日志流,其日志同步进度需要考虑多个日志流的总同步进度。
在同一个租户内,不同日志流之间的同步时间是可比较的,备租户总的同步进度为每个日志流同步进度的最小值。
系统租户查看备租户的同步进度
系统租户可以查看所有租户或指定租户的同步进度。
使用管理员用户登录备租户所在集群的
sys租户。执行以下语句,查看指定备租户的同步进度。
obclient(root@sys)[(none)]> SELECT TENANT_NAME, TENANT_ID, TENANT_ROLE, SCN_TO_TIMESTAMP(SYNC_SCN) FROM oceanbase.DBA_OB_TENANTS WHERE TENANT_NAME = 'standby_tenant';查询结果如下:
+----------------+-----------+-------------+----------------------------+ | TENANT_NAME | TENANT_ID | TENANT_ROLE | SCN_TO_TIMESTAMP(SYNC_SCN) | +----------------+-----------+-------------+----------------------------+ | standby_tenant | 1004 | STANDBY | 2023-04-14 16:38:53.938774 | +----------------+-----------+-------------+----------------------------+ 1 row in set查询结果中,
SCN_TO_TIMESTAMP(SYNC_SCN)列显示了备租户当前的同步进度。您可以将该时间与实际时间进行对比,如果相差较多,则表示备租户的同步进度落后于主租户。有关
DBA_OB_TENANTS视图的更多说明,请参见 DBA_OB_TENANTS。(可选)确认备租户同步进度较慢之后,可以执行以下命令,进一步查询同步进最慢的日志流。
obclient(root@sys)[(none)]> SELECT LS_ID, SCN_TO_TIMESTAMP(END_SCN) FROM oceanbase.GV$OB_LOG_STAT WHERE TENANT_ID = 1004 AND ROLE = 'LEADER';查询结果如下:
+-------+----------------------------+ | LS_ID | SCN_TO_TIMESTAMP(END_SCN) | +-------+----------------------------+ | 1 | 2023-04-14 16:42:34.249988 | | 1001 | 2023-04-14 16:42:34.295123 | +-------+----------------------------+根据查询结果,
1号日志流的同步进度较慢。
备租户查看本租户的同步进度
备租户也可以查看本租户当前的同步进度。
使用管理员用户登录备租户。
执行以下语句,查看备租户的同步进度。
MySQL 模式
obclient(root@standby_tenant)[(none)]> SELECT TENANT_NAME, TENANT_ROLE, SCN_TO_TIMESTAMP(SYNC_SCN) FROM oceanbase.DBA_OB_TENANTS;查询结果如下:
+----------------+-------------+----------------------------+ | TENANT_NAME | TENANT_ROLE | SCN_TO_TIMESTAMP(SYNC_SCN) | +----------------+-------------+----------------------------+ | standby_tenant | STANDBY | 2023-04-14 16:38:53.938774 | +----------------+-------------+----------------------------+Oracle 模式
obclient(sys@standby_tenant)[SYS]> SELECT TENANT_NAME, TENANT_ROLE, SCN_TO_TIMESTAMP(SYNC_SCN) FROM SYS.DBA_OB_TENANTS;查询结果如下:
+----------------+-------------+------------------------------+ | TENANT_NAME | TENANT_ROLE | SCN_TO_TIMESTAMP(SYNC_SCN) | +----------------+-------------+------------------------------+ | standby_tenant | STANDBY | 14-APR-23 16:38:53.938774 PM | +----------------+-------------+------------------------------+
查询结果中,
SCN_TO_TIMESTAMP(SYNC_SCN)列显示了备租户当前的同步进度。您可以将该时间与实际时间进行对比,如果相差较多,则表示备租户的同步进度落后于主租户。有关
DBA_OB_TENANTS视图的更多说明,请参见 DBA_OB_TENANTS(MySQL 模式) 和 DBA_OB_TENANTS(Oracle 模式)。(可选)确认备租户同步进度较慢之后,可以执行以下命令,进一步查询同步进最慢的日志流。
MySQL 模式
obclient(root@standby_tenant)[(none)]> SELECT LS_ID, SCN_TO_TIMESTAMP(END_SCN) FROM oceanbase.GV$OB_LOG_STAT WHERE ROLE = 'LEADER';查询结果如下:
+-------+----------------------------+ | LS_ID | SCN_TO_TIMESTAMP(END_SCN) | +-------+----------------------------+ | 1 | 2023-04-14 16:42:34.249988 | | 1001 | 2023-04-14 16:42:34.295123 | +-------+----------------------------+Oracle 模式
obclient(sys@standby_tenant)[SYS]> SELECT LS_ID, SCN_TO_TIMESTAMP(END_SCN) FROM SYS.GV$OB_LOG_STAT WHERE ROLE = 'LEADER';查询结果如下:
+-------+-----------------------------+ | LS_ID | SCN_TO_TIMESTAMP(END_SCN) | +-------+-----------------------------+ | 1 | 14-APR-23 16:42:34.249988 PM| | 1001 | 14-APR-23 16:42:34.295123 PM| +-------+-----------------------------+
根据查询结果,
1号日志流的同步进度较慢。