实现目标:异机设置一定间隔对源机oracle进行一次backup as copy方式的增量备份,备份目标包括数据文件、归档日志、控制文件、参数文件等。依据此方法的备份无法在源机崩溃后恢复最新数据到异机,数据丢失量与增量备份的时间间隔有关,增量备份的间隔在生产机又不宜过短,因此设想用实时同步源机的归档日志到异机存储中,恢复时仅需先在异机先switch到最新数据文件,再利用归档日志恢复数据到最新时间点,以此来保证数据丢失最小化。
场景案例:每个整点做一次增量备份,假设最后一次增量在13:00完成,13:45分时源机崩溃,此时需要异机接管生产数据,若不利用实时归档日志恢复将丢失13:00~13:45这45分钟的数据,实时同步归档日志后恢复则只将丢失极少量的数据。
验证:
源机在某表在16:40插入4号数据,指令强行归档后再将归档日志考至异机,异机除了catalog之前快照对应的数据文件和归档日志外再catalog新增的归档日志在选择时间点回滚。
异机恢复注册的文件包括如下:
情景1:异机恢复switch后回滚到16:30
情景2:异机恢复switch后回滚到16:50
结论:可利用实时备份归档日志实现异机恢复oracle丢失数据的最小化。