HIS数据库从Window迁移到Linux平台的解决方案
2020-09-14陈复兴江西省九江市第三人民医院信息科九江市332000
陈复兴 江西省九江市第三人民医院信息科 九江市 332000
0 引言
ORACLE数据库是美国甲骨文公司一款关系数据库管理系统,由于移植性好、跨平台、运行稳定、使用方便、功能强大等特点,近几十年来在数据库领域内一直保持着领先地位[2,5]。目前大多数核心业务ORACLE数据库基本运行在Window或Linux平台上。我院自2010年开始全面建设医院信息化,先后上线了HIS、EMR、LIS、PACS、院感、手麻等主要医院信息系统,随着医院规模逐渐扩张,业务量也随之增长,其中HIS信息系统的业务量增长最快,HIS数据库服务器的负荷急需改善[1,6]。
1 现有瓶颈分析
由于HIS业务为患者就诊首次记录业务,故HIS业务为其他业务基础,其他业务基础数据均共享HIS业务数据,如EMR、PACS、LIS、微信挂号、缴费等业务。而我院现有HIS数据库服务器采用64位Windows2003 Server操作系统、Oracle 11.2.0.1版本,操作系统内存32GB、2核物理CPU,连续服务10年以上,目前日常客户端连接数量1600左右。分析瓶颈主要有硬件和软件方面,硬件采用任意连续监测5天08∶00-12∶30以内数据库服务器性能如表1(内存消耗量、CPU占用比均取平均值)。
从表1可知,内存消耗量、C P U占用比均在80%以上,数据库服务器负荷已经严重超标软件采用分析ORACLE配置、HIS业务程序优化,ORACLE配置主要分析回滚段竞争SQL、判断高速缓冲区命中率 、判断共享池命中率 、SGA大小 、命中排序域的次数、表空间碎片整理等指标,根据ORACLE官方DBA手册[7]查询相关指标数据均在在合理范围内,如高速缓冲区命中率、共享池命中率均在86%以上[4,6];HIS业务程序优化主要分析HIS业务SQL语句,将影响程序运行速度的SQL语句逐一分析,如住院明细费用、医嘱等相关SQL语句,经调整分析相关SQL语句执行计划均执行索引执行计划[7,8]。经综合分析我院HIS数据库的瓶颈主要为硬件瓶颈[3,4]。
近年来网络安全问题突出,各行各业都面临程度不等的网络安全危机,医疗领域更是重灾区,2018年根据不完全统计共有200多家医院检测出勒索病毒,甚至有个别三甲医院因勒索病毒导致就诊业务中断,不仅造成医院经济损失同时严重损害居民就医体验。统计近年来爆发的勒索病毒结果,在Windows平台环境下最易感染、最易攻击,而在Linux平台下感染概率小,我院HIS数据库服务器为Windows 2003 Server操作系统,存在较大感染病毒风险。
2 数据库服务器迁移Linux平台
原HIS数据库服务器采用Windows 2003 Server操作系统、Oracle 11.2.0.1版本。为了提升HIS服务器性能、保障HIS业务的连续性、应对网络完全易感染、易攻击性,新采购2台华为2488V5服务器,选择ORACLE Linux Server 7.7操作系统,Oracle Database 11g Enterprise Edition Release 11.2.0.4-64bit Productions 数据库。相对于HIS程序升级,更换HIS数据库平台风险高、耗时长,为了顺利完成平台更换、同时减少医院医疗业务中断时间,制定了详细迁移手册,迁移工作严格按手册执行。升级手册如图1。
图1 平台迁移步骤
2.1 安装Linux操作系统
在服务器上安装任意操作系统,光盘安装易成功,将ORACLE Linux Server 7.7 镜像文件刻录至光盘上。新购华为2488V5服务器 128G内存,硬盘2T,为了发挥其最大性能,安装操作系统前根据ORACLE特性作配置:SWAP分区分配64GB、文件类型选择EXT4、创建4个分区分别用于存放ORACLE数据文件、归档日志文件、操作系统文件、ORACLE数据库安装文件。在安装时操作系统语言选择简体中文,选择带有桌面管理环境配置。
2.2 安装ORACLE数据库
在Linux上安装ORACLE数据库分为四步:1.创建ORACLE用户和用户组。 2.修改系统内核参数。3.建立安装目录和配置环境变量。4.安装ORACLE软件,在安装过程中选择仅仅安装数据库软件和创建单实例的数据库安装,安装语言默认语言英文。
2.3 HIS数据库元数据导出
“元数据包括”包括数据文件位置、控制文件位置、参数文件位置、表空间基本信息、用户基本信息、存储过程基本信息、触发器基本信息、J o b基本信息、序列基本信息、同义词基本信息等。涉及表有V$DATAFILE、V$CONTROLFILE、DBA_DATABASESPACE、DBA_USERS、DBA_DATA_FILES、DBA_OBJECTS、V$TEMPFILE等。元数据导出采用TOAD FOR ORACLE或PL/SQL工具可视化导出当个文件,在导入数据时,执行此导出即可。
2.4 模拟测试迁移
ORACLE官方推荐的数据迁移方式有imp/exp、impdb/expdb、data guard、Storage存储迁移、rman数据迁移、表空间数据迁移等方式。根据停机时间、导入数据时长、操作难易程度、HIS业务允许最大中断时间等分析。表空间传输(TTS)具有速度快、支持跨平台等优点,本文选择表空间传输方式实现数据迁移。为了模拟测试迁移,选择任意一台新购服务器模拟,迁移步骤如下:
(1)检查平台差异性。
SELECT d.PLATFORM_NAME, ENDIAN_FORMAT FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME;
(2)表空间自包含自检,因整库迁移,自包含自检可不做。
EXECUTE DBMS_TTS.TRANSPORT_SET_CHECK(表空间名称, TRUE);
SELECT*FROM TRANSPORT_S E T_VIOLATIONS;
(3)表空间只读,将所有在线表空间改只读模式。
alter tablespace 表空间名称 read only;
(4)导出表空间元数据信息。
expdp system dumpfile=metadata.dmp directory=dump transport_tablespaces=表空间名称 logfile=tts_export.log;
(5)将生成的表空间元数据和数据文件传输至新华为服务器LINUX平台上,为了提高速度,选择固定硬盘。
(6)在新华为服务器LINUX平台行上新建用户等基本信息、可执行2.3导出的文件。
(7)导入4产生的文件。
impdp system dumpfile = postmall_metadata.dmp directory = dump logfile = tts_import.log;
(8)验证数据一致性,无数据不一致,执行2.3导出的文件。
2.5 正式迁移Linux平台
根据2.4模拟测试迁移的结果,整理模拟测试迁移过程中的注意事项,评估迁移所花费时间、制订应急预案,为了减少不必要的业务中断,在另一台新购服务器上选择周六晚上12∶00开始正式迁移,迁移步骤同2.4,迁移完成后需要同步服务器时间、IP地址、服务器名称等基本信息,在正式启用前,对整个库进行备份。
3 总结
由于医院HIS业务的重要性,任何影响HIS业务软件、硬件都将影响整个医院的运行效率,通过本次HIS数据库平台的迁移,CPU使用率在HIS高峰期均在5%以下,ORACLE高速缓冲区命中率 、判断共享池命中率均在97%以上,缩短了HIS客观端的请求时间,提高了临床使用感。