@echo off
REM ###########################################################
REM # Win7 下Oracle数据库自动备份批处理脚本
REM ###########################################################
REM 取当前系统时间,可能因操作系统不同而取值不一样
set CURDATE=%date:~0,4%%date:~5,2%%date:~8,2%
set CURTIME=%time:~0,2%
REM 小时数如果小于10,则在前面补0
if "%CURTIME%"==" 0" set CURTIME=00
if "%CURTIME%"==" 1" set CURTIME=01
if "%CURTIME%"==" 2" set CURTIME=02
if "%CURTIME%"==" 3" set CURTIME=03
if "%CURTIME%"==" 4" set CURTIME=04
if "%CURTIME%"==" 5" set CURTIME=05
if "%CURTIME%"==" 6" set CURTIME=06
if "%CURTIME%"==" 7" set CURTIME=07
if "%CURTIME%"==" 8" set CURTIME=08
if "%CURTIME%"==" 9" set CURTIME=09
set CURTIME=%CURTIME%%time:~3,2%%time:~6,2%
REM 设置所有者、用户名、密码、角色
set OWNER=test
set USER=test
set PASSWORD=test
REM 创建备份用目录,目录结构为backup/YYYYMMDD/
if not exist "backup" mkdir backup
if not exist "backup\%CURDATE%\" mkdir backup\%CURDATE%\
set CURDIR=backup\%CURDATE%
set FILENAME=%CURDIR%\%OWNER%_%CURDATE%_%CURTIME%.dmp
set EXPLOG=%CURDIR%\%OWNER%_%CURDATE%_%CURTIME%_log.log
REM 调用ORACLE的exp命令导出用户数据
exp %USER%/%PASSWORD%@test file=%FILENAME% log=%EXPLOG% owner=(%OWNER%)
REM ###########################################################
REM # Win7 下Oracle数据库自动备份批处理脚本
REM ###########################################################
REM 取当前系统时间,可能因操作系统不同而取值不一样
set CURDATE=%date:~0,4%%date:~5,2%%date:~8,2%
set CURTIME=%time:~0,2%
REM 小时数如果小于10,则在前面补0
if "%CURTIME%"==" 0" set CURTIME=00
if "%CURTIME%"==" 1" set CURTIME=01
if "%CURTIME%"==" 2" set CURTIME=02
if "%CURTIME%"==" 3" set CURTIME=03
if "%CURTIME%"==" 4" set CURTIME=04
if "%CURTIME%"==" 5" set CURTIME=05
if "%CURTIME%"==" 6" set CURTIME=06
if "%CURTIME%"==" 7" set CURTIME=07
if "%CURTIME%"==" 8" set CURTIME=08
if "%CURTIME%"==" 9" set CURTIME=09
set CURTIME=%CURTIME%%time:~3,2%%time:~6,2%
REM 设置所有者、用户名、密码、角色
set OWNER=test
set USER=test
set PASSWORD=test
REM 创建备份用目录,目录结构为backup/YYYYMMDD/
if not exist "backup" mkdir backup
if not exist "backup\%CURDATE%\" mkdir backup\%CURDATE%\
set CURDIR=backup\%CURDATE%
set FILENAME=%CURDIR%\%OWNER%_%CURDATE%_%CURTIME%.dmp
set EXPLOG=%CURDIR%\%OWNER%_%CURDATE%_%CURTIME%_log.log
REM 调用ORACLE的exp命令导出用户数据
exp %USER%/%PASSWORD%@test file=%FILENAME% log=%EXPLOG% owner=(%OWNER%)
pause
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
将以上代码复制到一个txt文件中,改名字为.bat的可执行文件,放在某个目录下,他会生成一个 backup文件夹,当天日期文件夹,备份时间的log文件和备份时间的数据库
然后在Win7的任务计划程序中添加新任务,指向这个bat文件就可以了。
经过运行测试,Win7 、 WIndows Server2008 、 Windows Server 2003 均没有问题。
假如你的数据库较小,那么你就可以采用这种方式备份,简单、方便、快捷,直接可用系统的定时程序进行备份,不需要自己在程序内定制时间等操作!