APP下载

Oracle Data Guard容灾备份技术的分析与研究

2021-03-07许上鉴

电脑知识与技术 2021年36期
关键词:架构

许上鉴

摘要:在信息系统的规划建设中,保护信息数据的安全一直是关注的重点。如何构建一个完备的容灾备份方案,保障业务系统的高可用性、信息数据的完整性、灾难恢复的及时性。该文在介绍信息数据容灾备份的概念、Oracle RAC概念、Data Guard概念的基础上,详细分析了Data Guard关键技术、部署优势,进一步研究Data Guard容灾技术带来的高可靠性和高可用性。

关键词:Oracle Data Guard 容灾备份;信息数据;架构

中图分类号:TP311        文献标识码:A

文章编号:1009-3044(2021)36-0051-02

开放科学(资源服务)标识码(OSID):

在信息數据爆炸性增长的大数据时代,信息数据成为各行各业的基础和命脉。信息数据的缺失将严重影响业务系统的正常运行,导致企业的生产经营受到重大影响和损失。突发意外断电、服务器硬盘故障、操作系统中毒、人为操作失误、自然灾害造成数据中心的灾难都可能造成信息数据的缺失。从战略角度研究信息数据容灾备份,保证信息数据安全可用,保障企业信息资产显得尤为重要。

甲骨文公司的Oracle数据库是一款关系数据库管理系统,由于其系统可移植性好、使用方便、功能强等优点,广泛部署在各类大、中、小服务器环境[1]。随着Oracle数据库软件版本不断地更新、升级,软件提供的各种高可用、高可靠的特性也随之出现,Data Guard就是其中一个。

1 信息数据容灾备份

容灾和备份是信息数据安全保障特别重要的组成部分,两者互相协助配合但目的却各不相同。备份是容灾的基础和根本,从服务器硬盘、存储资源池中手工拷贝或使用备份软件将数据复制到其他存储介质的过程,目的是保证信息数据的安全。而容灾目的不仅仅为了保护信息数据的安全,更重要的是保障业务系统连续性、可靠性。数据级容灾就是信息数据的容灾备份,当发生灾难时数据级容灾可以及时恢复信息数据,保证数据完整性。

2 Oracle RAC

Oracle RAC是Oracle数据库的实时应用集群技术的简称,它结合多台服务器共同运行数据库。不仅可以实现数据库并行处理和负载均衡,而且排除了数据库的单点故障隐患和数据丢失风险,保障数据库的高可用性和高可靠性。假如Oracle RAC的某一个数据库节点发生故障,数据库可以继续运行在其他节点上,完全不影响业务系统的正常运行。Oracle RAC支持至少两台或多台服务器组成集群节点,可以在集群正常运行时增加节点,既不影响数据库运行的同时又提高系统负载能力。

Oracle RAC中各个节点之间通过心跳线来进行通信传输,为了实现冗余防止单点故障问题,各个交换机之间同时也需要做好冗余备份。Oracle RAC的容灾备份是建立在网络设备冗余的基础上,对硬件的要求比较高,因此Oracle另外一个高可用、高可靠的特性慢慢浮出水面。

3 Data Guard概述

Data Guard是Oracle数据库提供的高可用性和高可靠性的容灾解决方案。主数据库的重做传输服务日志通过网络传输到备数据库来实现主数据库与备数据库的数据同步,保障信息数据的高可用性。当发生灾难时,主数据库状态变为不可用,备数据库被启动并作为主数据库与业务系统通信。备数据库除了可以保障主数据库发生灾难时作为替代以外,还可以服务于其他业务系统读取信息数据。Data Guard配置的备数据库既可以放置在相同的局域网中,也可以放置在通信可达的广域网内。处于局域网中的备数据库可以响应快速的故障解决能力,而处于广域网内的备数据库则能够更好地抵御破坏数据中心或同城灾备中心的灾难[2]。Data Guard方案可以选择合适的保护级别,配置一个主数据库和几个备数据库,将灾难带来的损失降到最低。

4 Data Guard架构

由一个主数据库和一个或多个备数据库组成Data Guard环境,各个备数据库可以分布于不同地域,主数据库与各个备数据库之间可以相互通信[3]。

4.1 主数据库

主数据库指业务系统访问的生产数据库,我们需要搭建Data Guard来保护主数据库的高可用性。主数据库既可以是单节点服务器或也可以是RAC服务器。

4.2 备数据库

备数据库是主数据库的完整复制,Data Guard在备数据库建立后自动从主数据库传输日志文件并应用。在一个Data Guard环境中可以有最多9个备数据库,备数据库既可以是单节点服务器也可以是RAC服务器[4]。备数据库还可以分为物理备数据库和逻辑备数据库。

4.2.1 物理备数据库

物理备数据库是指通过接收、应用主数据库的重做传输服务日志,并以数据恢复的方式实现同步。物理备数据库和主数据库不仅文件的物理结构相同,数据块在磁盘上的存储位置都是一模一样的。

4.2.2 逻辑备数据库

逻辑备数据库是指通过接收来自主数据库的重做传输服务日志,将其转换成SQL语句后,在备数据库上执行SQL语句,从而实现数据同步。

5 Data Guard关键技术

保证Oracle数据库容灾备份的稳定可靠,必须了解Oracle数据库Data Guard的一些关键技术,如何满足Oracle数据库高可用、高可靠的特性需求。

5.1 重做机制(Redo)

重做机制目的是保证已经提交的事务不会丢失,从而避免数据不一致,重做机制是实现数据库容灾的基础。重做机制的工作模式分为非归档模式和归档模式。当重做机制运行在非归档模式时,只能在系统非正常关机、机房停电等一般情况做数据恢复;而当重做机制运行在归档模式时,可以实现任意时间点、任意数据产生点、任意表等数据恢复。

5.1.1 联机重做日志(Online Redo Log)

无论重做机制运行在非归档模式或者归档模式,联机重做日志都是必不可少的。系统需要最少两个联机重做日志文件,将数据库的所有变更记录循环写入联机重做日志文件,当一个日志文件写满之后,变更记录会继续写入另外一个日志文件。

5.1.2 归档重做日志(Archive Redo Log)

只有数据库运行在归档模式下才会产生归档重做日志文件。当联机重做日志写满之后,切换到下一个联机重做日志文件时,数据库将上一个联机重做日志生成一个脱机副本文件,归档重做日志就是这么产生的[5]。归档重做日志是实现数据库任意时间点、任意数据产生点、任意表等数据恢复的关键。

5.2 备份方式

5.2.1 逻辑备份

逻辑备份是对数据库表和数据库对象的备份,但会丢失数据库部分物理结构,比如索引、视图等。逻辑备份的方法有很多,比如传统的EXP、数据泵EXPDP或第三方工具都可以进行数据库的逻辑备份。

5.2.2 物理备份

物理备份是对数据库文件中的数据文件、控制文件、日志文件等数据库文件的备份,物理备份可以分为脱机备份、联机备份。脱机备份指在数据库关闭的情况下对数据库文件的备份;联机备份是利用归档日志对正在运行中的数据库进行备份,可以使用Oracle RMAN、OS Copy等工具操作备份。

5.3 Data Guard保护模式

Data Guard共有三种数据库保护模式可以选择,依次是最大保护模式、最高性能模式和最高可用模式。

5.3.1 最大保护模式

最大保护模式为数据库提供了最高水平的数据保护,是数据库的一个整体无数据丢失的数据恢复解决方案。Data Guard工作在最大保护模式下,要求所有的事务在提交前期重做日志时不但被写入主数据库重做日志中,还要同时写入备用数据库的重做日志中。并且系统需要确保重做日志数据至少在一个备用数据库中可用时,才会在主数据库上提交并应用事务。当主数据库因为系统故障,无法把重做日志写到至少一个备数据库时,主数据库将主动关闭以防止数据丢失。

5.3.2 最高性能模式

Data Guard默认的保护模式为最高性能模式,运行在最高性能模式时可以保证不影响主数据库性能的同时,拥有最高级别的数据库数据保护。最高性能模式下事务可以随时提交,并且至少一个备份数据库被同时写入重做日志。最高性能模式提供了数据库高可用性的数据保护,仅仅轻微影响了主数据库的性能损耗[6]。

5.3.3 最高可用模式

最高可用模式的特点是,既可以对主数据库提供最大化的最高级别的数据保护,也不需要为了主数据库的可用性而折中考虑其他措施。与最大保护模式相同的是,事务提交前至少一个备份数据库被同时写入重做日志;与最大保护模式不同的是,如果主数据库由于系统故障,无法写入备数据库重做日志时,主数据库不会因此主动关闭。主数据库立即以最大性能模式运行,直到故障被消除。当所有故障被处理后,主数据库将自动切换回最大可用性模式运行。

要確定选择哪种数据保护模式,我们需要根据业务对系统响应时间的要求来评估数据保护的业务要求,分析各种数据保护模式的利弊,从而制订相应数据保护方案。

6 Data Guard部署优势

6.1 低容灾成本

Data Guard主数据库、备数据库服务器既可以部署在物理机上也可以部署在虚拟机上,且主数据库、备数据库的服务器资源配置无须一致或相近。这样可以把空闲的硬件资源、服务器虚拟化资源添加到数据库灾备环境中,降低数据库容灾备份成本。如果通过多个部署多个数据库服务器充当备数据库,可以在主数据库发生故障时及时切换,消除了单点故障隐患。

6.2 资源有效利用

企业的发展依托业务系统信息化快速成长,企业对业务系统的各类查询和报表需求也不断增加。在信息数据爆炸性增长的大数据时代,应对这类需求可以利用Data Guard,以只读方式连接备数据库,提供对实时性要求比较低的查询、报表业务。我们可以利用Oracle RMAN采取新的一种备份模式,在主数据

库中只备份参数文件和控制文件,而在备数据库中备份占用数据库资源大的数据文件、归档文件。这样操作下来既不会影响数据的备份作业运行,也可以最大限度减少对主数据库的性能干扰,保障主数据库以最高性能运行。

6.3 完整的数据保护

Data Guard不仅可以保证灾难发生后,主数据库服务器受到损坏后,备数据库能够及时提供数据的恢复。并且当主数据库服务器的存储资源池由于灾难导致损坏、人为因素操作失误导致数据损坏也能被解决。因为Data Guard的保护机制,重做日志在被写入备数据库时需要经过确认,从而确保主数据和备数据库的数据一致性。

7 结束语

Data Guard在简单的环境需求下满足容灾备份需求,它具有很好的可靠性、高安全性,消除了单点故障的隐患。在投入相对较少的硬件资源情况下充分利用,对性能的影响非常小。企业可以根据业务系统后期增长需求,在原来基础上对备数据库进行扩展,结合Oracle数据库其他高可用、高可靠等特性,保障数据库服务满足企业业务系统日益增加的需求。Data Guard的实用性决定它将来的发展前景是非常广阔的。

参考文献:

[1] 张晓明.大话Oracle RAC[M].北京:人民邮电出版社,2014.

[2] 吕元海,孙江辉,马龙.基于Oracle RAC的校园网数据库集群系统设计与实现[J].现代电子技术,2016,39(4):72-75.

[3] Sam R.Alapati.Oracle Database 11g数据库管理艺术[M].北京:人民邮电出版社,2010.

[4] 明日科技.Oracle从入门到精通[M].北京:清华大学出版社,2012.

[5] 格林威尔.Oracle精髓[M].北京:机械工业出版社,2009.

[6] 李春兰.基于Linux的Oracle Data Guard数据容灾系统[J].黑龙江科技信息,2017(15):172-176.

【通联编辑:代影】

猜你喜欢

架构
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
基于云服务的图书馆IT架构
LSN DCI EVPN VxLAN组网架构研究及实现
一种基于FPGA+ARM架构的μPMU实现
具身学习环境SMALLab的架构分析及启示