首页 > 范文大全 > 正文

Oracle数据库容灾在电力系统中的应用

开篇:润墨网以专业的文秘视角,为您筛选了一篇Oracle数据库容灾在电力系统中的应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:在企业信息化进程不断加快的今天,企业的正常运营越来越依赖业务系统的正常,保持业务系统的持续性是企业用户存储数据时必须考虑的重要问题。oracle数据库本身提供了一个轻量级的容灾方案(Data Guard),很好地利用此功能,我们可以在低廉的投资上实现实时、异地的容灾机制。

关键词:DataGuard;容灾;高可用

中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)11-20222-03

1 Data Guard简介

Data Guard是ORACLE 推出的一种高可用性的数据库方案,在8i之前称之为standby database,从9i开始,正式更名为Data Guard,它是在主节点与备用节点间通过日志同步来保证数据的同步,可以实现快速切换与灾难性恢复。

Data Guard只是在软件上对数据库进行设置,并不需要额外购买任何组件,能在对主数据库影响很小的情况下,实现备用节点的数据库的数据同步,而主节点的数据差异可以在最大保护模式下为零,从而达到数据的零丢失。所以可以作为数据容灾方案来采用。

在Data Guard环境中,有三种数据保护模式。如下:

(1)高保护性模式

这种模式提高了最高级别的数据保护能力。主数据库的事务只有在恢复这个事务所需要的必要的重做数据被写到至少一个符合这种能够用来恢复的最小配置的物理从数据库中后,才能够提交。如果主数据库不能找不到一个合适的从数据库来写入时,主数据库将自动关闭,来阻止无保护的数据的产生。这种保护模式将保证没有数据丢失,但是它存在着最高的性能影响和可用性影响。(每次提交事务前要同步数据影响性能,如果找不到合适的从机,而造成数据库关闭影响高可用性。

(2)高可用性模式

这种模式提供了第二高的数据保护能力。主数据库的事务只有在恢复这个事务所需要的必要的重做数据被写到至少一个符合这种能够用来恢复的最小配置的物理从数据库中后,才能够提交。但是跟最大保护性模式不同的是,当数据库找不到一个合适的从数据库来写入时,数据库并不当机,而是临时的降低到最高性能模式,直到错误(译者注:包括从数据库错误,网络错误)被修复并且从数据库跟主数据库同步。这种模式一般也不会发生数据丢失,除非数据库出现问题时,恰恰处在最高性能模式下。这种模式提供了比较高的数据保护并且不会影响数据库的可用性。

(3)高性能性模式

这种模式是默认的模式,主数据库事务的提交将不需要等待恢复这个事务的所需要的必要的重做数据被写到至少一个符合这种能够用来恢复的最小配置的物理从数据库中,而是可以直接提交。因此,如果主数据库失败,如果被提交事务的必要的恢复数据没有传送到从数据库中,这些事务数据将被丢失。这种模式几乎避免了对主数据库的性能和可用性影响,但不能保证数据无损失。

根据系统实际运行的安全要求,选择高可用性模式的数据保护模式来实现Data Guard容灾解决方案。

我们可以使用下列查询语句查看主节点上的数据库的保护模式和角色。

查看Data Guard的运行模式

SQL> select DATABASE_ROLE, PROTECTION_MODE, PROTECTION_LEVEL

from v$database;

DATABASE_ROLEPROTECTION_MODE PROTECTION_LEVEL

------------------------------------ --------------------

PRIMARY MAXIMUM PERFORMANCE MAXIMUMPERFORMANCE

在Data Guard环境中,有两种日志传输模式。如下:

. Arch进程传输

传统的日志传送方式。现在只有在最大性能模式时才能采用。归档日志通过primary上的arch进程传送给standby的RFS进程。 . LGWR进程传输

Oracle9i开始可以使用LGWR即时将日志传送到standby,而不再需要等到归档操作时才传送,已减少可能的数据丢失。在三种保护模式下都可以使用该方式传送日志。使用LGWR方式传送,在standby必须先建立standby redo logfile。

查看日志传送方式

SQL> select dest_name,archiver from v$archive_dest;

2 原理结构

说明:

. 主节点和备用节点为位于同一个网段中,通讯带宽满足日志文件传输要求。

. 主节点和备用节点的操作系统严格保持一致。

. 主节点上运行着现在的用于生产的Oracle数据库。

. 备用节点上运行着备用数据库,数据与主数据库的保持一致。在主节点崩溃时,它可以快速转换成主数据库,继续对外提供服务。

. Data Guard推荐使用高可用性模式,保证数据即使在主节点完全损坏的情况下,数据库数据也不会丢失,备用数据库出现问题也不影响主数据库的正常运行。

. 主节点和备用节点的Oracle数据库系统的版本保持一致。

. 主节点和备用节点上的数据库系统都运行在归档日志模式下。

. 主节点上的生产数据库推荐使用Oracle RMAN做备份管理。

3 电力营销系统数据库容灾解决方案

数据库容灾解决方案主要通过建立一个符合上述容灾目标的系统来实现对电力营销关键数据的保障。这个系统不仅包括了适合的软硬件及网络,更包含一系列的专业容灾服务来实现容灾。

3.1 容灾系统组成

电力营销数据库容灾系统主要由以下部分组成:

①主库系统

当前业务使用的管理数据库系统。

②从库系统

通常和主库处于不同的物理位置,用于容灾,通过网络与主库相连。当发生主库灾害时,能够迅速接管主库所有的业务,并能尽量保证数据不丢失。从库系统的硬件设备可以和主库不同,但是操作系统和数据库版本必须一致。另外考虑到灾难后需要接管主库的应用,因此机器配置性能不应低于主库系统。

③容灾网络

容灾网络通常需要独立的数据传输通道以保障数据的同步要求,数据容灾的效率高低与容灾网络有密切关系。容灾网络的带宽可以通过采集主库系统忙时的redo增量进行计算。

④容灾技术

根据电力营销的业务特性,我们采用Oracle的DataGuard技术来实现数据库容灾。DataGuard是Oracle9i/8i数据库的重要功能之一。Oracle在发生数据写操作时,会首先将数据写入日志文件(redolog)中。DataGuard技术正是利用了这一点,除将重做信息写到本地外,还写入到远程的从库中。从库通过不停的应用重做信息即可实现与主库的同步。使用DataGuard功能进行容灾对主库性能影响很小。

3.2 容灾系统典型结构

①在管理中心机房,中心数据库的双机直接连入公共的生产网络提供数据服务,同时建立连接生产机房与容灾机房的容灾网络,以保证容灾系统与生产系统间的数据同步传输。

②生产数据库与容灾数据库均采用双机,采用DataGuard技术实现全库的容灾。

③在异地的容灾机房,容灾系统同时连入生产网络和容灾网络,以保证容灾系统接管生产系统后的数据访问。

4 Data Guard优点

(1)提高业务连续性

通过数据库容灾,能够在核心的数据库系统故障后迅速接管业务,大大提高业务连续性,保障系统的连续运行。

(2)高度保障关键数据安全

关键数据集中存储在数据库中。通过数据库的异地容灾系统,可以把自然或人为的灾害对当前数据的损失降到最低,从而高度保障关键数据安全。

(3)降低业务风险,提高操作效率

数据库是整个业务的数据核心,一旦出现故障影响很大。可以把一些可能危及业务库的测试操作转移到容灾数据库,避免业务风险。通过对容灾数据库和生产数据库的交替操作,可以大大减少系统升级、补丁和重装系统等的计划停机时间。另外,对容灾数据库进行一些对数据库性能消耗较大的操作,如备份操作,能够提升操作效率。

(4)提高系统性价比

通过对业务的深度分析,我们的方案仅对最核心的数据库部分进行容灾,以较低的价格实现较好的容灾效果。而且数据库的同步采用Oracle自带DataGuard功能,无需额外付费。

5 结束语

电力营销系统是一个复杂而重要的系统,数据库存储着业务所需的所有关键信息,对核心数据进行完善、有效的保护是非常必要的。通过数据库容灾,可以大大提高业务连续性,并有效保障电力营销系统核心数据安全。

参考文献:

[1] Oracle Data Guard in Oracle Database 10g Release 2 Business Continuity for the Enterprise.Oracle白皮书.2006,(11):10-25.

[2] Dataguard配置Step by Step.Eygle. 2004,(4):2-3.

[3] Oracle Database 10g: High Availablity with RAC Flashback & Data Guard.McGraw-Hill. 2005,(8):20-26.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文