【Oracle】Windows定时计划每天备份数据库

脚本

OracleBakEveryDay.bat

@echo off
echo ================================================
echo  Windows环境下Oracle数据库的自动备份脚本
echo  1. 使用当前日期命名备份文件。
echo  2. 自动删除7天前的备份。
echo ================================================
::以“YYYYMMDD”格式取出当前时间。
::%date:~0,4% 表示从第0位开始截取到第4位  并且注意所有变量值后边不允许出现空格
set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%
::设置用户名、密码和要备份的数据库。
set USER=IFTS
set PASSWORD=IFTS
set DATABASE=ORCL
::创建备份目录。
if not exist "D:ackupdata"       mkdir D:ackupdata
if not exist "D:ackuplog"        mkdir D:ackuplog
set DATADIR=D:ackupdata
set LOGDIR=D:ackuplog
exp %USER%/%PASSWORD%@%DATABASE%  file=%DATADIR%data_%BACKUPDATE%.dmp log=%LOGDIR%log_%BACKUPDATE%.log
echo %LOGDIR%log_%BACKUPDATE%.log
::删除7天前的备份。
forfiles /p "%DATADIR%" /s /m *.* /d -7 /c "cmd /c del @path"
forfiles /p "%LOGDIR%" /s /m *.* /d -7 /c "cmd /c del @path"
exit

注意:变量赋值的时候不可以有空格,否则会报错!


定时计划

打开控制面板 >> 系统与安全 >> 管理工具 >> 计划任务  【创建基本任务】





接着点击下一步




继续【下一步】




继续【下一步】,此处选择【启动程序】




继续【下一步】,在此处指定脚本所在的路径




继续【下一步】



  最后点击【完成】即可。

原文地址:https://www.cnblogs.com/OliverQin/p/9340327.html