針對簡單的Oracle備份恢復於批處理文件時,在Oracle備份恢復於批處理文件的運行中我們會給你提出三個相關的建議,這些建議都是方便你在Oracle備份恢復於批處理文件時的操作,以下是正文。
簡單的Oracle備份恢復批處理文件建議一:
利用任務計劃、批處理文件和Oracle的EXP導出功能,可以根據日期自動生成Oracle備份文件,大大方便了Oracle數據備份。:
1、建立批處理文件backup.bat\.
- exp system/manager file=d:\backup\Oracle\Oracle%date:
~0,10%.dmp owner=system log=d:
\backup\Oracle\Oracle%date:~0,10%.log
將生成Oracle2006-01-09.dmp文件
- exp system/manager file=d:\backup\Oracle\
Oracle%date:~11,3%.dmp owner=system log=d:
\backup\Oracle\Oracle%date:~11,3%.log
將生成Oracle星期一.dmp文件,則每周循環保留一個備份文件,共7個備份文件循環
2、添加一個任務計劃
利用任務計劃向導,根據備份策略設置自動執行任務的時間頻率(例如每天零時),執行d:\Oracle\backup.bat
3、以後每天將在目錄中生成形如“Oracle2005-08-31.dmp和Oracle2005-08-31.log”的備份和日志文件。
說明:
1、%date%的值在不同的系統、語言版本下可能是不一樣的,控制面板裡面區域選項的設定也會改變%date%的值。請先在命令行中測試 echo %date% 的返回值。%date:~4,10% 是返回日期函數,~後的第一個參數是要截取的起始位置(從0開始),第二個參數是要截取的長度,如沒有則是截取到最後,參數可酌情修改。
2、如需要准確的時間做為文件名,請用%time%函數,參數同上。
簡單的Oracle備份恢復批處理文件建議二:
- @echo off
- set filename=e:\data_bak\%date:~8,2%日
- exp useruserid=user/pass@esdata file=%filename%.dmp
owner=user INDEXES=y grants=y constraints=
y compress=y log=%filename%.log- rar a %filename%.rar %filename%.*
- del %filename%.dmp
- del %filename%.log
放計劃任務裡面定時執行,
文件名以日期的day部分來命名
備份後調用rar進行壓縮
這樣可以保存一個月的歷史數據
注意:需要把program files/winrar目錄下的rar.exe拷貝到系統system32目錄下
如果是以星期命名,則需要將set filename=e:\data_bak\%date:~8,2%日修改為
set filename=e:\data_bak\%date:~0,3%
簡單的Oracle備份恢復批處理文件建議三:
以下為Oracle 自動備份批處理文件內容,請配合任務計劃實現
@ECHO OFF
SET BACKPATH=d:\
ECHO 准備備份數據庫
REM 7天一個循環
- IF EXIST %BACKPATH%\ONE GOTO ONE
- IF EXIST %BACKPATH%\TWO GOTO TWO
- IF EXIST %BACKPATH%\THREE GOTO THREE
- IF EXIST %BACKPATH%\FOUR GOTO FOUR
- IF EXIST %BACKPATH%\FIVE GOTO FIVEIF EXIST
%BACKPATH%\SIX GOTO SIX- IF EXIST %BACKPATH%\SEVEN GOTO SEVEN
- ECHO E > %BACKPATH%\ONE
- :ONE
- SET BACKPATH_FULL=%BACKPATH%\ONE
- REN %BACKPATH%\ONE TWO
- GOTO BACK
- :TWO
- SET BACKPATH_FULL=%BACKPATH%\TWO
- REN %BACKPATH%\TWO THREE
- GOTO BACK
- :THREE
- SET BACKPATH_FULL=%BACKPATH%\THREE
- REN %BACKPATH%\THREE FOUR
- GOTO BACK
- :FOUR
- SET BACKPATH_FULL=%BACKPATH%\FOUR
- REN %BACKPATH%\FOUR FIVE
- GOTO BACK
- :FIVE
- SET BACKPATH_FULL=%BACKPATH%\FIVE
- REN %BACKPATH%\FIVE SIX
- GOTO BACK
- :SIX
- SET BACKPATH_FULL=%BACKPATH%\SIX
- REN %BACKPATH%\SIX SEVEN
- GOTO BACK
- :SEVEN
- SET BACKPATH_FULL=%BACKPATH%\SEVEN
- REN %BACKPATH%\SEVEN ONE
- GOTO BACK
- :BACK
- EXP TESTUSER/TEST FILE=%BACKPATH_FULL%.DMP
- SET BACKPATH=
- SET BACKPATH_FULL=
- EXIT