Oracle備份恢復(fù)批處理文件的3建議
我們在處理簡單的Oracle備份恢復(fù)批處理文件時。是否遇到過一些令我們十分頭疼的一些問題,以下的相關(guān)內(nèi)容就是對處理簡單的Oracle備份恢復(fù)批處理文件的過程中我們應(yīng)注意的問題以及相關(guān)的建議。
建議一:
利用任務(wù)計(jì)劃、批處理文件和Oracle的EXP導(dǎo)出功能,可以根據(jù)日期自動生成Oracle備份文件,大大方便了Oracle數(shù)據(jù)備份。:
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文件,則每周循環(huán)保留一個備份文件,共7個備份文件循環(huán)
2、添加一個任務(wù)計(jì)劃
利用任務(wù)計(jì)劃向?qū)?,根?jù)備份策略設(shè)置自動執(zhí)行任務(wù)的時間頻率(例如每天零時),執(zhí)行d:\Oracle\backup.bat
3、以后每天將在目錄中生成形如“Oracle2005-08-31.dmp和Oracle2005-08-31.log”的備份和日志文件。
說明:
1、%date%的值在不同的系統(tǒng)、語言版本下可能是不一樣的,控制面板里面區(qū)域選項(xiàng)的設(shè)定也會改變%date%的值。請先在命令行中測試 echo %date% 的返回值。%date:~4,10% 是返回日期函數(shù),~后的***個參數(shù)是要截取的起始位置(從0開始),第二個參數(shù)是要截取的長度,如沒有則是截取到***,參數(shù)可酌情修改。
2、如需要準(zhǔn)確的時間做為文件名,請用%time%函數(shù),參數(shù)同上。
建議二:
- @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
放計(jì)劃任務(wù)里面定時執(zhí)行,
文件名以日期的day部分來命名
備份后調(diào)用rar進(jìn)行壓縮
這樣可以保存一個月的歷史數(shù)據(jù)
注意:需要把program files/winrar目錄下的rar.exe拷貝到系統(tǒng)system32目錄下
如果是以星期命名,則需要將set filename=e:\data_bak\%date:~8,2%日修改為
set filename=e:\data_bak\%date:~0,3%
建議三:
以下為Oracle 自動備份批處理文件內(nèi)容,請配合任務(wù)計(jì)劃實(shí)現(xiàn)
@ECHO OFF
SET BACKPATH=d:\
ECHO 準(zhǔn)備備份數(shù)據(jù)庫
REM 7天一個循環(huán)
- 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 FIVE
- IF 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
以上的相關(guān)內(nèi)容就是對簡單的Oracle備份恢復(fù)批處理文件的介紹,望你能有所收獲。
【編輯推薦】