全量备份完成后,备租户恢复报错: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

3 个赞

学习了

2 个赞

学习 学习

1 个赞

缺归档日志吗?

1 个赞

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

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

好的,明白了,谢谢

这种方式可以,谢谢

使用了PLUS ARCHIVELOG 进行全量备份和增量备份,清理设置了每小时进行清理:
ALTER SYSTEM ADD DELETE BACKUP POLICY ‘default’ RECOVERY_WINDOW ‘1h’ TENANT = ‘haiyisec’
为什么 不会删掉 之前的备份的文件:


没有清理哪些文件夹 都是只有一个文件夹:

清理历史显示,1-14是删除了的:

难道是使用了PLUS ARCHIVELOG 的有些数据是不会清理吗?

不同的问题,麻烦发个新帖子吧,方便问题归类

:+1: :+1: :+1:

按照正常理解,不应该 备份完成就可以用这份数据进行恢复吗?备份完成都不能恢复,那这个完成标志有什么意义呢?想了解下这样设计是基于什么考虑呢?