oracle数据库的医院信息系统数据库升级方案,医院信息系统数据库从Oracle8i到10gR2升级的实现...
醫院信息系統數據庫從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升级的实现...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手环如何监测睡眠(智能手环推荐)
- 下一篇: 计算机控制系统的稳态误差,计算机控制系统