摘要:介紹了采用導出/導入的方法,對醫(yī)院信息系統(tǒng)中數(shù)據(jù)庫由Oracle 8i升級至Oracle 10g的具體方案及過程,并對一些細節(jié)進行了描述。
關鍵詞:數(shù)據(jù)庫;醫(yī)院信息系統(tǒng);升級
中圖分類號:TP311文獻標識碼:A 文章編號:1009-3044(2008)12-20000-00
Solution for Database Upgrade of Hospital Information System Based on Oracle Database
XU Yan-lei,WANG Shou-tao,MA Li-ming
(The Central Hospital of Maanshan, Ma'anshan 243000,China)
Abstract: This paper introduces the method and the whole process of Hospital Information System Database upgrade from Oracle 8i to Oracle 10g.Describes some details of the process.
Key words:database; Hospital Information System; upgrade
1 引言
隨著計算機技術的迅速發(fā)展,相應的軟、硬件也不斷更新?lián)Q代,新一代的軟、硬件產(chǎn)品在性能、安全性、可管理
性、系統(tǒng)可用性方面具有絕對領先的優(yōu)勢。醫(yī)院信息系統(tǒng)中的數(shù)據(jù)庫管理系統(tǒng)也不例外,升級高版本的數(shù)據(jù)庫是醫(yī)院信息系統(tǒng)發(fā)展的必然趨勢。升級的過程中還能清除原數(shù)據(jù)庫中大量垃圾數(shù)據(jù),優(yōu)化數(shù)據(jù)庫結構,改善數(shù)據(jù)交換條件,升級帶來的好處顯而易見。本文就介紹基于Oracle數(shù)據(jù)庫的醫(yī)院信息系統(tǒng)數(shù)據(jù)庫從Oracle 8i升級到Oracle 10g的實施方案。
2 升級方法及實施環(huán)境
2.1 升級方法
Oracle升級分成兩種方法:
(1)DBUA(Database Upgrade Utility 數(shù)據(jù)庫升級實用程序)
Oracle提供了升級工具讓用戶可以將數(shù)據(jù)庫從低版本升級到更高的版本,8i可以直接升級到10g,但 8i必須是8.1.7.4(含)以上的版本,8.1.7.0是不被支持的。
(2)exp/imp(導出/導入)
數(shù)據(jù)庫的導出/導入是一種最傳統(tǒng)的常用的數(shù)據(jù)遷移及轉化工具,因其導出文件具有平臺無關性,所以在跨平臺遷移中,最為常用。它可以通過數(shù)據(jù)庫的升級,重新構造數(shù)據(jù)庫的存儲結構,如果數(shù)據(jù)不是非常大的情況下這種方法比較適合。根據(jù)醫(yī)院的實際情況,我們要求的升級方法停機時間短,對醫(yī)院正常工作影響小并且保證數(shù)據(jù)的高度安全性,不造成數(shù)據(jù)丟失。因此我們采用exp/imp對測試服務器先升級,再升級主服務器的方法。
2.2 實施環(huán)境
原服務器的軟件環(huán)境:Windows 2000 Server(SP4)+ Oracle 8.1.7,工作于歸檔模式下。
新服務器的軟件環(huán)境:Windows 2003 Server + Oracle 10g,工作于歸檔模式下,此服務器升級成功后將接替原服務器工作。
3 具體實施步驟
3.1 制作測試服務器
3.1.1 在測試服務器上安裝操作系統(tǒng)Windows 2003 Server + Oracle 10.2.0,選擇創(chuàng)建數(shù)據(jù)庫,數(shù)據(jù)庫安裝在D盤下,沿用原來的SID即ORCL,并配置與原主服務器相對應的監(jiān)聽,這樣做是為了保持與應用系統(tǒng)的客戶端配置的一致性。
3.1.2 在注冊表修改字符集
注冊表中HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_ORADB10G_HOME1下的NLS_LANG參數(shù)應與原數(shù)據(jù)庫中的字符集相同,將其改為AMERICAN_AMERICA.US7ASCII。在使用exp(導出)工具導出數(shù)據(jù)文件時字符集將會記錄在導出文件中,當文件導入時,會檢查導出時使用的字符集設置,如果兩個字符集為不同的設置,字符集將根據(jù)要導入的數(shù)據(jù)庫的NLS_LANG設置進行轉換,所以在執(zhí)行導入前,我們把字符集設置得和原數(shù)據(jù)庫相同,避免在導入時發(fā)生不必要的數(shù)據(jù)轉換。
3.1.3 修改初始化參數(shù),以增大最大角色數(shù),適當調整數(shù)據(jù)庫的最大會話數(shù),最大進程數(shù)等有關參數(shù)。
3.1.4 根據(jù)原服務器上的數(shù)據(jù)文件計算相應事務所需的數(shù)據(jù)庫文件大小,在測試服務器上創(chuàng)建與原服務器上對應的數(shù)據(jù)文件及表空間,一般新建的數(shù)據(jù)文件應不小于原來大小。若原數(shù)據(jù)庫中存在一個表空間有多個數(shù)據(jù)文件時,正好可借數(shù)據(jù)庫升級的機會,合并這些數(shù)據(jù)文件,在重新定義該表空間的語句中,僅指定一個數(shù)據(jù)文件即可,這時的數(shù)據(jù)文件大小應定義大于原來多個數(shù)據(jù)文件的大小之和。
3.2 升級測試服務器
3.2.1 導出主服務器數(shù)據(jù)庫,將DMP和LOG文件數(shù)據(jù)拷備到測試服務器上。
3.2.2 在測試服務器上導入數(shù)據(jù)。
3.2.3 啟動數(shù)據(jù)庫服務,打開數(shù)據(jù)庫,登錄http://127.0.0.1:1158/em(該地址服務器地址)設置歸檔方式,配置自動歸檔的有關參數(shù)。
3.2.4 做應用系統(tǒng)測試,如可成功登錄標志升級成功。如不成功,繼續(xù)使用原主服務器,應對日常工作。
按同樣步驟升級主服務器,一般選擇凌晨時分,醫(yī)院工作量較小時,停機升級。
4 結束語
數(shù)據(jù)庫升級工作完成后,要隨時觀察數(shù)據(jù)庫、后臺任務及HIS相關軟件是否運行正常,有問題及時查找原因并予以解決。升級過后,基于老數(shù)據(jù)庫平臺開發(fā)的有些應用程序可能不能繼續(xù)使用,應及時聯(lián)系程序開發(fā)商更新程序。
此升級方案使用到三臺服務器,包括原主服務器,測試服務器(升級后可作備份服務器),新主服務器。該方案保證了數(shù)據(jù)的高度安全性,即使升級失敗也不會對原主服務器有任何影響,不會造成數(shù)據(jù)丟失,只需繼續(xù)使用原主服務器即可。升級過程短,測試服務器的制作及新服務上的操作系統(tǒng)和數(shù)據(jù)庫的安裝均可在前期準備工作中完成,整個升級過程主要只剩下數(shù)據(jù)的導出和導入時間,大大縮短了整個升級過程時間。當然在升級過程中難免遇到這樣那樣的問題,因此,在真正升級前,最好多做幾次升級測試盡早發(fā)現(xiàn)問題,以保證真正升級能順利完成。
收稿日期:2008-02-27
作者簡介:徐艷蕾(1980-),女,安徽省馬鞍山人,助理工程師,學士,研究方向:數(shù)據(jù)庫與信息管理;馬李明,男,安徽省馬鞍山人,工程師,學士;王守桃,女,安徽含山人,高級工程師,學士。