摘要:經過多年數據庫管理實踐,對我院《軍隊療養院信息系統》備份和恢復方案進行簡單的介紹,與大家分享經驗和技術方法。
關鍵詞:療養系統;備份;恢復;oracle;導入;導出
1 引言
《軍隊療養院信息系統》是由總后勤部衛生部推廣應用,針對療養工作流程研制開發的一套信息管理系統。我院自2005年起開始正式使用,至今已經平穩運行了近10年,療養數據庫中積累了大量有價值的療養數據,是我們療養院數字化建設的主干系統。計算機系統中的硬件故障、軟件故障、操作失誤以及惡意破壞往往是不能避免的,這些故障會造成運行事務非正常中斷,影響數據庫中數據的正確性,甚至會破壞數據庫,使數據庫中全部或部分數據丟失[1]。因此,選擇一個可靠性高、管理便捷、易于使用的備份和恢復方案是非常必要的。
2 數據庫備份
Oracle數據庫有3種標準方式:Export(導出)、脫機備份(Offlinebackup)和聯機備份(Onlinebackup)(也叫熱備份或“Archivelog”備份)[2]。日常備份我們主要使用的是導出方式,即邏輯備份方式。
在備份數據存儲方案上,我們使用了本地異地相結合的方式。分割一日內的時間段,利用任務計劃工具定時執行批處理備份文件完成邏輯備份。方案設計中盡量避開了數據交換密集的時段,一日之中運行四個計劃任務,本地兩個在6:00和12:00執行,異地兩個在7:00和13:00執行。每個備份磁盤中都在線保存最近七日的數據庫備份文件,本地磁盤備份執行語句如下:
E:
cd E:\orabak
cd 數據庫備份中午.7
del *.*/Q
cd ..
rd 數據庫備份中午.7
ren 數據庫備份中午.6 數據庫備份中午.7
ren 數據庫備份中午.5 數據庫備份中午.6
ren 數據庫備份中午.4 數據庫備份中午.5
ren 數據庫備份中午.3 數據庫備份中午.4
ren 數據庫備份中午.2 數據庫備份中午.3
ren 數據庫備份中午.1 數據庫備份中午.2
ren 數據庫備份中午 數據庫備份中午.1
md 數據庫備份中午
exp system/manager grants=y full=y rows=y file=數據庫備份中午\restsys.dmp log=數據庫備份中午\restsys.log
exp resthome/resthome grants=y rows=y file=數據庫備份中午\resthome.dmp log=數據庫備份中午\resthome.log
將異地存儲數據庫備份文件的目標文件夾設置為完全共享,然后在療養主服務器上通過磁盤映射為該文件夾指定一個盤符,變動盤符信息生成新的批處理文件,執行異地磁盤備份時直接執行該批處理文件即可。我們使用的雙機異地備份策略,有效保證了數據庫得到更快、更安全的恢復。
3 數據庫恢復
我們將療養備份服務器配置成與主服務器完全一致,并且定期與主服務器進行數據同步,如果主服務器發生了故障,我們可以通過修改IP地址的方式快速的啟用備份服務器。不過,在切換主備服之前需要將最新的備份數據導入到數據庫中。詳細操作步驟如下:
3.1 使用SQLPLUS工具并以system用戶登錄,對resthome用戶進行重建并授權,執行語句如下:
drop user resthome cascade;
create user RESTHOME
identified by RESTHOME
default tablespace USERS
temporary tablespace TEMP;
grant dba to resthome;
exit;
3.2 將最新的數據庫備份文件拷貝到恢復目錄下,然后執行全庫導入操作,導入實質就是讀取轉儲文件并執行其中的命令。我們使用Oracle的實用工具export和import來實施,export是把數據庫中的數據導出,import是把export導出的數據導入數據庫中[3]。全庫導入的執行語句如下:
imp resthome/ resthome commit=y grants=Y full=y rows=y ignore=y file=d:\install\resthome.dmp log=d:\install\resthome.log
3.3 使用DBA Studio工具,以resthome用戶登錄,將函數、索引、程序包、程序包體、過程、視圖等狀態為“invaild”的項目重新編譯為“vaild”狀態。
3.4 重啟服務器,修改IP地址。
4 結束語
通過多年的數據庫管理實踐,我們目前使用的數據庫備份和恢復方案已經比較成熟,在服務器發生故障時能夠有效地恢復所有數據,完成系統的快速切換。在這里結合我院的實際情況對《軍隊療養院信息系統》備份和恢復策略做了個簡單的描述,以茲交流、分享和使用。
數據安全是數據庫管理工作的重中之重。作為數據庫管理者要時刻牢記防患于未然,最大限度地降低損失。
參考文獻:
[1] 王暉媛.SQL Server中數據庫備份和恢復方法的研究[J].計算機光盤軟件與應用, 2011(2):112-112.
[2] 李佩鐸.Oracle數據庫備份和恢復優化[J].醫療設備信息,2007,22(3):47-47.
[3] 曾霞.HIS系統備份與恢復方案[J].醫學信息:上旬刊,2008,21(10):1749-1751.
編輯/馮焱