技术开发 频道

如何实现数据库完整备份

【IT168技术文档】远程磁盘镜像是一种被广泛应用的数据保护技术,然而在对Oracle数据库进行备份的实际应用中,由于该技术本身所固有的局限,使得其无法很好地实现数据库的完整备份,为此,本文提出以Oracle的容灾技术Data Guard,来实现Oracle数据库的完整备份。
  
  Data Guard是Oracle公司提出的数据库容灾技术,它提供了一种管理、监测和自动运行的体系结构,用于创建和维护一个或多个备份数据库。与远程磁盘镜像技术的根本区别在于,Data Guard是在逻辑级,通过传输和运行数据库日志文件,来保持生产和备份数据库的数据一致性。一旦数据库因某种情况而不可用时,备份数据库将正常切换或故障切换为新的生产数据库,以达到无数据损失或最小化数据损失的目的,为业务系统提供持续的数据服务能力。
  
  Data Guard体系结构
  
  一个Data Guard环境可配置一个生产数据库和最多至9个备份数据库系统,生产和备份数据库之间通过Oracle Net技术互联,并且没有任何距离上的限制(Data Guard体系结构如图2所示)。
  
 
  物理备份数据库 物理上提供了与生产数据库在数据块级的一致性镜像。物理备份数据库是通过Redo Apply技术来保障数据镜像能力。
  
  逻辑备份数据库 通过SQL Apply(即Log Miner)技术,将接收到的日志文件还原成SQL语句,并在逻辑备份数据库上执行,从而达到数据一致性的目的。
  
  Data Guard的保护模式
  
  ● 最大保护模式: 该模式以牺牲生产数据库性能为代价,换取无数据损失的能力。
  
  ● 最大可用模式: 该模式也能提供无数据损失,对生产数据库的影响较小。
  
  ● 最大性能模式: 该模式允许少量数据损失,但能为生产数据库提供最大性能。
  
  与远程磁盘镜像技术比较
  
  Data Guard和远程磁盘镜像技术的总体比较
  远程磁盘镜像技术是存储层的数据保护方案,对于Oracle数据库而言,Oracle Data Guard提供了更有效、可行,更完备的数据库容灾方案。以下是两种方案的总体比较:

  异步远程磁盘镜像技术的潜在问题

  
  远程磁盘镜像技术可采用异步方式,达到降低网络延时、减轻对生产系统影响等目的。但用这种方式进行Oracle数据库的镜像,却存在一个潜在问题:无法保证写操作顺序的一致性(write-order consistency),导致出现数据坏块的可能性增大。最坏情况,可能导致备份数据库无法打开。
  
  而Data Guard基于逻辑级,传输的是与业务逻辑完整性相关的日志文件。Data Guard是以日志文件为边界,会自动检验日志文件的完整性,并可进行断点日志文件的检查(log gap detection),通过FAL后台进程自动重传断点日志文件。因此,备份数据库的一致性会得到保证。
0
相关文章