我们在处理简单的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%函数,参数同上。
建议二:
- @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 自动备份批处理文件内容,请配合任务计划实现
@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 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
以上的相关内容就是对简单的Oracle备份恢复批处理文件的介绍,望你能有所收获。
【编辑推荐】