在一次给客户做测试的工作中,需要迁移5T的数据。商讨的方案是使用rman备份恢复到目标端。
晚上开始执行备份脚本,坑爹的客户没有把每天删除归档的crontab停掉,导致第二天一早备份完成时没有归档的备份。我开始恢复时也没有认真查看rman的log,
一直做到recover阶段时,才发现没有归档。
解决的方法是在所有数据文件头的scn号中取最小值:
select min(checkpoint_change#) from v$datafile_header;
然后在源端基于此scn做增量备份,并且备份归档:
backup as compressed backupset incremental from scn 1063330577 database format '/rmanbak/incre_scn_%U';
然后将这些增量备份catalog到目标端控制文件,然后recover。