1.backup archivelog all; --备份所有的归档日志
2.delete noprompt archivelog all; --删除所有的归档日志
3.restore archivelog all --出现RMAN-06025:未找到要恢复的日志线程 1 seq 5 lowscn 546012 的备份
4.restore archivelog from 'D:\ORACLE\RMAN\ORCL_2BN4T9IN_1_1';
--找到归档日志备份集中拥有最小SCN的备份集,从最小的SCN开始恢复
差异增量(differential incremental)和累积增量(cumulative incremental)的比较:
/************使用差异增量*********************/
1.backup incremental level=o database; --22:00
2.create table owen1 as select table_name from dba_tables; --22:01
3.backup incremental level=1 database; --22:02
4.create table owen2 as select privilege from dba_sys_privs; --22:03
5.backup incremental level=1 database; --22:04
6.shutdown abort;
7.删除table:owen1,owen2的表空间数据文件datafile 4;
8.startup mount;
9.run{restore datafile 4;recover datafile 4;alter database open;}
--恢复时会使用依次22:02和22:04创建的差异备份集,如果缺少22:02的备份集,出现无法打开文件的错误
/***************使用累积增量******************/
1.backup incremental level=0 database; --23:00
2.create table owen1 as select table_name from dba_tables; --23:01
3.backup incremental level 1 cumulative database; --23:02
4.create table owen2 as select privilege from dba_sys_privs; --23:03
4.backup incremental level 1 cumulative database; --23:04
7.删除table:owen1,owen2的表空间数据文件datafile 4;
8.startup mount;
9.run{restore datafile 4;recover datafile 4;alter database open;}
--恢复可以缺少23:02的备份集,但一定不可以缺少最后一次的增量备份集,否则提示无法打开文件,rman会使用23:04最后一次的备份集
如果确实丢失了一部分备份集,可以使用不完全恢复+redolog达到完全恢复。
table:owen1 created at 23:01 and owen2 at 23:03,那么在丢失23:04备份集时,先恢复到23:02的状态,后rman自动利用redolog恢复。(或着restore 完成之后,切回到SQL*PLUS,recover datafile 4;也可以完成恢复)
run{sql "alter session set nls_date_format=''yyyy-mm-dd hh24:mi:ss''";restore datafile 4;set until time '2012-03-02 23:02:00';recover datafile 4;alter database open;}
PS:1.增量备份默认使用差异增量备份,备份集相对较小,但恢复时耗时较长,若丢失任一备份集,则会导致恢复失败
2.对于累积增量备份,恢复时要备份集的数量较少,有时可能只需要一个,且恢复速度快,但备份集大小比差异时较大