正常的备份策略包括:全库备份,full备份,创建镜像备份,累积增量备份以及差异增量备份:
全库备份:如名,对oracle整个数据库进行备份,包括archivedlog,数据文件,控制文件,参数文件。
示例:
full备份:backup databse命令默认是一个full 备份,(注意:full备份不备份归档日志)
创建镜像备份:也可以使用rman创建你需要备份的文件的完全镜像,并指定一个目录来存放它,镜像文件可以认为是 所需备份文件的完全复制,文件大小是相同的。
例如:BACKUP AS COPY DATAFILE '/ORADATA/users_01_db01.dbf';
累积增量备份和差异增量备份有何区别?
下面两张图可以很好的诠释 累积增量备份和差异增量备份的区别:
差异增量备份:
累积增量备份:
如果我们在周日这一天做了0级全备(注意0级全备 与 full 备份是有差异的,0级备份可以做为1级备份的参照,full备份不可以,但在备份内容上,0级备份与full备份备份的内容相同)。
周一做了2级备份。
在周二这天,如果我们做了2级备份,如果我们是差异增量备份,本次2级备份会找n级或n-1级备份。在图中周二这一天可以参照周一同级的2级备份,所需要备份的内容为周一到周二这一天的内修改的内容。
如果我们是累积增量备份,则只会找n-1级备份,没有n-1级备份再找n-2级备份。图中周二的2级备份只会找1级备份,1级找不着就会找0级备份。
能不能更快?
增量更新备份:
我们可以这样做,先做一个0级备份,之后每一天都做一次一级备份,再把这个一级备份所修改的内容,每天都应用于这个0级备份,这样这个0级备份每天都是全新的。
示例:
1、第一次执行命令,会创建一个完整的备份(这个1级备份因为是第一次执行,前面没有0级备份,所以本次1级备份就是一次0级备份)。
backup incremental level 1 for recover of copy with tag 'daily_inc' database;
2、此时如果做recovery,是没有动作,因为没有增量备份
recover copy of database with tag 'daily_inc';
3、再次执行,产生增量备份,文件存放在指定的format路径下
backup incremental level 1 for recover of copy with tag 'daily_inc' database;
4、此时会应用增量备份进行recovery
recover copy of database with tag 'daily_inc';
5、list copy和list backup都会出现相应的内容。
能不能更快?
打开块移动跟踪(Monitoring Block Change Tracking):
速度超级快。
使用快移动跟踪后瞬间完成,因为它仅需要查找被修改的块,避免了全表扫描。