HIS数据库跨版本跨平台迁移

2018-09-12 00:52:06李想苏玉成杨艳华蒋昆
中国医疗设备 2018年9期
关键词:容灾升级服务器

李想,苏玉成,杨艳华,蒋昆

空军军医大学西京医院 数字化中心,陕西 西安 710032

引言

我院HIS系统于1998年开始建设,在2009年针对内存和监听器的bug已经历过一次Oralce版本升级和服务器硬件升级。目前服务器采用集群模式,由2009年采购的两台IBM P570小型机组成,Oracle版本为10.2.0.3,设备上线以来,系统运行稳定。HIS灾备系统为1台P570服务器,采用Oracle DataGuard实现容灾。由于医院业务快速增长(2017年医院门急诊量387.25万人次,住院收容量14.03万人次,HIS数据库容量约700 G,高峰数据库连接数约1200,并发数约180),以及设备使用时间过长已进入老化阶段等原因,HIS业务实际运行中存在以下问题:① HIS业务系统单点无法承担全院业务;② 一旦双节点完全宕机,系统恢复存在风险,严重威胁医院业务运转;③ HIS环境上未实现数据读写分离,存有数据查询作业,对数据库性能有一定影响;④ 数据库版本存在bug,导致医院业务多次受到影响;⑤ HIS数据库目前已运行9年,数据库存在很多高水位的表段;⑥ 灾备系统无法实时查询数据,其数据的准确性无法得倒验证,实际启用存在一定风险。考虑到以上问题,为保障医院核心业务的稳定运行,需要对HIS系统进行改造升级[1-3]。

1 改造方向

HIS系统是我院医疗信息化系统中的核心系统,承担着院内最为重要的任务,因此升级改造工作必须将安全、稳定作为前提。升级改造工作包括数据库服务器更换和数据库版本升级、数据容灾系统的建设,迁移前服务器拓扑,见图1。

图1 迁移前服务器拓扑

本次升级改造采购了4台服务器、4台SAN交换机,新HIS系统数据库生产服务器由两台高性能X86服务器构成,替代原有的P570小型机。配置8颗16核处理器E7-8860 v3,内存配置512 G。配置两块冗余的FC光纤HBA卡连接两台SAN交换机。为public接口配置两个万兆网络光口,在操作系统中完成网卡绑定,分别连接到核心交换机实现服务网络冗余;为心跳传输配置两个万兆网络光口,利用Oracle 11g数据库的HAIP技术,将心跳流量分发到这两个网络接口上:一是实现负载均衡,消除心跳流量大对系统性能的压力;二是实现心跳网络冗余。Oracle 10则无法提供HAIP功能,只能采用网卡绑定技术,迁移后网络架构,见图2[4-6]。

图2 迁移后网络架构

数据库方面在论证时医院充分考虑了升级至Oracle 11g和Oracle 12c所可能带来的收益与风险,对于HIS系统来说,以最大限度减少数据库层面出现的bug,同时满足实际需求且运行稳定的版本为最主要的目标,另外,通过Oracle DataGuard读写分离功能,将部分查询业务迁移到备库运行,减轻主库的负载压力,Oracle DataGuard读写分离在Oracle 11g才支持,因此确定本次数据库升级的目标为11g[7-8]。

生产数据库从P570迁移到X86服务器后,在容灾端部署容灾系统,采用和生产系统同样的平台/架构,通过Oracle Active DataGuard完成容灾建设,实现主备系统数据同步,保障数据安全和系统持续可用性。

2 数据迁移方案

为了尽量缩短业务停顿时间,新建X86平台数据库系统采用同生产系统完全一样的网络地址配置,将X86服务器的网卡独立连接到一个单独VLAN中。在P570和X86服务器上单独配置一个接口和相应的临时地址,用网络直连线连通用作数据同步传输。这样,在服务器切换的时候,只需要更改网络连接就可以了,无需更改Oracle的配置,缩短切换时间。

2.1 数据迁移完成方式分析

2.1.1 采用容灾软件完成

在迁移前完成容灾软件的部署安装,开始数据同步。待数据同步完成后即可以展开数据比对、业务功能模块测试等工作。GoldenGate作为我们的首选迁移工具,迁移完成后使用Oracle GoldenGate Veridata进行全库数据比对。

由于Power平台现有环境版本与Linux平台环境版本差异较大,所以在GoldenGate测试当中会出现一些不兼容的问题。经多次调整后,Power平台Oracle GoldenGate版本为ogg 11.1.1.1.0,Java版本为 Java 1.6;Linux平台Oracle GoldenGate版本为ogg 12.2.1.1.0,Linux操作系统版本为rhel 6.8,Java版本为Java 1.8。

2.1.2 采用EXPDP/IMPDP完成

利用EXPDP工具在晚间导出数据,减少对业务系统的影响。利用IMPDP工具将导出数据恢复到X86系统,检查导出日志,查找是否有可能导致数据不一致的报错信息。完成导入后,进行业务功能模块测试等工作。

方案1停机时间短,但软件存在不可控的因素易发生错误,方案2安全可靠但停机时间长。为保证迁移成功,两个方案同时并行,容灾系统等迁移成功后再行搭建。

2.2 回退方案

迁移失败不涉及回退,如果迁移失败,则将原HIS(AIX)系统恢复使用。迁移后出现问题解决方案包括:① 可解决的问题,通过修改程序或者调整数据库配置;② 临时不可解决的问题,针对临时不可正常使用的应用启用老库,在问题解决后,把涉及到的相关数据导入新库;③ 遇到大范围无法解决的问题,将数据库导入回老库。

3 数据库迁移过程

考虑国庆假期来院患者较少,为使迁移后能尽快通过正常工作日检验潜在问题,且为可能出现的迁移失败留出二次尝试时间。在10月6号晚23点正式进行切换时,启用急诊临时服务器,保障急诊患者收费系统正常运行。在迁移过程中,为了保障切换顺利完成,两套迁移方案同步进行,互不影响,最大限度保障迁移过程稳定进行:

GoldenGate容灾软件从10月4日上午9点开始进行第一次数据导入,在11点完成数据导入,此后开启GoldenGate软件的数据同步功能,由Power平台向X86进行数据传输,从而保障在切换之时(10月6日)两个数据库只需比对数据一致性,一致后无需再进行其它工作。GoldenGate软件的配置参数,见图3~5。

数据泵EXPDP在10月6日业务停止后,由Power平台导出数据,但由于GoldenGate的Veridata数据比对顺利完成,在完成数据导出后,未在X86平台执行数据导入操作。

3.1 切换前检查和数据比对、数据库备份

新老系统运行检查。在两套X86平台上进行硬件信息检查,同时在Power平台上手工完成数据库配置备份、参数文件、listener.ora备份及检查。调整crontab中的备份时间,避免干扰切换。

图3 GoldenGate关键参数1

图4 GoldenGate关键参数2

图5 GoldenGate关键参数3

3.2 HIS数据库数据同步检查

给全院终端发送消息,要求关闭HIS相关应用系统,后台关闭数据库监听,更改监听器的端口为1525,避免未知客户端连接到数据库,产生新增数据。重启HIS数据库,检查监听状态,执行ps -ef|grep local|wc -l,检查是否有持续增加的连接,确保系统不会产生新数据。

针对GoldenGate同步的数据库进行数据比对。查询关键表记录数和表数据,进行手工比对条数及记录内容,比对过程使用的是Beyond Compare软件,该软件极大的提高了工作效率。数据比对一致后,比对数据库其他对象,完成新数据库失效对象编译,序列重建。

3.3 HIS数据库切换

数据库比对完成后,进行应用测试,将应用连接临时指向新的Linux RAC服务器(数据比对用临时地址)进行应用可用性验证,应用验证通过后,拔出P570服务器的接口网线,切断网络连接。关闭Linux服务器的数据库监听,修改Linux RAC服务器的public接口VLAN,检查public地址和VIP地址状态。启动Linux RAC服务器的监听器,检查监听。数据库运行状态检查。

3.4 新系统上线

各项检查完成,确认无误后,通知全院终端系统升级完毕,正式启用。新系统上线后,在服务器端持续监控数据库状态、服务器指标。

4 迁移过程中问题处理

整个迁移从2017年10月6日晚23:00开始,在2017年10月7日凌晨1点40分完成数据导入,开始进行老库网络隔离,在1点50分开始进行系统试运行。

试运行一开始就发现服务器上线初期网络无法ping通,排查之后发现在网关上只配置了一台服务器的地址,及时在网关上添加另一台服务器的配置后,业务即可正常开展。

在财务软件确认正常使用之后,急诊系统上线后发现开具检查单时系统报错,经跟踪发现急诊系统由于调用Oracle 10g内部wmsys.wm_concat函数,在系统升级到Oracle 11g后,由于不再支持此函数导致急诊系统不可用,之前测试时已经发现,但系统一直没有更新。该系统在进行紧急升级后,问题解决。

针对审计对象不明的问题,审计范围可在原有的基础上进一步扩大,即对党委领导也展开必要的审核,这样就可以做到全面管理,提高离任审计的准确性,加强单位内部的凝聚力。评价体系需往全面性的方向改进,审计人员充分结合定性评价与定量评价的方法,保证审核报告结论的客观性,且结果精准涵盖问题的根本。

第二天医院业务部门反映系统会出现不定期卡顿10-30s的现象。经过排查系统日志/var/log/messages发现是有磁盘链路丢失现象,检查设备网络链路后发现是服务器端1口HBA卡模块接触不良问题,最终通过更换HBA卡模块解决问题[9-11]。

5 亮点与收获

通过本次HIS系统迁移,成功实现了如下效果:

(1)服务器的性能与安全性升级,提升服务器整体性能约10倍,单台服务器测试稳定并发数可达500,极限连接数可到800,即可撑起医院全部业务。在硬件架构上,多处采用冗余设计,从主备业务,到心跳冗余,到网卡冗余,大大提升了HIS硬件服务整体的稳定性和可靠性。

(2)数据库的升级,通过Oracle 10g升级至Oracle 11g在提升数据库稳定性减少bug的同时,依托Oracle 11g的功能实现数据库读写分离,让standby database分担业务数据库的负载压力,更高效地利用现有资源,使HIS数据库的高可用性得到增强。同时,通过迁移本身有效地解决了数据库高水位问题,有效利用空间,有效地减小业务数据库的负载压力,可以有效地减小业务环境的故障点。另外,数据库的升级还带来了自动存储管理(Automatic Storage Management,ASM)、 自 动 内 存 优 化(Auto Memory Tuning,AMT)、自动诊断知识库(Automatic Diagnostic Repository,ADR)等等一系列新特性,大大简化了管理人员的维护工作量[12-14]。

(3)数据库从P570迁移到X86服务器,Oracle GoldenGate 迁移比用传统EXPDP/IMPDP方式更高效,数据比对迁移完成后使用Oracle GoldenGate VeriData进行全库比对,但比对耗时比较大,尤其是像1亿多条数据的大表。本次迁移经过多次调整VeriData参数和表级筛选,提前比对,实现我们较理想的结果。

6 结语

目前新系统在医院已经平稳运行近6个月,未出现故障。通过本次迁移,确认了军卫HIS数据库在X86平台及Oracle 11g环境下可以正常运行,同时验证了Oracle GoldenGate软件在数据库迁移方面的可行性、利用Oracle RAC to RAC DataGuard软件实现灾备环境建设以及数据库读写分离的可行性。

[参考文献]

[1] 李超峰,马嘉潜,肖华锋,等.HIS系统数据库跨平台迁移实践[J].中国数字医学,2016,11(8):86-88.

[2] 马嘉潜,李超锋,邓晓焱,等.医院信息系统升级方案与实现[J].医学信息学杂志,2016,37(9):25-28.

[3] 田凯元.浅析我院HIS系统升级的必要性及方案制定[J].医疗装备,2014,27(9):18-20.

[4] 王志勇,魏民,项耀钧.“军卫一号”HIS双活架构设计[J].中国数字医学,2016,11(2):85-86.

[5] 刘浩.浅论HIS系统升级中的数据迁移[J].中国卫生信息管理杂志,2007,4(3):15-17.

[6] 田凯元.浅析我院HIS系统升级的必要性及方案制定[J].医疗装备,2014,27(9):18-20.

[7] 刘亚威,钱诚,翁盛鑫.HIS平台升级改造及数据保护方案设计[J].医疗卫生装备,2013,34(11):49-51.

[8] 叶瑞绵,王晓华,丁慧莹.Oracle数据库跨版本的升级实现[J].中国数字医学,2016,11(5):87-88.

[9] 亢军贤,都继军,余艳红,等.疗养信息系统从Oracle8i到Oracle11g升级过程的研究和实践[J].电脑知识与技术,2017,13(1):1-2.

[10] 唐红,苏丽娟.“军卫一号”数据库升级设计与应用研究[J].医疗卫生装备,2015,36(10):65-67.

[11] 成雄,赵雪雷,叶晓景,等.Oracle 11g实时应用集群下的高可用弹性架构数据库升级[J].医疗卫生装备,2015,36(5):57-59.

[12] 张帆,李响,张红君.军卫一号Oracle8i到Oracle11g在异构环境下的升级过程[J].医学信息学杂志,2014,35(1):26-28.

[13] 曹锐,杨爱华,蔺宁.Oracel 10g RAC下“军卫一号”数据库升级和Oracle DataGuard部署[J].中国数字医学,2013,8(9):91-93.[14] 段然,王毅琳,严波,等.从“军卫一号”的软件架构分析看HIS系统升级方向[J].中国数字医学,2011,6(4):61-63.

猜你喜欢
容灾升级服务器
小投入,大升级 Polk Audio Monitor XT系列
幸福,在“家门口”升级
金桥(2020年12期)2020-04-13 05:51:14
通信控制服务器(CCS)维护终端的设计与实现
回暖与升级
关于建筑企业容灾备份系统方案的探讨
电子制作(2017年10期)2017-04-18 07:22:47
基于中兴软交换的电力通信网络容灾系统建设
得形忘意的服务器标准
知识产权(2016年8期)2016-12-01 07:01:13
计算机网络安全服务器入侵与防御
基于数据容灾技术在企业信息系统中的应用研究
中国市场(2016年45期)2016-05-17 05:15:38
实施存储虚拟化及应用容灾保障医院信息系统业务连续性