rman的备份类型:
1.完全备份,默认情况下是as backupset,是full。这里的【完全备份】,不是【数据库的完全备份】,因为没包含spfile,controlfile,archivelog等。
report schema;
backup database
backup [full] datababase
backup as copy database
backup as backupset database
要包含archivelog的话,附加
backup database plus archivelog;
rman的元数据,没使用catalog的情况下,是写在controlfile里面,所以如果设置了controlfile自动备份,一旦执行rman后,controlf就会变,那么也就会立刻自动备份了。
执行的backup database plus archivelog;结尾有这样的内容。
Starting Control File and SPFILE Autobackup at 09-APR-15
piece handle=/ORADATA/app/flash_recovery_area/ORCL11G/autobackup/2015_04_09/o1_mf_s_876592596_bldhp5s4_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 09-APR-15
设置controlfile自动备份
configure controlfile autobackup on; 字面上只是controlfile,其实spfile也会跟着备份。
这个controlfile自动备份如果没指定db_recovery_file_dest,默认会备份到oraclehome的dbs目录下。
所以backup database plus archivelog;可以认为是【数据库的完全备份】。
backup database plus archivelog delete input; [delete input]指定可以删除已经备份了的archivelog(不是说备份进了backupset的archivelog,而是说log_archive_dest目录下的)。另外如果使用了db_recovery_file_dest,不指定也会自己删,想来因为有了全备份,还要外面的目前到为止的archivelog干啥,因为backupset里面已经有了。
2.增量
增量0
backup incremental level 0 database
增量1差分
backup incremental level 1 database
增量1累计差分
backup incremental level 1 cumulative database
为了增量备份跑得更快,可以打开block tracking功能更来记录block的改变
select * from v$block_change_tracking看是否enable 了block tracking
alter database enable block change tracking using file '/ORADATA/app/oradata/orcl11g/tracking.dbf';来打开block tracking
这个tracking.dbf坏了的话,是没得救的,只得重新来过,也不是啥重要文件。
查看block tracking的效果,可以看v$backup_datafile表
SELECT file#,
AVG (datafile_blocks),
AVG (blocks_read),
AVG (blocks_read / datafile_blocks) * 100 AS pct_read_for_backup
FROM v$backup_datafile
WHERE used_change_tracking = 'YES' AND incremental_level > 0
GROUP BY file#
没有评论:
发表评论