当前位置:  数据库>oracle

Oracle恢复内部原理(热备份)

    来源: 互联网  发布时间:2017-05-18

    本文导语: Oracle热备份指在数据文件正在使用的时候对其进行复制。复制的过程中,DBWR也在进行,因此备份可能得到一些“不一致”的备份: 系列文章: a.一些数据块可能比其他块的时间要早 b.一些数据块的SCN可能比数据文件头部的SCN还...

Oracle热备份指在数据文件正在使用的时候对其进行复制。复制的过程中,DBWR也在进行,因此备份可能得到一些“不一致”的备份:

系列文章:

a.一些数据块可能比其他块的时间要早

b.一些数据块的SCN可能比数据文件头部的SCN还要早

c.一些块可能包含了一个重做记录的部分更新,其他的部分可能在这个数据文件上或者其他数据文件上

d.一些数据块可能会被损坏,因为块的头部和尾部是在不同的时间复制的。

上面的这种复制方式得到的备份集在还原后和介质恢复的时候是没有用的。介质恢复时会从数据文件上的开始热备SCN(见4.1中第二步)直至恢复过程结束(完整或不完整的恢复)。这样数据文件从事务上讲是一致的。

热备份一共有三个步骤:

a.执行命令:ALTER TABLESPACE ... BEGIN BACKUP.

b.调用操作系统的复制工具复制该表空间下所有数据文件。

c.执行命令:ALTER TABLESPACE ... END BACKUP

4.1  BEGIN BACKUP

BEGIN BACKUP命令实际对表空间的所有数据文件进行下列操作(不需要按顺序):

1. 在每个数据文件头部设置了热备份模糊标志位,表明该数据文件处于热备份状态。带有这种标记的数据文件头表明这个备份是热备份。标志的目的是冻结这个数据文件头部的检查点(停留在begin backup命令发出那一刻的SCN)。这个值作用在于当备份被还原时,介质恢复能从足够早的SCN开始重新应用重做日志。因为我们不能保证数据文件头首先被复制,因此热备份期间要将数据文件头的检查点冻结支持热备份结束。这个标准也冻结了数据文件的检查点(以及在控制文件中的记录的检查点),以免被线程检查点更新。7.2版本后数据文件头新增了一个备份检查点以接收原本属于被冻结的检查点该接收的更新。

2. 做了一个数据文件检查点操作,捕获了开始热备时候的检查点信息,包括开始热备的SCN。当数据文件被检查点时,所有实例都要刷新跟该数据文件有关的脏数据。如果此时需要实例恢复,检查点将等待恢复完成再继续。在开始备份的时候对数据文件进行检查点操作保证了在热备份期间,只有在发出热备份命令之后的时间里修改的块可能会被写到数据文件上。

3. [跟平台有关,可选]:热备份后开始数据块的前镜像记录。记录过程中,所有实例将每个要修改块的完整的块而不是修改向量记录到重做日志中。这是为了防止恢复中遇到零碎的块(不一致的块),这多发生在数据块的大小比操作系统的块要大的时候,更新数据块导致前一部分和后一部分分别在不同的时间被复制。在热备份后恢复进程可以利用重做日志中的记录的完整前镜像构建数据块。

4. 设置数据文件头部的检查点跟开始热备份时刻的检查点一致,并冻结它直至发出“END BACKUP”命令。

5.清除了数据文件的联机模糊位标志。在热备份期间该状态位一直是被清除的,直至发出“END BACKUP”命令。

4.2  复制文件

复制是由操作系统的工具来完成。管理员必须保证复制操作发生在“BENGIN BACKUP”和“END BACKUP”之间或者文件没有使用的时候。


    
 
 

您可能感兴趣的文章:

  • 如何将Aix上的oracle 物理备份 然后再在linux 系统上还原oracle
  • Oracle数据库设置任务计划备份一周的备份记录
  • Oracle数据库备份和恢复工具 RMan
  • oracle10g 数据备份与导入
  • aix下自动备份oracle 的输出日志问题,急!!
  • hp unix下备份oracle表的问题
  • linux小白提问linux备份oracle数据库的问题
  • oracle不能自动备份
  • Oracle数据库逻辑备份的SH文件
  • Linux环境中Oracle数据导入与导出备份操作
  • oracle数据库备份急???????????
  • oracle定时备份压缩的实现步骤
  • Unix系统下如何将oracle数据库备份
  • 详解如何应用改变跟踪技术加速Oracle递增备份
  • Oracle中备份表的简单sql命令语句
  • 实战Oracle数据库备份与恢复
  • Linux下实现自动备份Oracle数据库
  • oracle备份恢复的具体方法
  • 利用windows任务计划实现oracle的定期备份
  • Oracle11g备份和恢复功能的提高
  • ORACLE数据库在线备份原理祥述
  • Oracle数据库异构服务原理及实例说明
  • Oracle数据库异步调用基本原理及测试
  • Oracle跨数据库查询并插入实现原理及代码
  • Oracle数据块实现原理深入解读
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle数据库恢复后心得
  • 关于系统重装后Oracle数据库完全恢复的解决办法
  • oracle drop table(表)数据恢复方法
  • oracle中误删除表后恢复语句(FLASHBACK)
  • oracle冷备份恢复和oracle异机恢复使用方法
  • 在Oracle 10gR2中设定指定的恢复点实现轻松闪回
  • Oracle重做日志文件损坏或丢失后的恢复
  • oracle下实现恢复一个丢失的数据文件的代码
  • 详解通过Backup Exec来实施Oracle灾难恢复
  • Oracle的恢复管理器及DBMS_JOB包分析
  • Oracle数据库文件恢复以及备份思路
  • Oracle数据库备份恢复最佳实践
  • oracle如何恢复被覆盖的存储过程
  • rman恢复方案和oracle异机恢复
  • oracle数据库创建备份与恢复脚本整理
  • ORACLE 数据库RMAN备份恢复
  • 一次误操作引起的Oracle数据库大恢复
  • Oracle数据库的备份与恢复完全攻略
  • Oracle数据库的备份与恢复
  • Oracle数据库的备份及恢复策略研究
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,