WatchStor.com — 领先的中文存储网络媒体 | 51CTO旗下网站

评测导购 > 机房 > 正文

Oracle容灾备份菜鸟宝典

Watchstor.com  佚名丨2009-10-16 10:56 标签:机房 SPARC 灾难恢复 

Oracle容灾备份因对系统资源的极少占用、支持异构环境和复制拓补等特点一直备受系统管理人员的青睐。这里介绍的shareplex for Oracle容灾备份系统就是其中的佼佼者。

SharePlex for Oracle容灾备份介绍

目前,很多厂家都提供容灾保护的产品,主要包括基于存储、逻辑卷、主机、数据库物理方式和数据库逻辑方式的各种复制技术。根据复制层面的不同,实现的技术以及容灾效果各不相同。Quest Software的SharePlex for Oracle容灾备份通过数据库逻辑层的复制技术,可以方便地实现基于Oracle容灾备份数据库的容灾保护,具有对源系统资源占用少,对网络资源占用少,支持异构环境和不同的复制拓扑,保持事物一致性的特点。在开放异构环境、异地容灾、容灾系统可访问的环境中具有非常大的优势。

1 SharePlex for Oracle容灾备份结构

(1)基本结构

下图所示为SharePlex for Oracle容灾备份的基本结构,其中涉及较多的技术细节。

(2)数据捕获

SharePlex for Oracle容灾备份中由捕获进程来收集发生变化的数据,此进程的独特之处在于它几乎不对生产数据库带来任何开销。

(3)数据传输

SharePlex结合其自己的网络协议和TCP/IP协议来完成源和目标系统之间的数据传输。其相关的进程确保数据的正确接收和网络数据包的正确顺序,从而提供网络传输冗余,确保数据的完整。整个数据传输过程无需其它的中间件。

(4)应用数据

应用进程将传送到目标系统中的信息转化为SQL语句,然后采用标准的SQL*Plus方式将SQL语句发送给Oracle容灾备份执行。

SharePlex能够实现精确复制的一个重要原因就是其能保证从源数据库到目标数据库的Oracle容灾备份读一致性,不但按顺序复制事务,而且也复制上下文信息。由于SharePlex将源数据库中发生变化的全部事务信息都复制到目标数据库中,因此SharePlex复制方案用于灾难恢复系统中是足够可靠的。

2 SharePlex for Oracle容灾备份配置方案

SharePlex提供多种不同的配置方式以满足高可用性和负载均衡需求。主要包括:

(1)单向复制

SharePlex可以将源系统的数据实时复制到目标系统,从而建立一个可以被访问的即席查询和报表系统。目标系统可以是源系统的全集和子集。通过将查询和报表系统放在不同的数据库实例中运行,可以平衡服务器负载并提高OLTP类生产系统的性能。

(2)高可用性

保证数据高可用性和数据库系统能够从灾难中迅速恢复是一个非常具有挑战性的工作。SharePlex for Oracle容灾备份可以通过LAN或WAN进行复制,这样当生产环境出现紧急事件或要进行例行维护时,可以将应用切换到复制数据库中。有了生产数据库的实时拷贝,用户可以保证应用系统7*24不间断运行的情况下进行维护工作,如进行操作系统和数据库的升级等等。

(3)分布处理

多数据源配置允许你将不同的用户分布到不同的服务器,让每个数据库能够反映其他数据库的变化。在这种配置模式下,SharePlex采用必要的冲突处理机制来解决可能发生的冲突。

(4)广播和集中复制

SharePlex for Oracle容灾备份通过LAN或WAN进行实时复制,将生产数据库中的数据拷贝到需要它们的地方。对广播复制来说,远程用户可以访问这些实时数据而不用登录生产服务器。因此,提高了网络性能和生产环境下的OLTP应用的性能。

(5)企业环境的数据分布

SharePlex 支持层叠复制,可以向不是直接相连的数据库复制数据。使用这种配置,可以在远程数据库间进行复制(如从北京到上海)。SharePlex 支持多种复杂的场景来满足复制需求。

3 Shareplex for Oracle容灾备份特点

3.1 快速精确和低负载

SharePlex是非常快速的,同时保证了复制数据的精确性。在源数据库一端,SharePlex严格地遵守读一致性模式。在目标数据库一端,SharePlex使用标准SQL提交事务,并保证操作次序和会话上下文的一致。

基于Log的复制方式对源数据库和系统所带来资源开销非常小,因为复制操作只是读取操作系统的日志文件,同时通过TCP/IP方式而不是采用中间件方式传输只发生改变的数据也使网络负载降至最低。

3.2 可扩展及全面

每秒钟可针对数千个表复制超过一千个以上事务的处理能力意味着SharePlex可以处理企业级的业务数据,可以满足企业大数据量的吞吐需求。实际环境中的吞吐速率是受服务器性能、网络带宽和事务的复杂程度所影响的。

SharePlex 提供的完全复制程度是其它软件复制工具所不具备的。SharePlex支持带长列的表、带参照完整性约束的表、没有主键的表、序列等等的复制。此外,SharePlex复制ALTER TABLE等命令,使它可以不需要其它软件复制工具就复制DDL活动。

3.3 灾难恢复

SharePlex在设计时已经将性能和容灾因素考虑在内。SharePlex可以容忍实例失败、系统失败和网络失败。一般情况下,在源系统中运行的事务一旦被写入log,SharePlex立即将其发送到目标系统。然而,如果发生问题,SharePlex可以在源系统或目标系统进行事务排队(为了最小化对源系统的影响,排队位于Oracle容灾备份源实例之外)。例如,如果网络宕掉或目标系统宕掉,SharePlex将源系统中的事务排队。当网络或系统恢复后,SharePlex将自动提交被排队的数据并清空队列文件。

3.4 灵活配置和简洁管理

SharePlex可以被灵活配置,以支持各种复制策略。包括单向复制、双向复制、广播复制、集中复制及多层复制等。

SharePlex是独立的软件,不需要修改与数据库进行交互的应用程序和数据库本身。因此,安装非常简洁。配置和改变复制策略不影响源数据库系统中的生产活动。管理员可以用Windows界面或服务器端的命令行管理和监控复制操作的各个方面。

SharePlex for Oracle容灾备份适用场合

(1)应用容灾

企业开始比以往任何时候更注重对关键业务数据进行及时的保护,因为关键业务数据的丢失可能会给企业带来不可估量的损失。

SharePlex为业务系统提供灾难恢复能力,容灾系统中的硬件环境又可用来降低系统维护工作中的停机时间。这并不与企业的容灾方案相矛盾,因为事务可被发送到系统中的远程节点上。

SharePlex支持多种配置方案,包括对等配置方案,在这种配置方案中,两个数据库都处于可用状态,因而可实现快速的失败接管。在容灾发方案中没有比这种失败接管更快的方法了。

(2)减少有计划的停机时间

有计划的停机也可能对企业的服务水平、客户满意程度甚至股价等带来影响,而据估计企业80%的停机是有计划的行为。

利用SharePlex,企业可几乎完全消除系统的停机时间而不用考虑在此期间进行何种维护工作、哪个操作系统会受到影响,甚至不用考虑数据库版本的问题及对硬件环境进行何种操作。

(3)负载平衡

SharePlex 可以将源系统的数据实时复制到目标系统,从而建立一个可以被访问的即席查询和报表系统。目标系统可以是源系统的全集和子集。通过将查询和报表系统放在不同的数据库实例中运行,可以平衡服务器负载并提高OLTP类生产系统的性能。一方面,可以减少OLTP应用和查询报表应用之间的磁盘I/O冲突,提高OLTP应用的效率。另一方面,SharePlex支持不同模式间的复制。可以分别面向OLTP和查询系统的使用特点来进行设计,如建立索引,设置数据库表的参数等等。

在这种配置环境下,SharePlex在线事务处理可以获得很好的性能,而决策支持和报表处理可在不影响正常业务的情况下进行。

当一种单一的数据复制模式不能满足企业的业务扩展需求和系统性能时,很容易利用SharePlex建立另外的复制模式,从而进一步扩展系统和提高报表处理的性能。

(4)系统移植

尽管企业从规划设计良好的业务系统中收益,但也不得不面临系统移植和升级这一挑战。数据集中、技术的推陈出新和服务器的移植都是导致必须进行系统移植的原因之一。

SharePlex可确保在进行以上工作时正常的事务处理得以继续进行。源系统的功能不受到任何影响,SharePlex只捕捉移植过程中发生变化的事务并将它们排队保存。当移植工作结束后,这些被保存的事务将被应用到新系统中并进行数据同步工作。一旦数据同步后,用户活动会有非常短暂的停顿,在此瞬间将完成系统的切换动作。

(5)数据集中和广播

SharePlex通过非常有效的管理控制机制来实现数据集中和广播。SharePlex提供细化的数据筛选功能,可按业务需要定制需要传输的数据,从而缓解和消除了数据传输过程中的安全和带宽问题。例如,如果远程节点只需要有关本地员工的基本信息而无需薪水信息,那么只需利用SharePlex传输相关的数据行和字段即可。

(6)支持数据仓库应用、实现更好的决策支持

越来越多的公司在建设决策支持系统。传统的数据抽取、转换和装载工具按照时间段处理数据而不能进行实时的数据处理,因而决策支持系统就不能真正体现出太大的价值。SharePlex可以实时捕捉、转换数据到决策支持系统中。

#P# 

容灾系统的操作流程

1 容灾系统状态定义

为方便论述,本节模拟地点A和B,两地各有一套运行在Oracle容灾备份上的应用系统。通过SharePlex forOracle容灾备份建立数据复制,以B地点的系统作为A地点的备份。

一、 正常情况下:

业务系统运行在地点A,包括数据库实例、有关的文件、数据库数据、应用软件。A节点对外提供服务。

A节点所有的有关的数据通过SharePlex for Oracle容灾备份实时复制到B节点。

二、 灾难发生的情况下,整个A地点无法正常提供服务:

A地点的业务将在B地点正常提供服务。当灾难发生时,主中心的数据库服务、应用软件切换到灾备中心的灾备节点。灾备节点对外提供服务。

数据复制暂停。

对主中心的数据库和应用系统进行恢复。

三、 计划内维护操作

当进行计划内的维护时,主中心的数据库服务、应用软件切换到灾备中心的灾备节点。灾备节点对外提供服务。

SharePlex for Oracle容灾备份记录进行维护期间数据的变化,存储到灾备节点的队列。

当计划内的维护操作时完成时,将维护过程中的数据复制到A地点,将应用切换到A地点系统。

2 容灾系统的的配置过程

2.1 初始化高可用及容灾环境

使用SharePlex for Oracle容灾备份进行数据复制的前提是在主中心和灾备中心具有相同的数据。根据用户对停机时间的要求、容灾环境和数据量的大小。可以采用Oracle容灾备份自身提供的方法进行初始化同步,包括:Oracle Cold Backup,Oracle Hot Backup,Export/import,Transprant tablespace等等。

为了保证初始化同步过程中源系统的可用性,SharePlex 提供Reconcile 功能,当使用Oracle容灾备份机制进行初始化同步时,通过SharePlex队列记录数据的变化。并在进行post的过程中确认哪些数据通过Recovery进行恢复,把没有恢复的数据装载到数据库中。从而保证初始化同步过程中源系统没有停机时间。

2.2 配置SharePlex for Oracle容灾备份的Fail-over ready状态

为保证灾难发生时快速进行应用接管,需要配置Fail-over ready状态。

确保源系统和目标系统SharePlex for Oracle启动。

源系统中建立配置文件,目标系统建立反向配置文件。两个配置文件都处于激活状态。

在Secondary端保证没有对复制表的DML操作;

在Secondary端停止export进程,防止意外的数据操作改变源系统的数据。

运行脚本取消secondary系统用户(除了splex)的insert,update和delete权限;

禁止Secondary中使用trigger,cascade delete constraints,foreign-key constraints,check constrants,schedule jobs等等。

定期备份SharePlex for Oracle容灾备份相关的文件,文件包括

1) Shareplex的工作目录

2) /var/adm/.splex/Shareplex.mark

3) oratab file

4) /etc/services

5) /etc/system

6) /etc/group

7) 操作系统Shareplex用户(默认为Oracle用户)的.profile文件

2.3 灾难发生时应用切换到灾备中心

灾难发生时的接管工作由以下步骤组成:

确认Secondary系统的export进程处于停止状态;确保在队列中的所有数据复制到Secondary系统中。用qstatus命令查看Secondary系统中的post进程,直到backlog messages一项为0;在Secondary系统上运行SQL脚本给用户赋权,包括insert, update和delete;在Secondary系统上运行SQL脚本enable triggers和contraints;切换应用系统到Secondary系统;确保Secondary系统上的Shareplex export进程处于停止状态。切换过程所需要的时间主要是上述6个步骤所需要的时间的总和。正常情况下能够充分满足30分钟以内的切换要求。

2.4 容灾中心的数据恢复到主中心

从容灾中心的数据恢复到主中心的过程分为如下阶段:

阶段1:在Primary System中恢复复制环境。

阶段2:Purge队列, 在Primary System中Purge Capture,Export和Post队列。因为Primary System的复制环境是通过备份的软件进行恢复的。队列的内容已经过期。 在Secondary System中Purge Post队列。原则上Capture和Export队列没有内容,而在Post队列中需要清除没有被提交的部分数据。

阶段3:开始从Secondary system复制到Primary System,保证Primary System的数据存储在Post队列中,但不加载到数据库中。

阶段4:同步数据,即在Primary System中重新建立新的数据库拷贝。

阶段5:在Primary System中进行Activate。

阶段6:恢复Object Cache。

阶段7:将用户切换到Primary System。

系统的恢复时间由上述的7个阶段构成,其中阶段4的时间较长,根据系统的数据量、目标系统硬件选型不同,正常切换时间在10-38个小时之间。

2.5 计划内系统维护

2.5.1 计划内的Shareplex failover接管

在Primary系统上停止用户对数据对象的访问;在Primary系统,运行flush命令,此命令停机目标机器上的post进程,并将队列中的内容装载到数据库中。关闭Primary中的SharePlex和Oracle数据库。运行脚本为Secondary系统的oracle用户赋insert, update和delete的权限;运行脚本激活Secondary系统的oracle trigger和contraints;按照相应步骤重新部署用户和应用到Secondary系统;切换用户到Secondary系统,要启动export进程;

2.5.2 计划内的Shareplex failback接管

打开Primary系统的Oracle数据库;在Primary系统上对Triggers、Foreign-key constraints、Cascading delete constriants、Check constraints、Scheduled jobs that perform DML进行修改并使之无效。将Secondary系统中SharePlex 队列中的数据装载到Primary系统中。在Secondary系统上,运行flush命令;此命令停机Priamry机器上的post进程,并将队列中的内容装载到数据库中。在Secondary系统关闭shareplex和Oracle数据库。运行脚本为Primary系统的oracle用户赋insert, update和delete的权限;运行脚本激活Primary系统的oracle trigger和contraints;按照相应步骤重新部署用户和应用到Primary系统;切换用户到Primary系统,但不要启动export进程;运行脚本取消secondary系统用户(除了splex)的insert,update和delete权限;在Secondary系统上对对Triggers、Foreign-key constraints、Cascading delete constriants、Check constraints、Scheduled jobs that perform DML进行修改并使之无效。启动Secondary系统的Shareplex,但停止export进程;在Primary系统SharePlex for Oracle容灾备份控制台上启动export进程;

3 SharePlex 关键技术指标

3.1 数据延迟

SharePlex for Oracle容灾备份是一种异步准实时的复制技术,其数据延迟非常小。在生产系统中,数据延迟和源系统复制事物的多少,事物的处理方式有关。在复制数据量正常的OLTP系统中,数据延迟在几秒钟。

3.2 强大的冗错能力

复制环境能够提供网络失败、数据库失败、主机失败的容错能力。当灾备中心暂停或传输异常中断导致复制停止时,主中心的业务不受影响,容灾数据可以在主中心暂时存放,当系统恢复后,暂存数据可自动完整复制到灾备中心,数据完整性一致性不被破坏;

3.3 对源系统的影响

SharePlex for Oracle容灾备份通过Oracle容灾备份日志获得数据的变化信息,它独特的技术优势使得它对源系统的资源占用很小。在生产系统中,实际对源系统的影响和源系统复制事物的多少,事物的处理方式有关。在复制数据量正常的OLTP系统中,正常状态下对CPU资源的占用小于6个百分点,对内存资源的占用为几十M。

3.4 网络资源的使用

因为Shareplex复制操作只是读取操作系统的日志文件,同时通过TCP/IP方式而不是采用中间件方式传输只发生改变的数据也使网络负载降至最低。Shareplex只将日志的三分之一的内容通过网络进行传输。实际每小时传输的数据量=每小时日志文件切换的数量*日志文件的大小*1/3 。

总之SharePlex for Oracle容灾备份系统在异构环境进行异构容灾和异地系统访问方面是系统维护人员最佳的选择。

【编辑推荐】

  1. 容灾备份理想的合作伙伴
  2. 容灾备份见招拆招经典详解
  3. 容灾备份集中方式的图文详解
  4. 容灾备份方案在使用中的问题解决
  5. 容灾备份在具实践中的优势

相关资讯

今日微信独家

《华尔街日报》报道日前援引知情人士的消息称,由于被美国政府以国家安全问题为由进行调查,联想斥资23亿美元收购IBM低端服务器业务的交易陷入了停滞状态。
关注新浪官博 订阅微信订阅号

订阅焦点周刊

论坛与活动

2016中国数据加速峰会直播专题
2016中国数据加速峰会直播专题[详细]
点击查看

精彩视频

最新文章

1111111
1111111
asdasd
asdasd
同有科技应用型大数据存储在南京掀起智能风暴
同有科技应用型大数据存储在南京掀起智能风暴
斯蒂芬斯蒂芬
斯蒂芬斯蒂芬
京东双11技术备战 构建多中心交易系统
京东双11技术备战 构建多中心交易系统