说明
环境
在 Oracle 服务器本机上操作,远程备份参考 Oracle-Windows脚本实现远程自动备份
步骤
1. 新建txt文档,内容如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| @echo off
echo ================================================
echo Windows环境下Oracle数据库的自动备份脚本
echo 1. 使用当前日期命名备份文件。
echo 2. 自动删除14天前的备份。
echo ================================================
::以“YYYYMMDD”格式取出当前时间。
set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%
::设置用户名、密码和要备份的数据库。
set USER=gms
set PASSWORD=gms
set SID=orcl
::创建备份目录。
if not exist "E:\oraclebackup\data" mkdir E:\oraclebackup\data
if not exist "E:\oraclebackup\log" mkdir E:\oraclebackup\log
set DATADIR=E:\oraclebackup\data
set LOGDIR=E:\oraclebackup\log
exp %USER%/%PASSWORD%@%SID% file=%DATADIR%\%BACKUPDATE%.dmp
::删除14天前的备份。
forfiles /p "%DATADIR%" /s /m *.* /d -14 /c "cmd /c del @path"
forfiles /p "%LOGDIR%" /s /m *.* /d -14 /c "cmd /c del @path"
exit
|
脚本说明:
1 2 3 4 5 6 7 8 9
| @:表示执行脚本时,@行之后的内容不显示;
echo off:表示此行和之后的内容不显示;
echo:表示执行脚本时,此行的内容执行脚本显示出来;
:::注释,类似于sql语句的--;
%date:~0,4%%date:~5,2%%date:~8,2% :WINDOWS的时间格式是2017/09/07,所以意思就是从左往右数第0个之后,取4位,即2017;从左往右数第5个之后,取2位,即09,从左往右数第8个之后,取2位,即07,最终备份文件名就是20170907.dmp
|
2. 上面 txt 文档另存为.bat格式,如图所示
3. window添加定时任务(以Win7为例)
这个执行的脚本文件,就是之前在第2步制作的bat
文件
4. 完成
这个自动备份脚本会在每天10:43的时候执行,将数据备份到E:\oraclebackup\data文件夹下 格式为:20151212.dmp