Windows环境下Oracle数据库的自动备份脚本

@echo off 
echo ================================================ 
echo Windows环境下Oracle数据库的自动备份脚本--YPWANG 
echo 1. 使用当前日期命名备份文件。 
echo 2. 采用WinRAR压缩DMP和LOG文件
echo 3. 自动删除30天前的备份。(可修改)
echo ================================================ 
::以“YYYYMMDD”格式取出当前时间。 
set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%
::设置用户名、密码和要备份的数据库实例。 
set USER=BDC_GXJH_FY
set PASSWORD=BDC_GXJH_FY
set DATABASE=ORCL
::创建备份目录。 
::下面修改为自己的设置,设置为自己想要备份的位置
if not exist "G:123" mkdir G:123
set BACKUP=G:123
::软件winrar 安装位置可执行文件,注意路径不要有空格,必要时候可以把安装位置rar.exe单独拷贝出来
set RAREXE=G:WinRAR
ar.exe

::执行导出
exp %USER%/%PASSWORD%@%DATABASE% file=%BACKUP%data_%BACKUPDATE%.dmp log=%BACKUP%log_%BACKUPDATE%.log
::执行压缩
%RAREXE% a %BACKUP%data_%BACKUPDATE%.rar %BACKUP%data_%BACKUPDATE%.dmp %BACKUP%log_%BACKUPDATE%.log
::压缩完成后执行删除导出文件
del /q %BACKUP%data_%BACKUPDATE%.dmp
del /q %BACKUP%log_%BACKUPDATE%.log

::删除30天前的备份。 具体删除天数把 下面30 改为自己的天数
::forfiles /p %BACKUP% /s /m *.* /d -30 /c "cmd /c del @path" 
exit