浅谈TDCS/CTC系统数据库的容灾方案

2012-07-30 07:01苗长俊张海峰刘子源
铁道通信信号 2012年11期
关键词:容灾停机调度

苗长俊 秦 宁 张海峰 刘子源

苗长俊:中国铁道科学研究院通信信号研究所 助理研究员100081 北京

秦 宁:中国铁道科学研究院通信信号研究所 助理研究员100081 北京

张海峰:中国铁道科学研究院通信信号研究所 助理研究员100081 北京

刘子源:中国铁道科学研究院通信信号研究所 助理研究员100081 北京

数据库是调度中心TDCS/CTC系统的核心子系统,负责系统内重要行车数据的存储。数据库系统的稳定、高效与TDCS/CTC系统,乃至调度中心的稳定、高效密不可分。当前,TDCS/CTC系统数据库服务器的设立,按照标准一般采用双机热备配套磁盘阵列,应用RAC(真正应用集群)的运行模式,本身具备了一定的容灾能力。RAC主要解决系统或例程故障 (如节点故障或例程崩溃),提供了不影响数据的快速和自动恢复功能,实现了单机发生故障情况下的快速切换以及数据安全,基本上满足了运输生产业务对系统连续性、稳定性的要求。

但是实际应用中会有如突发性故障、优化升级、系统调试、应急演练、数据/存储故障、人为错误、计算机病毒、软件故障、自然灾害等情况的发生,为了尽可能降低对数据库的影响,单单依靠上述运行模式显然不行。本文针对现场多样化的情况、维护人员能否轻松应对容灾方案,以及容灾方案的实施效果如何等诸多问题,探讨不同类型数据库容灾方案的选择。

1 容灾方案介绍

1.1 基于SQL语句的同步方案

利用SQL语句逻辑完成生产数据库与容灾数据库间的数据同步复制,通过简单操作,快速恢复运输作业,保障业务连续性。方案实施如下。

1.建立容灾数据库系统,创建与实际生产库同样的数据结构。

2.通过编写Oracle的Procedure和Job实现生产库与容灾库间的自动定向复制,Job执行的时间间隔可根据实际情况而定。根据现场应用经验,最短间隔可设置为10~15 min。

3.在调度台建立与容灾数据库的备用连接。生产库出现问题时,直接启用备用连接即可恢复调度作业的正常运转。

1.2 基于Oracle Data Guard方案

Data Guard作为Oracle数据库的集成组件,为调度中心提供了一个比较全面的数据保护、故障排除和应急演练的解决方案。它可以创建、维护和监控与生产数据库结构模式相同的容灾数据库,以保护调度中心的行车数据不受故障、灾难、错误和崩溃的影响。当生产数据库由于计划中断或意外中断而不可用时,Data Guard可以将容灾数据库切换到生产角色,从而减少由中断产生的停机时间,最重要的是可以防止行车数据的丢失。Data Guard结构如图1所示,方案实施如下。

建立容灾数据库系统。容灾数据库是与生产数据库在事务上一致的副本。当生产数据库中发生事务时,生成重做数据并将其写入本地重做日志文件中。通过Data Guard,还可将重做数据传输到容灾站点上,并应用到容灾数据库中,从而使容灾数据库与生产数据库保持同步。Data Guard转换和功能恢复操作不是自动进行的,必须由管理员明确启动。

图1 Data Guard结构图

1.3 基于SharePlex for Oracle方案

SharePlex是第三方软件公司 (Quest Software)推出的一个成熟的、完全的Oracle数据库复制软件。它是一个实时的、冗余的、流程化的数据库复制方案,是专门为Oracle数据库设计和开发的。SharePlex由捕获进程读取生产数据库中的日志文件,获取数据的变化信息,传输到容灾数据库系统,然后解析成SQL语句,在容灾数据库中执行。SharePlex for Oracle的基本结构如图2所示。方案实施如下。

图2 SharePlex for Oracle基本结构图

1.建立容灾数据库系统。该容灾数据库支持异构环境,即支持不同的存储、主机、操作系统、Oracle数据库的不同版本。

2.安装SharePlex软件。配置其工作模式 (单向、双向、一对多、多对一、级联复制),以满足不同情况下的需求。

当生产数据库出现故障无法工作时,容灾数据库能够立即接管关键应用继续运行;生产数据库恢复后,应用、数据可以迅速切换回生产库运行。接管切换时间基本等于应用系统切换数据库的时间,属于容灾系统中最快的故障接管方案。

2 容灾方案分析

2.1 SQL语句同步方案

优势:该方案属于简单快捷型的数据库容灾手段,恢复时间短,操作简便,方便现场维护人员的掌握,基本一学就会。其最大的优势在于零成本投入和操作简捷。

缺陷:采用该方案进行恢复之后,调度中心(尤其是调度台)的数据一般不完整,如果设置间隔为10 min,将最多丢失10 min的数据。还需要调度人员后期手工补全或经后台特殊处理来完善数据。另外,该方案中容灾库的的稳定性一般,维护人员需要定期监测容灾库的运行状态。

2.2 基于Oracle Data Guard方案

优势:Data Guard以较小的成本实现了最大的数据保护。作为一个灾难恢复解决方案,Data Guard易于管理的转换和故障切换功能,允许生产库和容灾库之间的角色转换,减少了生产数据库因计划内或计划外的中断所导致的停机时间。Data Guard提供了完善的数据保护,使用容灾数据库,可保证不会丢失数据。

缺陷:在临时系统故障或网络故障的情况下,为了避免出现错误的功能恢复/转换,Data Guard转换和功能恢复操作不是自动进行的,必须由管理员明确启动。因此需要对管理维护人员进行大量的专业技能培训,使其具备一定的专业技能和操作经验。Data Guard转换和故障切换之后,若需恢复之前的Data Guard容灾状态,还需重新搭建 Data Guard环境。

2.3 基于SharePlex for Oracle方案

1.原理简单,实现高效,保障生产库与容灾库间数据复制的实时性、一致性。SharePlex通过从Oracle日志读取数据库的所有变化信息,传输到容灾数据库解析成SQL进行装载,整个过程严格遵守数据一致性的顺序,保证两端数据库结构变化的准确同步。

2.软件安装及配置极为简单,所有步骤均由软件提示操作,如果出现误操作将无法继续,从技术上确保了操作过程的准确性。配置复制关系仅需一个命令激活配置文件,可自动创建各个复制进程和队列,无需任何额外配置即可开始数据复制。

3.复制性能较高。SharePlex在容灾库采用了多线程的方式实现对数据的加载,在保证所有事务的先后顺序及一致性的基础上,对大量并发业务也同样保证高速的处理速度。

4.对生产库性能的影响很小。SharePlex通过Oracle日志获得数据的变化信息,独特的技术优势使其占用生产库系统的资源很小。

5.数据延迟。SharePlex是一种异步准实时的同步复制技术,每次Oracle日志文件发生变化后,SharePlex都会迅速捕捉,所以数据延迟非常小。

6.网络负载较低。SharePlex同步操作只是读取操作系统的日志文件,采用TCP/IP方式而不是中间件方式,传输只发生改变的数据使网络负载降至最低。

7.强大的容错能力。复制环境能够提供网络失败、数据库失败、主机失败的容错能力。无论复制链路中的任何一台数据库或主机出现故障暂时不可用,或者发生网络中断,SharePlex可以把数据暂时保存在队列文件中,故障被修复后,自动恢复数据复制,数据不损失。

8.灵活性和扩展性强。SharePlex提供多种配置方案,包括单向复制、双向复制、数据集中、数据分布等,满足系统的扩充性需求。生产库和容灾库可以运行在不同类型的操作系统和同一Oracle数据库的不同版本上,同时支持不同类型的磁盘阵列。不仅满足目前异构环境,还能适应未来的扩展需求。硬件升级时,新旧硬件产品可以随意调换,不受限制。

9.容灾库数据可访问,有效提高资源利用率。用户可以对容灾库进行查询、统计、分析等操作,充分利用容灾库系统资源,减轻生产库系统的压力,使投资变为可用,而不是单纯的冷备闲置。

10.建立同步环境的工作量。不需要对硬件、软件、磁盘卷的划分进行额外操作,减少了建立复制环境对系统结构和应用所作的修改工作。目前SharePlex支持所有的Oracle数据类型,对应用程序没有限制。

11.稳定性较高。设计了多种保障和恢复机制,在进程出现异常终止,或数据库宕机甚至主机掉电等情况时,都可通过简单几步或自动恢复,并且前期配置的复制环境不需要重新部署。

12.在线数据比较。SharePlex提供在线数据比较功能,如果怀疑部分数据不一致,可在应用不停机且被比较的表上有操作情况下,动态地比较并定位不一致的数据,实现在线自动修复,充分保障数据的一致性。

13.SharePlex提供成熟的手段进行复制链路的监控和维护。用户可通过SharePlex控制台查看数据复制的各种相关信息,并设定个性化的参数以实现特定的功能,管理方便灵活。可使用自带的图形监控程序查看相关信息,当发生意外情况时可实现及时报警。通过丰富的日记记录复制软件的运行情况。内置支持SNMP和Mail功能,可与多种监控平台结合,实现数据复制的实时监控 (使用SNMP方式)。

综上描述,SharePlex方案不仅具备前2种方案的全部优势,还具有自己的特色,例如:复制性能高效,可实现负载均衡,工作模式多样化,适应多种不同需求,对生产数据库和网络影响很小,便于管理维护等;只是前期投入成本较高。

3 容灾方案选择

按照数据库系统在现场的应用,一般会在2种情况下启用容灾或备用数据库,分为计划内或计划外停机。计划内停机包括:硬件、操作系统、数据库等升级。计划外停机包括:触发bug、计算机病毒、数据/存储故障、人为错误、软件故障、自然灾害等。

3.1 计划内停机

计划内停机最优选择方案宜采用SharePlex,Data Guard次之。

计划内停机属于有准备性的数据库切换,如定期的系统补丁升级。前期方案制定详细,准备工作充分,实施者充分考虑了切换过程中的每一个步骤,每一个细节,对状态和结果都有相当的把握。整个切换工作安全可控,对运输生产的影响基本可忽略。更重要的是,在此类应用中各部门都协调到位,步调一致,为整个切换工作提供了非常理想的外部环境。现场用户最注重的是行车数据不丢失,其次是考虑维护人员的专业水平和技能熟练程度,做到切换前的准备、切换中的操作,切换后的恢复等尽量简单便捷,避免繁琐。在这方面SharePlex优于Data Guard。当然SQL语句同步方案也能实现数据库的切换功能,但由于容灾库中数据的不完整将给用户带来一定的影响,所以在此类应用中不建议使用SQL语句同步方案。

3.2 计划外停机

计划外停机最优选择方案宜采用SharePlex,SQL语句同步方案次之。

计划外停机一般属于突发的、无预见性的故障,如系统的bug被触发,前期没有任何征兆,用户也没有任何的思想准备,停机很突然。这种情况下稍有不慎就容易引起运输秩序的混乱,甚至会造成更加严重的后果。因此,要优先考虑恢复调度指挥业务,尽可能减少运输业务的中断时间,稳定运输秩序,降低对生产的影响。此种情况的外部环境比较恶劣,不论是调度指挥人员还是管理维护人员,情绪波动相对比较大,所有的切换操作都是被迫执行,操作的步骤、环节就要尽量简捷高效;其次才是考虑数据的丢失。在这种情况下,SharePlex最优,其切换时间基本等于应用系统切换数据库的时间,属于目前数据库容灾系统中最快的方案,并且数据接近零损失。当然,SQL语句同步方案也有其一定的优势,虽然数据损失较多,但切换的操作非常简单,易于现场维护人员的掌握。一般不建议采用DataGuard方案,不仅操作繁琐,需要做多项检查才能保证切换的顺利进行,而且维护人员必须具备一定的专业技能和操作经验,这对目前现场的维护人员来说,实现起来比较困难。当然,具体选择哪种方案,还要综合考虑现场的各种因素,目的就是尽可能降低对业务和用户的影响。

4 结束语

综合比较多种容灾方案,无疑SharePlex是最优的一种,它功能强大,适合多种场合的应用,但因其前期投入成本较高,可能会成为现场运用的一种障碍。当然还有其他的成本低廉方案,可供大家选择。容灾方案有很多种,如何运用,怎样实施,需要现场管理部门针对自己的实际情况,结合现场用户的需求、特点,制定一套相对完善的容灾规程。希望在今后的发展中,创新更多更好更适合的方案,为数据库的连续可靠运行保驾护航。

[1] 中华人民共和国铁道部.运基信号[2005]418号.列车调度指挥系统(TDCS)数据通信规程(V2.0)[S].2005.

[2] 中华人民共和国铁道部.运基信号[2007]696号.调度集中系统(CTC)数据通信规程[S].2007.

[3] 中华人民共和国铁道部.运基信号[2009]676号.列车调度指挥系统(TDCS)、调度集中系统(CTC)组网方案和硬件配置标准[S].2009.

猜你喜欢
容灾停机调度
质量管理工具在减少CT停机天数中的应用
《调度集中系统(CTC)/列车调度指挥系统(TDCS)维护手册》正式出版
电力调度自动化中UPS电源的应用探讨
基于强化学习的时间触发通信调度方法
高速公路收费中心容灾备份系统建设方案分析
CTC调度集中与计算机联锁通信接口的分析
关于建筑企业容灾备份系统方案的探讨
基于数据容灾技术在企业信息系统中的应用研究
雷克萨斯NX200t车停机和起动系统解析
>> 中共山东省纪委办公厅、齐鲁石化赴山东省电子文件(档案)容灾备份中心开展电子档案容灾备份工作