oracle的rman备份保留天数,rman备份集的保留策略

rman备份集的保留策略

基于时间和基于冗余数量的备份保留策略

基于时间的备份保留策略:

你希望数据库最早能恢复到几天前,比如7,那么保留的备份文件就能保证将数据库恢复到一周内任何一个时刻.设置命令:

rman>CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF N DAYS;(n为大于0的正整数)

执行后,各个备份必须满足下列条件:

sysdate - backup checkpoint time >=7

任何不满足上述条件的备份都被rman废弃并可以通过delete obsolete命令删除.

初始化参数control_file_record_keep_time指定在控制文件中的最少保留时间,默认7,超过后由于空间不足重用记录,就会被自动覆盖,此时忽视你在rman中设置的时间保留策略.当前控制文件中分配的空间中,可存储记录和已存储记录数,可通过查询视图v$controlfile_record_section获取.

sql>select * from v$controlfile_record_section

基于冗余数量的备份保留策略

是说某个数据文件以各种形式(包括备份集和镜像复制)存在的备份的数量,如果某个数据文件的冗余备份数量超出了指定数量,

rman将废弃醉酒的备份.如下命令设置:

rman>CONFIGURE RETENTION POLICY TO REDUNDANCY n;(n为大于0的正整数)

也可不使用任何备份保留策略

rman>CONFIGURE RETENTION POLICY TO NONE;

根据备份策略维护备份集

设置保留策略后,rman会自动判断那些备份集或镜像复制文件不必再保留,这些备份文件会被标记为"废弃obsolete",可以通过

report obsolete命令查看处于废弃状态的备份文件,也可通过delete obsolete删除这些废弃的备份.

rman>report obsolete;

rman>delete obsolete;

执行删除命令时有两点需要了解:

如果标为废弃的备份时一个单独数据文件的镜像复制,delete时会直接删除此文件.

如果被判断为废弃的备份时一个备份集的一部分,则必须等到整个备份集所有文件都废弃后,才能删除这个备份集.

对于增量备份,不管是基于时间还是基于冗余数量,rman都是检测0级备份是否满足需求.

注意一下rman对于手工删除的文件,屋里不存在的crosscheck后标为expired,超出策略的标记为obsolete

通道

备份设备两种:SBT磁带和DISK磁盘(带盘的就是disk)

手工分配通道有个专用命令:allocate channel——只能在run块中出现.在执行backup,restore扥更需要进行磁盘I/O操作的

命令时,可将它们与allocate channel放在一个run块中,例如:

rman>run {

allocate channel c1 device type disk format 'd:\oracle\bobbackup\cn_%U';

backup tablespace users;

}

ff8d6d2d8fbeef9ebdfcf1c9d2118cd9.png

rman中执行的每一条backup,recover都至少使用一个通道,通道数决定了这些操作执行的并行度,每条allocate channel命令对应

一个通道,如果需要多个通道的话,执行多条allocate channel.自动分配通道如果没手动指定allocate channel分配通道,那么rman会在backup等操作I/O时使用预定义配置中的设置来自动分配通道.

下列预定义配置均可以分配通道:

CONFIGURE DEVICE TYPE sbt/disk PARALLELISM n;

CONFIGURE DEFAULT DEVICE TYPE To sbt/disk;

CONFIGURE CHANNEL DEVICE TYPE sbt/disk FORMAT...;

CONFIGURE CHANNEL n DEVICE TYPE sbt/disk FORMAT...;

是否启用复合备份

一种更谨慎的备份策略:duplexed方式备份,实质是在生成备份集同事,向指定位置生成指定份数(最大4)的备份复制文件.rman提供了三种方式实现duplexed备份:1.执行backup时指定copies参数,比如

rman>backup copies 3 database;

全库备份时自动生成当前备份集的2份备份到默认备份目录.

2.利用set backup copies命令指定复合备份.在run块中利用set backup copies为所有的backup设置duplexed方式,例如:

rman>run {

set backup copies 2;

backup device type disk format 'D:\oracle\bobbackup\%U','D:\oracle\bobbackup2\%U'

tablespace users,sales;

}

此命令生成两份备份集分别放到两个路径下.

3.利用configure指定复合备份,通过configure...backup copies设置预定义的备份duplexed方式.

configure...backup copies可以为指定的设备类型设置默认的备份复制数量.这个仅适用于数据文件和归档日志,而且只有在使用

自动分配的通道时才能够使用configure...backup copies命令设置的配置.例如:

rman>CONFIGURE DEFAULT DEVICE TYPE TO DISK;

rman>CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE disk TO 2;

rman>CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE disk TO 2;

上述命令将disk设备上的数据文件与归档文件的复制数量设置为2,当再执行backup database命令时,如果没有通过allocate channel fenpei通道,那么创建的

备份就会自动生成2份备份集.

是否设置备份集属性

对于备份集(或片段),rman直接提供了方式支持定义备份片段的文件名,备份片段大小及备份集标签.默认下执行backup时rman会自动为每个备份片段生成一个唯一名,因为rman默认通道分配时制定了一个参数值为%F的format参数.例如分配通道时指定备份片段命名格式:rman>run {

allocate channel c1 device type disk format 'd:\oracle\cn_%U';

backup tablespace users;

}

执行备份命令时指定备份片段命名格式:

rman>backup tablespace users format 'd:\oracle\cn_%U';设置备份集标签备份时给备份集制定一个名称,rman里叫tag,实际上每个备份集都有tag标签,并不是必须指定,默认规则为:

TAGyyyymmddThhmmss,TAG和T是固定字符,其它为执行备份操作时间.可自行指定:

rman>backup tablespace users tag tbs_usersbak;设置备份片段/备份集大小默认情况下,一种类型的文件在备份集中都会存成一个备份片段,但需要控制文件大小.

rman在分配通道时有一个参数maxpiecesize,专门用来指定备份片段大小的.看个例子:

rman>run {

allocate channel c1 device type disk maxpiecesize=10m format 'd:\oracle\bobbackup\bak_%U';

backup tablespace users;

}

还能指定备份集大小,例子:

rman>backup database maxsetsize=100m;

此参数鸡肋在于:任意数据文件大于100m的话,都无法执行成功.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值