王曉虹,王志文
地緯醫(yī)保系統(tǒng)本地數(shù)據(jù)庫應急恢復方法簡介
王曉虹,王志文
醫(yī)保系統(tǒng);數(shù)據(jù)庫;恢復
部隊醫(yī)院多采用地緯醫(yī)保系統(tǒng)完成醫(yī)院和醫(yī)保機構(gòu)間的信息傳遞,實現(xiàn)技術(shù)是醫(yī)院利用Oracle本地數(shù)據(jù)庫與醫(yī)保遠程后臺數(shù)據(jù)庫連接交換信息。當醫(yī)院本地數(shù)據(jù)庫出現(xiàn)故障時,就無法與醫(yī)保系統(tǒng)交換信息而影響工作。地緯系統(tǒng)采用冷備份和邏輯備份兩種方法備份本地數(shù)據(jù)庫。冷備份特點是簡單方便,恢復后的數(shù)據(jù)與備份時間有關(guān),若備份時間間隔長,通常數(shù)據(jù)丟失量較大。筆者在工作中常利用邏輯備份及門診數(shù)據(jù)庫和住院數(shù)據(jù)庫互用的方法恢復數(shù)據(jù),現(xiàn)介紹如下。
日常工作中,進入地緯系統(tǒng)時系統(tǒng)都要進行數(shù)據(jù)備份工作。它是一種邏輯備份,是使用Oracle提供的操作系統(tǒng)工具Expor命令將數(shù)據(jù)庫中的數(shù)據(jù)備份成一個二進制的操作系統(tǒng)文件,該文件格式為Dmp(Export Dump File),稱為輸出轉(zhuǎn)儲文件[1]。地緯系統(tǒng)的轉(zhuǎn)儲文件通常是D:盤地緯系統(tǒng)中的(Sunday~saturday).dmp文件(用英文星期數(shù)命名)。卸出的Dmp文件可以使用另一操作系統(tǒng)命令I(lǐng)mport重新裝入到數(shù)據(jù)庫中,以恢復數(shù)據(jù),具體方法如下:
1.1 創(chuàng)建TS_SI表空間
1.1.1 打開連接本地數(shù)據(jù)庫的工具“sql plus”,輸入初始密碼和口令System/manager進入“sql plus”。
1.1.2 建表空間在sql plus下,執(zhí)行下面的sql語句創(chuàng)建Ts_si表空間;Createtablespacets_si;datafile'C:OrantDATABASE s_si_1.dat'size1024M;defaultstorage(initial 10knext128k;minextents2maxextents121pctincrease 10);online。
1.1.3 創(chuàng)建用戶通常在地緯系統(tǒng)微機的X:盤中有一個地緯系統(tǒng)備份文件夾或hosp_2.5.aa.b_yy.mm.dd.rar壓縮文件(X:是地緯系統(tǒng)備份文件所在盤符,aa.b是版本后綴號,yy.mm.dd代表年月日,將壓縮文件解壓縮即可)其中有一個“數(shù)據(jù)結(jié)構(gòu)”文件夾。在sql plus”里執(zhí)行@X:數(shù)據(jù)結(jié)構(gòu)create_user.sql語句創(chuàng)建戶si0001、hosp、social。
當?shù)鼐曌≡合到y(tǒng)數(shù)據(jù)庫冷備份和邏輯備份都出現(xiàn)故障或整個硬盤損壞時,為快速修復系統(tǒng)可采用以下方法(以住院系統(tǒng)故障為例):
2.1 重裝oracle系統(tǒng)
2.2 在數(shù)據(jù)庫關(guān)閉狀態(tài)下,用移動硬盤或大容量U盤拷貝門診地緯系統(tǒng)本地數(shù)據(jù)庫至地緯住院系統(tǒng)本地數(shù)據(jù)庫。
2.3 啟動本地住院數(shù)據(jù)庫
2.4 用PB修改數(shù)據(jù)庫參數(shù)用PB連接地緯本地數(shù)據(jù)庫并打開表Hosp.hospital_natl_info將字段yybm改為與地緯住院微機相對應的醫(yī)院編碼。(注:醫(yī)院編碼可從住院微機的“醫(yī)院連接設置”中查找,或查原始記錄或電話咨詢地緯技術(shù)人員)
2.5 進入地緯系統(tǒng),按日期同步住院數(shù)據(jù)這種方法優(yōu)點是簡單快捷,但往日數(shù)據(jù)需要前后臺系統(tǒng)協(xié)同,需要較長時間。同樣,采用上述辦法也可迅速恢復地緯門診系統(tǒng)數(shù)據(jù)庫。
[1]滕永昌.Oracle9i數(shù)據(jù)庫管理員使用大全.清華大學出版社,2004,3:607.
[2]劉長興.字符集不同的Oracle數(shù)據(jù)庫間交換數(shù)據(jù)的解決方法[J].中國醫(yī)療設備,2009,24(6):35.
[2010-07-02收稿,2010-08-10修回]
TP311.53
B
264002山東煙臺,107醫(yī)院信息科(王曉虹,王志文)
1.1.4 改變本地數(shù)據(jù)庫字符集①執(zhí)行g(shù)et_py_gbk.sql文件:啟動sqlplus用si0001/si1234登錄到本地數(shù)據(jù)庫中,在SQL>提示符下執(zhí)行:SQL>@X:數(shù)據(jù)結(jié)構(gòu)get_py_gbk.sql;②修改數(shù)據(jù)庫字符集:SQL>update sys.props$;set value$='ZHS16GBK';where name in('NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET');SQL>commit;③修改注冊表字符集:將[HKEY_LOCAL_MACHINESOFTWAREORACLE]和[HKEY_LOCAL_MACHINESOFTWAREORACLEORACLE_HOMESORACLE1]中的NLS_LANG=SIMPLIFIED CHIN ESE_CHINA.ZHS16CGB231280改為NLS_LANG=SIMPLI FIED CHINESE_CHINA.ZHS16GBK[2]。
1.2 擴展回滾段空間SQL>alter tablespace ROLLBACK_DATA;add datafile'C:ORANTDATABASERBS2ORCL.ORA'size 200M。
1.3 導入數(shù)據(jù)庫結(jié)構(gòu)和數(shù)據(jù)在D:盤地緯工作目錄下找到最新的(Sunday~satday).dmp文件(如:thursday.dmp),為輸入方便,將其拷到D:盤(或E:盤)根目錄下。從“開始-運行”執(zhí)行“cmd”命令用IMP工具,按下面提示(以Oracle7.3.3為例)導入數(shù)據(jù)庫結(jié)構(gòu)和數(shù)據(jù),包括用戶hosp和social。
C:Documents and settingsadministrator>imp73 si0001/si1234↙
Import file:expdat.dmp>D:Thursday.dmp↙
Enter insert buffer size(minimum is 4096)30720>5000000↙
List contents of import file only(yes/no):no>↙
Ignore create errow due to object existense(yes/no):no>↙
Import grants(yes/no):yes>↙
Import table data(yes/no):yes>↙
Import enteir export file(yes/no):no>yes↙
(注:上述命令中粗體字是需要手工錄入,其它為默認值回車確認即可。)
1.4 重建視圖在本地數(shù)據(jù)庫sqlplus中執(zhí)行下語句:SQL>@X:數(shù)據(jù)結(jié)構(gòu)create_view.sql重建視圖。經(jīng)上述工作后,系統(tǒng)就可正常工作了。此時數(shù)據(jù)庫中的數(shù)據(jù)為備份時間結(jié)點前的數(shù)據(jù)。這種方法特點是需重建數(shù)據(jù)結(jié)構(gòu)用時稍長,但數(shù)據(jù)丟失少。
[本文編輯:羨秋盛]