柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!
全部博文(1669)
分类: Oracle
2011-12-05 16:18:06
一、保留策略 retention policy
. 配置默认的保存策略 ( Retention Policy)
保存策略是管理备份与副本有效期或者是否有效的一种方法。恢复数据库的时候
Oracle 不考虑失效的备份。我们可以定义两种保存策略:恢复窗口备份保存策略
(recovery window backup retention policy )和冗余备份保存策略(redundancy backup
retention policy )
备份策略保持 分为两个保持策略:
一个是时间策略,决定至少有一个备份能恢复到指定的日期
一个冗余策略,规定至少有几个冗余的备份。
恢复窗口备份保存策略
这种保存策略类型的使用基于数据库可能恢复到的最早的日期。 例如,假设今天
是星期一,此前存在 3 个备份。第一个备份在昨天生成的,第二个备份是上星期四生
成的,而最后一个备份是 10 天前备份的。假如恢复窗口是 7 天,那么昨天和上星期
四的备份是有效备份,而 10 天前的备份会成为废弃备份。下面的命令将恢复窗口配置为7 天:
RMAN> configure retention policy to recovery window of 7 days;
冗余备份保存策略
使用这种保存策略,RMAN 会从最新备份开是保留 N 个数据备份,其余的废弃。
例如,如果有四个备份,而冗余数是 3,那么最早的那个备份将被废弃。下面的命令将
备份策略设置为 3:
RMAN> configure retention policy to redundancy 3;
设置NONE 可以把使备份保持策略失效,Clear 将恢复默认的保持策略
RMAN> configure retention policy to none;
例:
保证至少有一个备份能恢复到 Sysdate-5 的时间点上,之前的备份将标记为
Obsolete
RMAN> configure retention policy to recovery window of 5 days;
至少需要有三个冗余的备份存在,如果多余三个备份以上的备份将标记为冗余
RMAN> configure retention policy to redundancy 5;
二、增量备份两种方式:累积增量备份和差异增量备份
Incremental Backups
Incremental backups copy only those blocks that have changed since a previous backup. A level 0 incremental backup captures all data blocks in a datafile. Level 1 incremental backups capture changes since a previous backup. Level 1 backups can be cumulative, in which case they capture changes since the last level 0 incremental backup, or differential, in which case they capture changes since the last level 0 or level 1 incremental backup.
上面是Oracle对增量备份的描述,可以看出来,只有1级备份有累积备份和差异备份,1级累积备份只备份上一次0级备份后改变的数据,而1级差异备份则备份上次0级或1级备份后改变的数据.
--from《Oracle Database 10g OCP Certification All-in-One Exam Guide OCP认证考试指南全册.pdf》
Incremental backups come in three forms. An incremental level 0 backup isn’t incremental at all.
Level 0 means a full backup, which will contain every used datafile block. The difference comes with subsequent incrementals: a full backup can’t be used as the base for a level 1 backup. A differential level 1 backup, which is the default type of incremental, contains only data blocks modified since the last incremental level 1 backup (cumulative or differential), or blocks modified since the last level 0 backup if there has not been an intervening level 1 backup. A cumulative level 1 incremental backup will contain only the blocks modified since the last level 0 backup.
差异1级增量备份,是default的,备份上一次level1的(差异或累积备份)或者上一次0级的(如果中间没有level1的);累积增量只备份上次level0以后的。
引用 7 楼 woweigekuang80 的回复:
你们所说的那些都没有说到重点,我现在知道差异增量和累积增量是什么意思,但是这两种增量前面加了级别,我就搞不清楚了,比如说:
1.一级差异增量
2.一级累积增量
3.二级差异增量
4.二级累积增量
前面加了级别我就搞不清楚了,谁能具体说说?
cumulative(累计增量)
寻找n-1或者更小
对于累积增量:
每次备份,从这个时间点往前寻找,比如说你是2级累积增量备份,那么就备份从最近一次1级备份以来改变的数据.
differential差异增量
寻找n或更小
每次备份,从备份的时间点往前寻找,比如说你是2级差异备份,备份从最近一次2级备份以来改变的数据.
如果最近一次备份是1级而不是2及的怎么办?
根据"寻找n或更小" 这个原则来处理.它就从最近的1级备份来做增量备份了.
差异和cumulative什么区别?
可以发现了,差异备份需要从本级备份,而cumulative必须从前一级备份找起.
那么,哪个备份占用的空间更多呢?
cumulative级别备份,而数据库默认的增量备份不是这个级别,而是差异备份.
明白了吧
三、关于Rman备份策略:
RMAN优于手工备份的一点就是支持增量备份,这使得VLDB的备份变得更加轻松。分为差异增量备份和累积增量备份两种。差异增量备份自上一次同级或更低级别备份以来的变化,累计增量备份自上一次更低级别备份以来的变化。
基于备份信息保存周期和增量备份的使用,采用如下的RMAN备份策略:
1. 星期日0级全备---利用相对空闲时段完成RMAN全备
2. 星期一1级差异增量备份
3. 星期二1级累积增量备份
4. 接下来增量和差异相互交替,以期在发生故障时采用最少的备份文件来恢复数据库
---案例研究:
AAA10:15:39
帮忙看下:
执行增量备份:
星期3,6 执行0级备份;
星期1,2,4,5,7执行1级备份;
我保存策略是0级1天的,1级2天
假如今天是星期4执行完了1级备份了,星期1,星期2,上哥星期7,上个星期六的0级备份,都不会过期的是吗
CCCCC10:19:26
过不过期就是在report obsolete或者delete obsolete才判断,平常都是有效的
AAA10:20:21
我在脚本执行了delete noprompt obsolete;
是不是就会把星期1和星期2的删除了呢
是累计增量的
DDDDD 10:21:55
是的
BBBB10:22:56
你的备份策略不是保留2天前的吗,如果你2天前的备份是1级增量,那么这个增量之前的0级备份也不会过期,哪怕这个0级备份已经超过2天了
AAA10:24:40
我的1级备份是保留2天的。
BBBB10:29:01
我建议你保存策略直接在RMAN的CONFIGURE里设置为2天
AAA10:29:51
嗯。我刚接这个数据库,以前是他们这么备的,我对这个策略很模糊。
BBBB10:30:50
这样设置0级1天保存,根本没效果的,因为1级的要有效,必须保留0级的,所以0级的保存时间肯定不只1天 ,
0级备份要过期,必须要等到这个备份之后、下个0级备份之前的所有1级备份都过期才行
AAA10:34:21
哦,那要看1级备份到底有没有过期,如果过期了,0级别才会过期啊
BBBB10:43:51
是啊,不然你只靠那个1级备份,恢复不到那一天啊
AAA10:50:54
星期3,6 执行0级备份;
星期1,2,4,5,7执行1级备份;
我保存策略是0级1天的,1级2天
假如今天是星期4执行完了1级备份了,由于保存策略我2天,那么星期2的一级备份会判断为未过期,=》星期一也不过期=》星期天也不过期=》星期六0级备份也不过期。可以这么理解吗
BBBB) 10:57:04
是啊
AAAAAA) 10:58:11
o .哈哈。谢谢。
---我的backup策略:
----------level1 每周日,1:00
RUN
{
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'D:/oracle/product/10.2.0/flash_recovery_area/FFDW/RMAN_BKP_FFDW_CONTROLFILE_%D_%F';
ALLOCATE CHANNEL CH1 DEVICE TYPE DISK FORMAT 'D:/oracle/product/10.2.0/flash_recovery_area/FFDW/RMAN_BKP_FFDW_datafile_%T_%d_%U.dbf';
set limit channel CH1 kbytes 2097152;
backup incremental level 0 database plus archivelog delete input;
CROSSCHECK BACKUPSET;
RELEASE CHANNEL CH1;
}
ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK;
CROSSCHECK BACKUPSET;
DELETE NOPROMPT OBSOLETE;
---------1级,每天2点
RUN
{
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 1 DAYS;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'D:/oracle/product/10.2.0/flash_recovery_area/FFDW/RMAN_BKP_FFDW_CONTROLFILE_%D_%F';
ALLOCATE CHANNEL CH1 DEVICE TYPE DISK FORMAT 'D:/oracle/product/10.2.0/flash_recovery_area/FFDW/RMAN_BKP_FFDW_datafile_%T_%d_%U.dbf';
set limit channel CH1 kbytes 2097152;
backup incremental level 1 cumulative database plus archivelog delete input;
CROSSCHECK BACKUPSET;
RELEASE CHANNEL CH1;
}
ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK;
CROSSCHECK BACKUPSET;
DELETE NOPROMPT OBSOLETE;
参考:
http://www.itpub.net/thread-1133247-1-1.html