Rman备份等级及备份脚本 基础知识: Oracle备份等级分为level 0,level 1及level 2;但是level 2并不常用,这里只稍微做下解释,这里,level 0>level 1>level 2。 数据库全备和level 0是备份同样的内容,但是,全备不能作为其他备份的基础,而level 0级备份可以作为其他备份的前置。 Oracle备份分为增量备份(incremental,默认)和累积备份(cumulitive);增量备份备份的内容是上一次同级或者更高一级的备份后的内容变化。累积备份备份的内容是上一次更高一级备份后的内容变化。 例如,备份顺序是0->1->2,那么下一次也就是第四次备份(level 2)备份的时候,如果是增量备份,那么就备份第三次备份(level 2)第四次备份(level 2)之间数据内容的变化;如果是累积备份,那么就备份第二次备份(level 1)到第四次备份(level 2)之间的数据内容变化。 0=全备 1=差异增量 上次全备或LV1至今的增量(无论是否有,有N次LV2的备份,一律从上次lv1或0至今的变化)0/1 ~ NOW 2=累积增量 上次任意级别备份至今的增量(任意一次备份至今)0/1/2 ~ NOW 注意,所有的备份的基础都要有level 0级备份作为前置,也就是说最开始必须要有level 0级备份,全备是不能用来作为level 0级备份的。 增量备份脚本: 全库备份: 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 filesperset 3 format '/u01/oradata/backup/arch%u_%s_%p' archivelog all delete input; #备份归档可选,可以单独定期备份 release channel c1; release channel c2; release channel c3; }
零级备份: 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 filesperset 3 format '/u01/oradata/backup/arch%u_%s_%p' archivelog all delete input; #备份归档可选,可以单独定期备份 release channel c1; release channel c2; release channel c3; }
1级备份: 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 filesperset 3 format '/u01/oradata/backup/arch%u_%s_%p' archivelog all delete input; #备份归档可选,可以单独定期备份 release channel c1; release channel c2; release channel c3; } 累积备份脚本: 与增量备份脚本的区别是在备份等级那里: backup incremental level=0 cumulative