日期:2014-05-16 浏览次数:20403 次
第一问:是否选择增量备份?
所有增量备份都必须先创建0级备份。0级备份相当于全库备份,但二者并不等同,因为,全库备份不包含增量备份策略。
对users 表空间建立增量备份:
RMAN> backup incremental level=0 tablespace users; RMAN> backup incremental level=1 tablespace users;
如果选择了增量备份,请务必启用块修改跟踪,否则,会因块级检查而耽误了备份时间。
可通过下列语句启用块修改跟踪:
sys@ORCL>alter database enable block change tracking;
可通过下列语句查询是否启用块修改跟踪:
sys@ORCL>select status from v$block_change_tracking;
可通过下列语句禁用块修改跟踪:
sys@ORCL>alter database disable block change tracking;
需要提醒的是,备份与恢复本就是此消彼长的,备份时间、大小短了,恢复时就不得不多读几个备份集才能完成恢复操作。
第二问:是否使用rman备份集保留策略?
rman提供了两种备份保留策略:基于时间和基于冗余数量
基于时间,也就是你希望数据库最早能恢复到几天前。
RMAN>configure retention policy to recovery window of n days;
基于冗余数量
RMAN>configure retention policy to redundancy n;
控制文件中记录的保存时间有可能对备份保留策略影响!
对于nocatalog下创建的备份,rman的备份集信息都是保存在目标数据库的控制文件中,不过oracle数据库的控制文件并不是无限扩展,其中能够保存的记录也是有限的,控制文件保存rman备份集信息受制于初始化参数control_file_record_keep_time。以天为单位,缺省是7天。如果超过7天,而且,空间不足,则rman的信息可能会被覆盖。所以,建议,control_file_record_keep_time初始化参数要大于rman的备份保留时间。
当前控制文件,可存储记录数和已存储记录数,可以借助v$controlfile_record_section获取。
第三问:是否使用多个通道?
rman支持两种备份设备:SBT(磁带)和Disk(任何带盘的东东)
allocate channel :通道= 1:1.该命令只能在run块中运行。
RMAN>run{ allocate channel c1 device type disk format '/u01/app/oracle/backup/cn_%U'; backup tablespace users; }
rman会在run块执行完后自动释放掉通道。
第四问:是否启用复合备份?
复合备份,也就是向指定位置生成指定份数。注意,默认的flash_recovery_area是不能启用复合备份的。
RMAN> backup copies 2 tablespace users; Starting backup at 06-AUG-12 using channel ORA_DISK_1 channel ORA_DISK_1: starting full datafile backupset channel ORA_DISK_1: specifying datafile(s) in backupset input datafile fno=00004 name=/u01/app/oracle/oradata/ORCL/datafile/o1_mf_users_8050fkdh_.dbf channel ORA_DISK_1: starting piece 1 at 06-AUG-12 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03009: failure of backup command on ORA_DISK_1 channel at 08/06/2012 10:56:20 ORA-19806: cannot make duplex backups in recovery area
需要为备份片指定名称:
RMAN> backup copies 2 tablespace users format '/u01/app/oracle/flash_recovery_area/ORCL/think_%U'; Starting backup at 06-AUG-12 using channel ORA_DISK_1 channel ORA_DISK_1: starting full datafile backupset channel ORA_DISK_1: specifying datafile(s) in backupset input datafile fno=00004 name=/u01/app/oracle/oradata/ORCL/datafi