Oracle数据库容灾在电力系统中的应用.doc
文本预览下载声明
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 原理结构
说明:
. 主节点和备用节点为位于同一个网段中,通讯带宽满足日志文件传输要求。
. 主节点和备用节点的操作系统严格保持一致。
显示全部