问题现象
备库数据备份失败,查看 CDB_OB_BACKUP_JOB_HISTORY 视图,该失败任务报错的 result 为 -4344。
问题诊断
触发条件
备租户数据备份。
事后诊断
查询 CDB_OB_BACKUP_JOB_HISTORY 视图中该备份任务的报错信息,result 的值是 -4344 。例如:
obclient> SELECT * FROM CDB_OB_BACKUP_JOB_HISTORY WHERE TENANT_ID=1006 AND JOB_ID=18\G
*************************** 1. row ***************************
TENANT_ID: 1006
JOB_ID: 18
INCARNATION: 1
BACKUP_SET_ID: 18
INITIATOR_TENANT_ID: 1
INITIATOR_JOB_ID: 21
EXECUTOR_TENANT_ID: 1006
PLUS_ARCHIVELOG: OFF
BACKUP_TYPE: INC
JOB_LEVEL: USER_TENANT
ENCRYPTION_MODE: NONE
PASSWD:
START_TIMESTAMP: 2024-03-01 06:52:00.126323
END_TIMESTAMP: 2024-03-01 08:29:24.907201
STATUS: FAILED
RESULT: -4344
COMMENT: (ROOTSERVICE)addr: xxx.xxx.xxx.xxx:4000, result: -4344(invalid timestamp), trace_id: YFA00B7C059D-000612830F535B61-0-0
DESCRIPTION:
PATH: oss://xxx
1 row in set (0.02 sec)
问题原因
在数据备份即将完成时,要备份一份该租户下的 table 快照列表,取的快照版本是当时的 REPLAYABLE_SCN,而 SQL 执行时可读点还小于快照点,查询报错 -4344。
问题的风险及影响
备库数据备份可能失败。特别地,若是网络备库,数据备份失败的概率非常高,建议升级。若是基于日志归档的备库,数据备份失败的概率较低。
适用版本
OceanBase 数据库 V4.2.1 BP4(oceanbase-4.2.1.4-104000062024022914) 版本。
解决方法
升级到 OceanBase 数据库 V4.2.1 BP5(oceanbase-4.2.1.5-105000072024041817) 及之后版本。
规避方法
不在备库上使用数据备份功能。