医院信息系统数据库从Oracle8i到10gR2升级的实现

时间:2009年03月02日16:05 来源:当代医学

作者:李泰环

[摘要]  目的  解决资源紧张,系统运行较慢等问题。方法

升级数据库服务器,服务器由1hp的dl580升级为IBM的P系列小型机,操作系统由windows2003 Server更换为Unix

AIX,数据库从Oracle8i升级至10gR2,利用数据库的导出\导入方法,实现数据的顺利迁移。结果

实现了Oracle数据库跨平台、跨数据库版本的升级, 升级后整个系统的性能得到了很大的改善, 高峰时期资源争用的情况得到了很好的解决。结论

得出一套适合医院信息系统服务器软硬件平台和数据库同时升级的解决方案。

[关键字]  医院信息系统;Oracle数据库;升级

[Abstract]  Objective Resolve the questions of

Resources tension and Systems running slower. Methods The server of hp’s dl580

was replaced by the Minicomputer of the IBM,The Operating system of

windows2003 was replaced by Unix AIX, Oracle8i database upgrade to 10gR2,the

method of imp/exp was used,the Smooth Migration of data was implemented .

Results Oracle database cross-platform and cross-version upgrading was

implemented, the function of the whole system  got very big of improvement,

on high peak period the resources contending was solved appropriately. Concluson

Got a kind of upgrading solution for the hospital information system server

platform and database simultaneity.

[Key  Words] Hospital Information System;Oracle

database;upgrade

1  引言

“军字一号”医院信息系统和其他很多企业的信息系统一样,大多数采用的是C/S模式。较早几年建立的信息系统对医院的科学高效化管理起到了非常重要的作用。该系统从2000年最初建立到现在,期间由于信息系统的发展需要,于2002年4月数据库从Oracle7.3升级到8i,其后主服务器硬件环境由hp570升级到dl580。从数据库系统升级至今,系统不断的推陈出新,逐渐增加了很多应用模块,特别是最近2年随着门诊医生工作站、物资管理、分诊系统、PACS、Lis、体检、数据综合查询等应用系统的全面铺开,数据量不断增长,数据库服务器负荷日益加重。尤其是在高峰时期,数据库系统资源争用现象常常发生,这就导致信息系统性能的下降,最为严重的时候,当连接到服务器的并发用户SESSION达到一定的数量,其他用户就不能连接到数据库。针对这种情况,采取调整SGA、断开长时间闲置的用户等方法,效果都不是很理想,运行速度仍然较慢,系统很不稳定。同时,医院不断的发展壮大,计划新增设一些病区,预计新增加客户端上百个,并发用户数将会随之增加。另外,作为C/S模式的管理系统,客户端只运行应用程序,很多应用系统在服务器端需要进行大量的查询、排序、运算等操作,这就使得服务器的工作任务更加繁重。

基于以上原因,对于一个需要24小时不间断运转的医院信息系统来说,进行数据库系统升级很有必要。系统升级后,必须是一个快速、高效、安全稳定的系统,并且在一定的时期内满足医院业务增长的需要。然而,对于运行较长时间的医院信息系统数据库的升级,不仅仅是数据库本身版本的更新,而是涉及很多方面的复杂工程。其中主要包括数据库服务器的硬件配置、操作系统、前后台应用程序与新版本数据库的兼容性等问题。

2  升级前的准备

医院信息系统基本遍布在医院的每一个部门,用户对信息系统的依赖非常大,系统的升级关系全局稳定,稍有疏忽就有可能对全局应用产生很大的负面影响。因此,从Oracle8i到10gR2数据库的升级必须做好充分的探讨和研究,以确保数据库升级的顺利实现,使升级后的系统切实做到安全、稳定、高效。具体做法如下:

2.1  参观与借鉴,确定具体的方案

参观学习多个成功案例,分析比较他们的升级方案,吸取他们在升级过程中的经验和教训,尽可能做到少走弯路。然后根据我院的实际情况,确定了具体方案:升级系统的软硬件平台,并同时升级数据库版本。决定购置小型机,使用UNIX操作系统,这样可以使整个系统运行起来稳定可靠,具有很高的性能。数据库从Oracle8i升级到10gR2。这样操作系统和数据库系统都从32位升级到64位,必将大大提高整个系统的性能。

2.2  实施环境准备

升级前服务器环境:主机是 hp

dl580,CPU主频2.60G,操作系统是Windows2003,数据库系统是Oracle8.1.7.4.1,数据库工作模式为归档模式。

新购置的服务器的环境为:企业级机架式Unix服务器IBM P5 52A,CPU主频是1.65GHz*4,内存是16GB,内置两块热插拔硬盘,磁盘阵列

IBM DS4700,146*16GB,操作系统环境是AIX 5L 64bit和64-bit kernel

mode,版本5.3-04。数据库系统Oracle10gR2。数据库的工作模式设置为归档模式。

小型机环境安装:在服务器上安装配置AIX5.3操作系统和系统补丁,配置磁盘存储系统,安装Oracle10gR2(10.2.0.1数据库软件和安装10.2.0.3补丁集。配置小型机的网络环境时暂时设定一个临时的IP地址即可。

2.3  选择数据库的升级方法,制定应急预案

由于数据库升级工作是一个系统工程,必须经过周密的计划和测试才能进行, 尤其是在选择升级方法时更要慎重, 所有的操作必须要有补救措施,

这对数据库管理员来说非常重要,因此我们对常用的升级方法进行了分析比较,确定了最终的升级方法,并制定了应急预案。

2.3.1  选择数据库升级方法

升级数据库的方法很多,主要有利用Oracle的升级工具、数据库的导出/导入、数据复制等方法。对于医院数据库管理员来说,在数据库升级的时候要具体分析数据库的版本、操作系统、数据库的规模和医院具体业务特点来选择合适的升级方法。我们这里选择了导出/导入的升级方法,这种方法可以用于不同版本数据库之间的升级,甚至是高版本的数据库向低版本的数据库的升级,同时也可以改变数据库的物理参数,另外这种方法还可以用于数据库的备份和恢复。当然这种方法的致命缺点是升级时间与数据量的大小成正比,

数据量越大,

则时间越长。对此,数据库管理员最好对那些数据增长较快的数据表进行过期数据处理,针对于医院信息系统数据量比较大的表主要有医嘱、费用明细、摆药记录等。

2.3.2  制定应急预案

由于这次升级是服务器软硬件和数据库软件版本同时更换,整个数据迁移过程只是对数据进行导出/导入操作,除了IP地址的更改,并不对原数据库和原服务器软件和硬件环境做其他任何改动,一旦在数据迁移后发现问题,则直接启用原来的数据库即可。只是将小型机的IP改回切换前的临时IP,并把Windows服务器的IP改为原IP即可。

2.4  反复测试和模拟演练,确定具体的升级步骤

在确定了升级方法和应急预案以后,为了保证升级成功,必须反复多次进行升级试验。升级试验是发现问题的唯一方法,针对每次试验中出现的问题,不断修正升级方案,直至试验完全达到预期效果,才能最终确定正式的升级步骤。

由于此次升级对系统改动很大,包括服务器主机、操作系统类型、操作系统位数、数据库版本多个方面的改动,因此,制定了详细的测试计划。测试的内容包括硬件测试、系统功能测试、应用软件测试。特别在软件测试过程中反复测试以下各项后,得出了最合适的升级步骤。主要包括创建数据库,

现用数据库的数据进行导出,然后导入到新的数据库服务器中, 导入成功后对每一个客户端应用软件业务处理、后台过程和批处理作业反复测试。

最后,按照上述得出的正式的升级计划及具体的实施步骤再次进行了模拟实施,

然后删除测试库,重新创建新的空数据库。此时全部准备就绪,即可以确定数据库正式升级的准确时间。

3  升级的实现

根据前期的测试和模拟演练,进行了整个数据库服务器系统地正式升级,具体升级工作步骤如下:

1)停止客户端对当前数据库的操作:选择业务较少的时间段使系统停机时间,并且提前通知各个部门,更改原有Windows服务器的IP地址为一临时地址。

2)检查Oracle数据库会话,确认各客户端连接都已断开。

3)使用Oracle exp导出工具,在原有Windows服务器进行Oracle数据库结构导出:exp system/password full=y

rows=n file=d: \his_script.dmp log= his_script_exp.log

4)使用Oracle exp导出工具,在原有Windows服务器进行数据库全库导出:exp system/password full=y file=d:

\his_full.dmp log=his_full_exp.log

在服务器进行数据库全库导出的同时,对数据库结构导出文件his_script.dmp 进行分析,生成创建表空间的 SQL脚本文件,和创建用户的

SQL脚本文件。

5)在小型机上运行创建表空间的SQL脚本文件和创建用户的 SQL脚本文件。

6)原有Windows服务器进行数据库全库导出完成后将导出文件FTP上传到小型机上。

7)在小型机上进行数据库全库导入,结束后检查日志,看是否有影响的错误。其中,全库导入的命令如下:imp system/password full=y

file= his_full.dmp log= his_full_imp.log

8)将原有Windows服务器SYS用户下创建的相关对象手工导入到小型机上,对比原有Windows服务器和小型机的数据库对象是否相同。

9)客户端的数据库连接上小型机服务器的数据库系统,运行客户端程序进行测试。

10)客户端程序测试完成后更改小型机服务器IP地址为原来主数据库的IP地址。

11)请部分工作站进行业务处理测试,如测试通过,迁移成功。

4  总结

这次升级工作实现了Oracle数据库跨平台、跨数据库版本的升级,主服务器系统主机更换为小型机,操作系统从Windows更换为Unix,数据库系统从Oracle8i升级到10gR2,操作系统和数据库都从32位升级到64位。

升级后整个系统的性能得到了很大的改善, 高峰时期资源争用的情况得到了很好的解决,

客户端应用程序操作的响应速度显著提高,特别是对于以前响应较慢的门诊医生工作站系统和需要进行大量查询和大量计算的复杂业务,其效果更为明显。

总之,由于准备充分,方案正确可行,从而顺利完成了windows2003操作系统下oracle8i数据库向运行在Unix

AIX5.3操作系统下的oracle10g的数据库升级,并且通过一段时间的连续监测,系统运行安全稳定。由此得出一套适合医院信息系统软硬件平台和数据库同时升级的解决方案。同时,这种方案不仅适合医院,还可供其他使用Oracle数据库的行业借鉴。

参考文献

[1] 刘志敏,张继国.军字一号医院信息系统数据库升级的实现.医疗设备信息.2004,10:17-20.

[2] 张帆,张红君,刘聪.军字一号ORACLE数据库升级的实现.解放军医院管理杂志.2007,14(7):522.

[3] 夏洪斌,陈金雄,陈薇薇.“军卫一号”数据库从 Oracle817 到Oracle10g的升级实现.医疗卫生装备.

2008,29(4):40-44.

[4] 李连,朱爱红. Oracle数据库应用系统升级方法研究及实现.实践经验. 2003,2:59-61.

[5] 王继伟.医院信息系统ORACLE 数据库升级时应考虑和需注意的问题. 医学信息. 2003,16(9):502-503.

[6] 曹丽,刘刚.医院信息系统ORACLE数据库升级解决方案.医疗设备信息.2007,22(7):30.

[7] 夏洪斌,吕一刚.医院信息系统ORACLE数据库升级的实现.解放军医院管理杂志. 2008,15(4):343-344.

[8] 李刚荣,李晴辉,周琳.UNIX操作系统在HIS中心服务器上的应用.中国医疗设备,2008,1:31.

作者单位:100091  解放军总医院第二附属医院信息中心

oracle数据库的医院信息系统数据库升级方案,医院信息系统数据库从Oracle8i到10gR2升级的实现...相关推荐

  1. mysql 海量数据库的查询优化及分页算法方案_mysql 海量数据库的查询优化及分页算法方案...

    select * from table1 where name='zhangsan' and tID > 10000 和执行: select * from table1 where tID &g ...

  2. mysql分页的高效算法_mysql_海量数据库的查询优化及分页算法方案

    mysql 海量数据库的查询优化及分页算法方案 文章分类:数据库 转自链 接:http://www.doczj.com/doc/c548420fba1aa8114431d9a4.html/databa ...

  3. oracle数据库升级失败,Oracle 11.2.0.1 rac 升级失败后,数据库降级方案(flashback database)...

    升级失败后,数据库降级方案(flashback database) 环境:Oracle 11.2.0.1 rac on redhat 5.8 Flashback database 准备工作 查看是否f ...

  4. 数据库周刊62丨央企2021年数据库成交公告,国产占90%;流数据库HStreamDB开源;MySQL主从双写导致数据丢失;Oracle 19c升级最佳实践;PG日常工作分享;MySQL MGR运维指

    热门资讯 [1.中央国家机关2021年数据库成交公告:国产数据库份额占90% [摘要]据央采网3月19日发布的<中央国家机关2021年数据库软件协议供货采购项目成交公告>显示事务型数据库管 ...

  5. Oracle数据库服务器IO高的分析方案和案例探讨

    Oracle数据库服务器IO高的分析方案和案例探讨 本文原题<ORACLE数据库服务器IO高的分析方案和案例探讨> 目录: 慧眼识珠--服务器磁盘这么繁忙,到底是谁干的? 谨记于心--OR ...

  6. java计算机毕业设计基于ssm的医院门诊互联电子病历管理信息系统(源代码+数据库+Lw文档)

    项目介绍 医院门诊互联电子病历管理信息系统能够通过互联网得到广泛的.全面的宣传,让尽可能多的用户了解和熟知医院门诊互联电子病历管理信息系统的便捷高效,不仅为群众提供了服务,而且也推广了自己,让更多的群 ...

  7. 基于vue医院门诊互联电子病历管理信息系统(源代码+数据库+Lw文档)

    后台功能模块主要包括用户管理.发布文章.文章管理.页面管理.评论管理.分类/标签管理.文件管理.友链管理.系统设置等子模块. 1.用户管理,对用户相关内容进行管理 2.发布文章:可以通过此模块发布文章 ...

  8. Oracle数据库迁移到AWS云的方案

    转载:http://www.cnblogs.com/allcloud/p/6148513.html 当前云已经成为常态,越来越多的企业希望使用云来增加基础设施的弹性.减轻基础设施的维护压力,运维的成本 ...

  9. 升级到12c云数据库的最佳实践

    目录: 升级方案的选型 各个阶段主要任务 项目成功的关键因素 升级的过程中我们会经历这样一个过程:一开始,怀着美好的愿望,我们开始升级项目:但在实施过程中会碰到或多或少的问题,饱受挫折:在努力解决问题 ...

最新文章

  1. go mod导入本地包的正确引入方法:require + replace
  2. java 不取空值_Java:如何更优雅的处理空值?
  3. flinksql写入hudi 踩坑实录
  4. 考计算机科学考研老师问,名师答疑:计算机专业考研复习6问!
  5. 广东省谷歌卫星地图下载
  6. STK Component Insight3D控件-WPF方式
  7. 遗传算法解决TSP问题
  8. 计算机无法启动printspooler,Win7系统下print spooler服务无法启动的解决方法
  9. mina mysql_SpringBoot集成Socket通讯之Mina框架
  10. LaTeX技巧100:LaTeX如何输入大小写罗马数字?
  11. html 加爱心符号,心形符号大全
  12. linux下安装weblogic出现的两个错误解决办法
  13. 论文《DeepHawkes: Bridging the Gap between Prediction and Understanding of Information Cascades》阅读
  14. 并查集算法(优化) | Union by Rank and Path Compression
  15. SAP 物料可用性检查
  16. 安全工程转计算机专业,2019安全工程专业就业前景和就业方向分析
  17. android MTK平台驱动设置
  18. 读ICCV Best Student Paper有感
  19. DEDE5.7SP1 添加栏目图片 并且标签调用
  20. SwiftUI小技巧之如何获取全球语言编码

热门文章

  1. php post登陆 json,php 之 post json 数据
  2. 计算机模拟 博弈 善意,从两本奇书看人与人的重复博弈
  3. 多列集合的索引器实现
  4. Renascence架构原理——最优化算法
  5. JavaScript 总结几个提高性能知识点
  6. LINUX之前UNIX的历史
  7. python单双三引号区别_python中单引号,双引号,多引号区别_python中单双引号
  8. mysql多源复制相同数据库名称_mysql数据库多源复制方案
  9. [ js处理表单 ]:动态赋值
  10. 地图标绘软件_ArcGIS Pro 2.4 首次亮相,Indoors、Monitor、全新一代地图故事模板,新特性抢先看!...