Oracle增量备份与恢复
全库备份脚本 run{ allocate channel c1 type disk;allocate channel c2 type disk;
allocate channel c3 type disk;
backup full tag
‘dbfull’ format ‘/u01/oradata/backup/full%u_%s_%p’ database include current controlfile;
sql
‘alter system archive log current’; backup fileaperset 3 format
‘/u01/oradata/backup/arch%u_%s_%p’ archivelog all delete input; #
备份归档可选,可以单独定期备份
>
>
> }
零级备份脚本 run{ allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup incremental level 0 tag
‘db0’ format ‘/u01/oradata/backup/db0%u_%s_%p’ database skip readonly;
sql
‘alter system archive log current’; backup fileaperset 3 format
‘/u01/oradata/backup/arch%u_%s_%p’ archivelog all delete input; #
备份归档可选,可以单独定期备份
>
>
> }
一级备份脚本
run{ allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup incremental level 1 tag
‘db1’ format ‘/u01/oradata/backup/db1%u_%s_%p’ database skip readonly;
sql
‘alter system archive log current’; backup fileaperset 3 format
‘/u01/oradata/backup/arch%u_%s_%p’ archivelog all delete input; #
备份归档可选,可以单独定期备份
>
>
> }
如果按照以上备份策略,则每天的所需要备份的数据量只有一天的改变量。而做恢复时最多要恢复当月的一个零级备份+三个一级备份+6个二级备份+当天的归档文件。如果不能接受这样的恢复时间,可以减少零级备份之间的时间间隔。在每次备份后,原则上在该备份点之前的归档日志就可以删除掉了,但是为了进一步的安全以及日后需要(如使用LOGMNR查找所需信息),建议有条件的话,归档日志保存到能够接受的时间点,可以保存在磁带等廉价存取设备上。
页:
[1]