数据容灾备份的方法与实现
来源:计算机光盘软件与应用杂志 更新时间:2013-08-14
 
随着企业信息化的发展,对其核心数据的安全需求日益增高,将数据库进行异地容灾备份方式已经成为主流。本文将对Oracle Data Guard进行分析,寻求Oracle Data Guard对于容灾备份的可用性,寻找以Oracle Data Guard技术来实现数据库容灾备份的方法。
一、引言
    随着信息化的不断发展,历史数据积累的重要性不言而喻,数据对于企业来说是非常宝贵的资源,尤其对数据信息依赖程度很高的制造行业更是如此。而数据备份是数据安全最基础的保障,它几乎是任何信息化系统中必需的组成部分,意外断电、系统崩溃、操作失误、硬件损坏、乃至数据中心的灾难性事件都可能造成数据库文件的破坏或丢失,而这些文件往往包含着珍贵数据,Oracle Data Guard技术提了一些数据库自身针对这方面的数据保护功能。
二、OracIe Data Guard概述
    Oracle在9i版本的时候,正式把Standby技术命名为Data Guard,使其成为Oracle一项推广给广大用户并且希望用户使用的先进技术。Oracle Data Guard所使用的是管理、监控和自动化软件的基础架构,提供集成化灾难恢复解决方案。该技术用于创建、维护和监控由一个生产数据库和若干个备用数据库所形成的独立、易于管理的数据保护体系,以保护企业数据结构不受故障、灾难、错误和崩溃的影响。
三、OracIe Data Guard保护模式
    对于大多数用户最关心的数据同步时对系统应用资源的占用问题,Oracle Data Guard给出了多种方案。它支持多种级别的数据保护模式:最大性能模式,最大可用性模式,最大保护模式。分别对应于国务院信息化工作办公室编写《重要信息系统灾难恢复指南》中的5级,5级6级自适应,6级的数据保护级别。其中对应6级的最大保护模式可以实现实时数据同步和0数据丢失。
    (一)最大保护模式
    最大保护模式即Oracle Data Guard中所说的主数据库主库提供了最高水平的数据保护,从而确保了一个全面的零数据丢失灾难恢复解决方案。当在最大保护模式下运行时,RedoLogs由日志写入器LGWR进程从主数据库同步地传输到备用数据库备库,并且直到通过MRP或者,LSP进程确认事务数据在至少一个备库上可用时,才在主库上提交事务。当参与数据同步的所有备库均无法通过MRP或者LSP进程反馈确认信息给主数据库时,主库会很负责任的将正在进行的数据库操作停止以确保当主库与其所有备库失去联系时,不会丢失事务数据。
    (二)最大性能模式
    最高性能模式与最高可用性模式相比,提供了稍微少一些的主库数据保护,但提供了更高的性能。在这种模式下,当主库处理事务时,Redo Logs由LGWR进程异步传输到备用数据库上。另外,也可以将主库上的归档器进程ARCO配置为在这种模式下传输Redo Logs。在任何情况下,均先完成主库上的写操作,主库的提交操作不等待备库确认接收。如果任意备库变为不可用,则处理将在主库上继续进行,这对性能只有很小的影响或没有影响。
    (三)最大可用性模式
    最高可用性模式拥有仅次于最高水平的主库数据可用性。如同最大保护模式一样,Redo Logs由LGWR从主数据库同步地传输到备用数据库,直到确认事务数据在备库上可用时,事务才在主库上完成。最高可用性模式适用于想要确保获得数据丢失保护,但不想让生产数据库受网络、备用服务器故障影响的企业。
四、OracIe Data Guard原理
    (一)物理备库
    物理备库是处于Mount的状态下,直接利用数据恢复技术,不停的进行Recovery Database,把Redo Logs中记录的数据变更应用在备库的数据文件上,从而实现与主库的数据同步,完成主库与备库间块与块的对应,使主库与备库的物理结构完全一致,即使进行行的操作也不会出现误差。当然,物理备库也可以通过只读的方式打开,但是,一旦物理备库以只读方式打开后,就只能接收Redo Logs,而无法进行数据的同步恢复。
    (二)逻辑备库
    逻辑备库是处于正常的Open状态的,当它接收到新的Redo Logs后,利用日志挖掘器的功能,把Redo Logs中记录的变更信息,转换成具体的SQL语句,并在逻辑备库上执行这些SQL语句,从而实现与主库的数据同步。逻辑备库支持在数据同步的同时,进行数据的查询、报表等操作。
五、结束语
    Oracle Data Guard数据保护策略所具有的优点显而易见,它具有很好的可靠性,高安全性,对性能的影响非常小,当数据库服务器出现故障时,只需要几分钟就可以使数据库照常运行,可以让数据的丢失率几乎为零。当然它也存在着一定的缺点,当Oracle Data Guard使用物理备用数据库在进行数据同步的时候,物理备用数据库是无法打开提供查询访问服务的,而如果用只读方式打开物理备用数据库,则数据同步就无法同时进行,因此,无法满足企业近实时数据查询的需要。当使用逻辑备用数据库进行数据同步的时候,逻辑备用数据库是正常打开的,是可以在数据同步的同时提供对外查询服务的,也提供了维护人员误操作的机会。而且,逻辑备用数据库在使用上存在一定的限制,例如:不支持long、long raw以及用户自定义的数据类型,一般需要为每个表创建关键字或唯一索引等。此外,由于逻辑备用数据库不仅要执行生产数据库上所发生的所有数据变更SQL语句,还需要额外的日志分析工作,对硬件资源的配置也相对较高。
    总之,这种备份方式的实用性还是决定了它将来的发展前景是非常广阔的,特别是对于大型企业对核心数据保护的需求方面尤为重要。