备租户恢复报错:Error 4018: No enough log for restore

【 使用环境 】生产环境
【 使用版本 】4.2.0_CE
【问题描述】

  1. 主机ob1开启日志归档doing,并实时同步到ob2上
  2. 同时ob1同步执行ob1的数据备份:ALTER SYSTEM BACKUP DATABASE; 数据备份完成后同步到ob2
  3. 在ob2上执行备租户恢复还原:FROM ‘file:///sync/databackup,file:///sync/archive’
  4. 此时ob2上报错:Error 4018: No enough log for restore

【问题】

  1. 日志归档一直在同步(超过4分钟),且数据备份完成到同步过去已经过4分钟
  2. 有日志归档和数据备份两份文件,恢复的指标标准是什么样的;以何判定log不够
1 个赞

数据是不是被删除了

1 个赞

archive数据没有被删除,处于一直同步中的

1、select * from CDB_OB_BACKUP_SET_FILES where tenant_id=xxx;
2、select * from CDB_OB_ARCHIVELOG where tenant_id=xxx;
3、select * from CDB_OB_RESTORE_HISTORY where tenant_id=xxx\G

需要满足:

  • restore_scn >= 备份集的 min_restore_scn
  • restore_scn <= 日志归档的 checkpoint_scn

那么备份完成的节点是什么样的?执行备份命令操作的那一刻时间点吗

可以看下这里https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000218412

文档可查询备份进度和结果。
想了解下备份成功的机制是什么?

  1. 如全量备份的节点是执行命令那一刻的scn记录吗?
  2. 备份过程中数据仍在写入的时候,完整备份的内部截止节点是以什么样的判定备份完整。(如3.01秒执行命令备份,此时3.05秒还有业务数据写入,此时全量备份会包括3.05秒的数据吗)

T0时刻哦。可以看下
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000218106

所生成的备份文件也会有开始时间的标记