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 userid=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

例:

set filename=e:\databack\%date:~8,2%日
exp ccense/ccense@sd file=%filename%.dmp
rar a %filename%.rar %filename%.dmp 
del %filename%.dmp


放计划任务里面定时执行, 
文件名以日期的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 
:BACKEXP ccense/ccense FILE=%BACKPATH_FULL%.DMP 
RAR a %BACKPATH_FULL%.rar %BACKPATH_FULL%.DMP
del %BACKPATH_FULL%.DMP
SET BACKPATH= 
SET BACKPATH_FULL=

注意:需要把program files/winrar目录下的rar.exe拷贝到系统system32目录下 

你可能感兴趣的:(Oracle,oracle,数据库)