Oracle数据库的医院信息系统数据库升级方案
l.引言
随着计算机技术的迅速发展,相应的软、硬件也不断更新换代。新一代的软、硬件产品在性能、安全性、可管理性、系统可用性方面具有绝对领先的优势。医院信息系统中的数据库管理系统也不例外。升级高版本的数据库是医院信息系统发展的必然趋势。升级的过程中还能清除原数据库中大量垃圾数据,优化数据库结构,改善数据交换条件,升级带来的好处显而易见。本文就介绍基于Oracle数据库的医院信息系统数据库从0rack 8i升级到0mcle 109的实施方案。
2.升级方法及实施环境
2.1升级方法
0mcle升级分成两种方法:
(1)DBUA(Databa鸵Upgrade Utility数据库升级实用程序)
0racle提供了升级工具让用户可以将数据库从低版本升级到更高的版本,8i可以直接升级到109,但8i必须是8.1.7.4(含)以上的版本.8.1.7.0是不被支持的。
(2)exp/imp(导出/导人)
数据库的导出,导人是一种最传统的常用的数据迁移及转化工具,因其导出文件具有平台无关性,所以在跨平台迁移中,最为常用。它可以通过数据库的升级,重新构造数据库的存储结构,如果数据不是非常大的情况下这种方法比较适合。根据医院的实际情况,我们要求的升级方法停机时间短,对医院正常工作影响小并且保证数据的高度安全性,不造成数据丢失。因此我们采用exp/imp对测试服务器先升级,再升级主服务器的方法。
2.2实施环境
原服务器的软件环境:Window8 2000 server(SP4)+0rack 8.I.7,工作于归档模式下。
新服务器的软件环境:Wind删s 2003 server+Oracle 109,工作于归档模式下,此服务器升级成功后将接替原服务器工作。
3具体实施步骤
3.1制作测试服务器
(1)在测试服务器上安装操作系统Windows 2003 server+0mcle 10.2.O,选择创建数据库,数据库安装在D盘下,沿用原来的SID即0RCL.并配置与原主服务器相对应的监听,这样做是为了保持与应用系统的客户端配置的一致性。
(2)在注册表修改字符集。注册表中HKEY—LOCAL.MACHINE/sO兀WAR啪RACLE觚Y—ORADBl oIzHOMEl下的NLs—LANG参数应与原数据库中的字符集相同,将其改为AMERICAN—AMERICA.US7ASCII。在使用exp(导出)工具导出数据文件时字符集将会记录在导出文件中。当文件导入时,会检查导出时使用的字符集设置,如果两个字符集为不同的设置,字符集将根据要导入的数据库的NULLANG设置进行转换,所以在执行导入前,我们把字符集设置得和原数据库相同,避免在导人时发生不必要的数据转换。
(3)修改初始化参数,以增大最大角色数,适当调整数据库的最大会话数,最大进程数等有关参数。
(4)根据原服务器上的数据文件计算相应事务所需的数据库文件大小,在测试服务器上创建与原服务器上对应的数据文件及表空间,一般新建的数据文件应不小于原来大小。若原数据库中存在一个表空间有多个数据文件时,正好可借数据库升级的机会,合并这些数据文件。在重新定义该表空间的语句中,仅指定一个数据文件即可,这时的数据文件大小应定义大于原来多个数据文件的大小之和。
3.2升级测试服务器‘
(1)导出主服务器数据库,将DMP和LOG文件数据拷备到测试服务器上。
(2)在测试服务器上导人数据。
(3)启动数据库服务,打开数据库,登录http:,,127.0.O.1:1158,em(该地址服务器地址)设置归档方式,配置自动归档的有关参数。
(4)做应用系统测试,如可成功登录标志升级成功。如不成功,继续使用原主服务器,应对日常工作。
按同样步骤升级主服务器,一般选择凌晨时分,医院工作量较小时,停机升级。
4.结束语
数据库升级工作完成后,要随时观察数据库、后台任务及HIS相关软件是否运行正常,有问题及时查找原因并予以解决。升级过后.基于老数据库平台开发的有些应用程序可能不能继续使用,应及时联系程序开发商更新程序。此升级方案使用到三台服务器,包括原主服务器,测试服务器(升级后可作备份服务器),新主服务器。该方案保证了数据的高度安全性.即使升级失败也不会对原主服务器有任何影响,不会造成数据丢失,只需继续使用原主服务器即可。升级过程短,测试服务器的制作及新服务上的操作系统和数据库的安装均可在前期准备工作中完成,整个升级过程主要只剩下数据的导出和导入时间,大大缩短了整个升级过程时间。当然在升级过程中难免遇到这样那样的问题,因此,在真正升级前,最好多做几次升级测试尽早发现问题,以保证真正升级能顺利完成。 来源:天极网开发频道 |