1、RMAN执行脱机-全部-完整备份
RMAN> run {
2> shutdown immediate;
3> startup mount;
4> allocate channel d1 type disk;
5> backup as backupset database format '/oraclebk/offline_full_whole.bak';
6> alter database open;
7> }
2、RMAN脚本
#脚本offline_full_whole.rman内容:
run {
shutdown immediate;
startup mount;
allocate channel d1 type disk;
backup as backupset database format '/oraclebk/offline_full_whole_%T_%U.bak';
alter database open;
}
#执行RMAN脚本
su - oracle
rman target / @offline_full_whole.rman
3、RMAN执行在线-全部-完整备份
run {
allocate channel t1 type disk;
backup as compressed backupset filesperset 4 database format '/oraclebk/online_full_whole_%T_%U.bak';
}
4、增量备份
backup incremental level 0 database;
backup incremental level 1 database;
注:做增量备份的前提,是需要一个基准备份,所有的增量都是针对这个基准来说的。要不然,增量备份无从谈起。增量备份使用INCREMENTAL LEVEL=integer关键字指定。integer可以是0到4之间的任意整数。必须将0 级备份作为增量策略的基础备份。0 级增量备份在内容上与完全备份相同,但与完全备份不同的是,0 级备份被看作是增量策略的一部分。如果在运行1 级或更高级别的备份时,0 级备份不存在,RMAN 会自动制作0 级备份。
5、查看RMAN配置信息
show all;
6、非归档模式下还原数据库
run {
shutdown abort;
startup mount;
restore database;
alter database open resetlogs;
}
7、冲刷高速缓冲区
alter system flush buffer_cache;
8、不完整恢复
run {
shutdown immediate;
startup mount;
set until time = "to_date('26-12-17 15:20:00','dd-mm-yy hh24:mi:ss')";
restore database;
recover database;
alter database open resetlogs;
}
9、RMAN恢复报一下错误
RMAN> restore database;
Starting restore at 26-DEC-17
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/orcl/system01.dbf
channel ORA_DISK_1: restoring datafile 00002 to /u01/app/oracle/oradata/orcl/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/orcl/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/orcl/users01.dbf
channel ORA_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/orcl/example01.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/flash_recovery_area/ORCL/backupset/2017_12_26/o1_mf_nnndf_TAG20171226T170208_f4440jv1_.bkp
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 12/26/2017 17:03:30
ORA-19870: error while restoring backup piece /u01/app/oracle/flash_recovery_area/ORCL/backupset/2017_12_26/o1_mf_nnndf_TAG20171226T170208_f4440jv1_.bkp
ORA-19573: cannot obtain exclusive enqueue for datafile 1
处理方法:
SQL> shutdown immediate;
SQL> startup mount;
注意:使用RMAN恢复时需要将数据库启动到mount状态