RMAN处理split block问题

Oracle 10.2.0.4.0  ,   Linux AS 5.4   


默认情况下, RMAN 备份会有下面的简单几个过程 :

1.  RMAN 将需要备份的数据文件的所有数据块(Oracle block, 不管是否已格式化,是否有数据) 读入输入缓冲区
     (PGA的一部分) , 这个过程是以Oracle block为最小单位进行的, 不存在OS Block级别的拷贝或备份, 那
     么这个过程是不会产生所谓的"split block " 的  ?   

2.  随后一个重要过程是Memory-To-Memory 过程, 也就是输入缓冲区写满后写入输出缓冲区 (默认也是PGA
     的一部分) ,  这个过程中会有一些事情要做。    Oracle 10.2.0.2.0 首先判断oracle block是否被使用过(
    头信息是否为零),    如果数据块未被使用过, 就不会发生到输出缓冲区的写操作,同时丢弃此数据块, 如果
    使用过, 然后判断是否存在数据 (估计也是判断头信息), 如果存在就会在这个数据块上执行检验和checksum
     操作 。 最后判断Oracle block头和脚注是否匹配, 判断是否是split block,  如果不是就写入输出缓冲区,
     如果是split block,  那么重新将block备份到输入缓冲区 。

这里有个问题:  写入输入缓冲区的Oracle block 不会存在split block (如果存在,是如何产生的?),  这些
block在session特定的pga中存放,  那么后面做Memory-To-Memory 过程中为何还要判断 split block  ?   

3.   写入输出缓冲区的Oracle block达到一定程度 (满了) , 会写入备份位置 (假设为磁盘) 。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-701871/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/35489/viewspace-701871/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值