全量备份完成后,备租户恢复报错:Error 4018: No enough log for restore

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

  1. 主机ob1开启日志归档doing,并执行全量备份,全量备份完关闭 归档。
    ALTER SYSTEM BACKUP TENANT = ‘haiyisec’;
    2.全量备份完之后,立即关闭归档模式:
    ALTER SYSTEM NOARCHIVELOG TENANT = ‘haiyisec’;
    3.将主机ob1的备份文件同步到ob2上
  2. 在ob2上执行备租户恢复还原:
    ALTER SYSTEM RESTORE haiyisec FROM ‘file:///hybackup/data,file:///hybackup/archive’ WITH ‘pool_list=haiyisec_pool&concurrency=100’;
  3. 此时ob2上报错:Error 4018: No enough log for restore

【问题】
1.物理备份完成之后,关闭归档模式,在同步备份文件到另一个机器恢复 有时候 成功有时候失败 ,为什么?备份完成之后不能关闭归档模式吗?

2 个赞

全备时,加上这个参数PLUS ARCHIVELOG试试?

3 个赞

这个是缺少归档日志,你做恢复时需要保证归档足够,有可能备份做完了,归档还未完全生成,应该是立即关闭归档这个操作有问题。

1 个赞

应该是你在全量备份完成后,就立刻关了归档日志。
你应该先检查一下,归档日志的最新备份时间的要大于你全量备份的结束时间。
不然就恢复不了的。

1 个赞

如果备份完成,不关闭归档,然后同步到主机b,是不是也有可能出现这种情况恢复不了,日志可能没完成归档。
有没有方式可以快速判断备份完成并且可以恢复?

2 个赞

备份完成时间 DBA_OB_BACKUP_JOB_HISTORY的END_TIMESTAMP字段

当前归档位点时间 DBA_OB_ARCHIVELOG的CHECKPOINT_SCN_DISPLAY字段

归档位点时间要更新才可以

参考
https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000001808671

2 个赞

学习了

2 个赞

学习 学习

1 个赞

缺归档日志吗?

1 个赞

如果使用楼上建议的这种方式,备份时增加 PLUS ARCHIVELOG ,是不是 备份完成就可以直接恢复了?

这种方式备份时归档和数据放在一起了,可以直接拷贝备份集到异机进行恢复,不用单独拷贝归档日志了。

好的,明白了,谢谢

这种方式可以,谢谢