■ 福建 張冬
編者按:根據實際工作經驗,筆者總結出一套利用腳本實現數據庫備份的方法,以供參考。
筆者所在部門有一臺Oracle數據庫服務器,其中存儲了歷年寶貴數據,而且數據每日增長。但是條件所限,沒有為其購置專用的備份軟件。
作為數據庫管理員,手工編寫備份腳本,利用有限的軟硬件實現了數據庫的雙機備份。
數據庫服務器及備份主機系統環境均為:Windows server 2008 R2;Oracle11g
兩臺服務器中都有大的存儲空間。
數據庫服務器本機備份策略:每天中午12點發起完全備份。具體實現:
1.編寫腳本Dump_oracle.bat內容如下:
Exp system/melinetsfile='e:oracle_backup\%date:~0,10%.dmp'log='e:oracle_backup\%date:~0,10%.log'full=y

圖1 作業添加窗口
命令行下進行測試,成功。
2.在任務計劃程序中進行作業添加,如圖1所示。
備份機備份策略:每天晚上22點進行完全備份。具體實現:
1.編寫腳本Dump_oracle.bat內容如下:
exp system/Oracle@oracle full=y file='Z:dump_oracle\%date:~0,10%.dmp'log='Z:dump_oracle\%date:~0,10%.log'
命令行下進行測試,提示失敗:
EXP-00028:無法打開Z:dump_oracle2018-10-17.log進行寫入
EXP-00000:導出終止失敗
查找備份失敗的原因,發現Z盤為網絡共享硬盤,將備份腳本中的本地硬盤更改為網絡共享名:
expsystem/Oracle@oracle full=y file='\sharepartdump_oracle\%date:~0,10%.dmp'log='\sharepartdump_oracle \%date:~0,10%.log'
命令行下進行測試,成功!
2.配置計劃任務。