windows下oracle自动备份批处理

2012年12月25日 发表评论 阅读评论

上一篇日志中,我将windows下的备份流程分成了五步走。本日志就结合上篇的理论来个实例。该实例是来自于我现网的中的一个备份示例(不要想着弄我密码啊,内容改过的,呵呵)。费话少说,直接上脚本:

@eche off
//下面一部分是设置变量部分
set exp_path=D:oracleproduct10.2.0db_1BIN
set data_path=E:ora_exptest
set o_sid=test
rem set NLS_LANG=AMERICAN_AMERICA.AL32UTF8
set user_name=abc
//格式化备份输出为年月日时格式
if "%time:~0,1%"==" " (set backup_file=%db_name%-%date:~0,4%%date:~5,2%%date:~8,2%-0%time:~1,1%) else (set backup_file=%db_name%-%date:~0,4%%date:~5,2%%date:~8,2%-%time:~0,2%)
%exp_path%exp %user_name%/"""abc@sg"""@%o_sid% file=%data_path%%backup_file%.dmp log=%data_path%%backup_file%.log
cd /d %data_path%
//压缩备份文件并删除原文件
"C:Program FilesWinRARrar.exe" a %backup_file%.rar %backup_file%.dmp >>%data_path%%backup_file%.log
del /Q %backup_file%.dmp
//备份周期循环
forfiles /m /d -15  "cmd /c del @file" >del.log
//email通知提示
sendEmail.exe -f test@abc.com -t postmaster@361way.com  -s mail.abc.com -u oracle_bak -xu nagios -xp test@nagios  -m "192.168.1.12  oracle-test-db-bak" -a %data_path%%backup_file%.log del.log

将上面的脚本写好后,可以通过schtasks命令添加到计划任务中。

@echo off
rem 请制定bat文件的绝对路径
set bat_path=E:ora_exp
rem 新建存放dmp的目录
mkdir E:ora_exptest
mkdir E:ora_exp361way
//从00:50分开始,每小时做一次备份
rem schtasks test_exp
SCHTASKS /Delete /TN "test_exp"  /F
schtasks /create /sc hourly /st 00:50 /mo 1 /tn "test_exp" /tr %bat_path%test_exp.bat
//每周做一次备份
rem schtasks 361way_exp
SCHTASKS /Delete /TN "361way_exp"  /F
schtasks /create /sc daily /mo 7 /st 05:00 /tn "361way_exp" /tr %bat_path%361way_exp.bat

schtasks命令的详细用法可以参看百度百科。当然如面感觉命令不直观,也可以通过控制面板——计划任务——新增计划任务来添加任务。

最后再提供一个批处理加密的工具。点我下载




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

分类: windows, 数据库 标签:
  1. 本文目前尚无任何评论.