一:创建备份dmp文件及日志路径
dmp文件路径:C:\db_bak\files
日志路径:C:\db_bak\logs
二:创建自动备份批处理文件
2.1 创建记事本text文件
复制以下内容到记事本中
@echo off
echo ================================================
echo Windows环境下Oracle数据库的自动备份脚本
echo 1. 使用当前日期命名备份文件。
echo 2. 自动删除30天前的备份。
echo ================================================
::以“YYYYMMDD”格式取出当前时间。
set BACKUPDATE=%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%
::设置数据库用户名、密码和要备份的数据库。
set USER=BSQAM1
set PASSWORD=BSQAM1
set DATABASE=orcl
::创建备份目录。
if not exist "C:\db_bak\files\%BACKUPDATE% " mkdir C:\db_bak\files\%BACKUPDATE%
if not exist "C:\db_bak\logs\%BACKUPDATE% " mkdir C:\db_bak\logs\%BACKUPDATE%
set DATADIR=C:\db_bak\files\%BACKUPDATE%
set LOGDIR=C:\db_bak\logs\%BACKUPDATE%
exp %USER%/%PASSWORD%@%DATABASE% file=%DATADIR%\%USER%_%BACKUPDATE%%CURTIME%.dmp log=%LOGDIR%\log_%BACKUPDATE%%CURTIME%.log
::删除30天前的备份。可以修改删除日期
forfiles /p "%DATADIR%" /s /m *.* /d -30 /c "cmd /c del @path"
forfiles /p "%LOGDIR%" /s /m *.* /d -30 /c "cmd /c del @path"
exit
2.2 把text文件后缀改为bat格式形成批处理文件
三 创建定时任务
3.1 创建基本任务
3.2 进行相关设置
创建基本任务》》触发器》》操作》》完成
如图进行相关设置即可 最后点击完成
完成后查看任务:
到此为止数据库定时自动备份完成
注意:可以修改任务开始时间进行相关测试