从网上找了些资料,整理了下oracle的自动备份批处理,将以下的代码保存为.bat即可,再配合windows的计划任务可实现自动备份数据库并压缩功能,并指定删除7天前的备份文件(修改delDays参数)。在windows 2003/2008环境下,利用其forfiles工具进行辅助删除功能。 希望对大家有用!
@ echo ------ORACLE自动备份开始... Zhang Junming制作 @2012----------- REM ====================================================== REM 备份服务器 SZYY系统的数据 REM ====================================================== @ echo off set BACKUP_DIR=e:\DATABACKUP set BACKUP_WAREHOUSE=e:\DATABACKUP\DATABACKUP_LOG_DMP set ORACLE_USERNAME=zjm set ORACLE_PASSWORD=zjm123 set ORACLE_DB=orcl set IP=192.168.5.100 set RAR_CMD="C:\Program Files\WinRAR\WinRAR.exe" set delDays=7 if not exist "DATABACKUP" md DATABACKUP if not exist "DATABACKUP\DATABACKUP_LOG_DMP\" md DATABACKUP\DATABACKUP_LOG_DMP\ for /f "tokens=1,2" %%a in ('date/t') do set TODAY=%%a REM 如果文件名中需要小时及分钟,用下面第一行语句 REM set BACK_NAME=%ORACLE_DB%_%ORACLE_USERNAME%_%TODAY%(%time:~0,2%时%time:~3,2%分%time:~6,2%秒) REM set BACK_NAME=%ORACLE_DB%_%ORACLE_USERNAME%_%TODAY% REM set BACK_NAME=%ORACLE_DB%_%TODAY%_%time:~0,2%时%time:~3,2%分%time:~6,2%秒 set BACK_NAME=%ORACLE_DB%_%TODAY% set BACK_FULL_NAME=%BACKUP_DIR%\%BACK_NAME% REM 将操作记入批处理日志 %BACK_FULL_NAME%_bat.log echo ==================备份服务器 SZYY的数据================= >>%BACK_FULL_NAME%_bat.log echo 备份开始...... >>%BACK_FULL_NAME%_bat.log echo 开始的时间是: %DATE% %time% >>%BACK_FULL_NAME%_bat.log REM 调用exp工具 rem %ORACLE_USERNAME%/%ORACLE_PASSWORD%@%IP%/%ORACLE_DB% grants=Y exp %ORACLE_USERNAME%/%ORACLE_PASSWORD%@%IP%/%ORACLE_DB% grants=Y file="%BACK_FULL_NAME%.dmp" rem log="%BACK_FULL_NAME%_exp.log" if not exist %BACKUP_WAREHOUSE%\DMP md %BACKUP_WAREHOUSE%\DMP echo 压缩并删除原有dmp文件...... >>%BACK_FULL_NAME%_bat.log echo 当前的时间是: %DATE% %time% >>%BACK_FULL_NAME%_bat.log %RAR_CMD% a -df "%BACK_FULL_NAME%_dmp.rar" "%BACK_FULL_NAME%.dmp" echo rar压缩==> %BACK_FULL_NAME%_dmp.rar>>%BACK_FULL_NAME%_bat.log REM "%BACK_FULL_NAME%exp.log" echo 压缩并删除原有dmp文件结束! >>%BACK_FULL_NAME%_bat.log echo 当前的时间是: %DATE% %time% >>%BACK_FULL_NAME%_bat.log echo 开始移动压缩后的备份文件...... >>%BACK_FULL_NAME%_bat.log echo 当前的时间是: %DATE% %time% >>%BACK_FULL_NAME%_bat.log move %BACKUP_DIR%\*.rar %BACKUP_WAREHOUSE%\DMP\ echo 当前的时间是: %DATE% %time% >>%BACK_FULL_NAME%_bat.log REM net send %userdomain% "数据库逻辑备份已于:%DATE% %time% 完成!" echo . echo 备份完成!!! >>%BACK_FULL_NAME%_bat.log echo 完成的时间是: %DATE% %time% >>%BACK_FULL_NAME%_bat.log echo ===============备份服务器 SZYY的数据完成!!!============== >>%BACK_FULL_NAME%_bat.log if not exist %BACKUP_WAREHOUSE%\%BACK_NAME%_LOG md %BACKUP_WAREHOUSE%\LOG move %BACKUP_DIR%\*.log %BACKUP_WAREHOUSE%\LOG\ rem 删除七天前的rar备份文件 forfiles /p %BACKUP_WAREHOUSE%\DMP /s /m *.rar /d -%delDays% /c "cmd /c del @file" echo .
相关推荐
修改用户名和密码,用户ORACLE的自动备份
Oracle数据库定时自动备份批处理代码(Windows)
用DOS批处理文件实现oracle自动备份,具有动态创建备份目录功能
利用批处理可以一键备份oracle数据库
备份批处理
备份oracle数据库批处理命令, 自动备份数据库exp导出命令
windows下备份oracle数据库, 备份为dmp文件. 支持oracle11g导出空表.
1、par文件中注意修改用户名、密码和服务名为正确。 2、修改对应的文件路径 3、定时计划任务,按照实际情况及存放介质的容量大小来确定执行频率。 4、参考其中的对应关系,修改其他的par文件和新建对应的bat文件
oracle备份恢复的批处理文件,直接按例子,就可以备份恢复数据库
oracle数据导入和备份的批处理 oracle数据导入和备份的批处理 oracle数据导入和备份的批处理 oracle数据导入和备份的批处理
oracle 定期备份 + 压缩 批处理.bat文件 +删除备份前的文件
Oracle数据库备份批处理以及实现计算机自动按用户制定的时间来备份
多种数据库备份批处理方法!!值得学习下载。几种对比方法很实用。
Oracle 自动备份详细步骤 背景:Oracle 10g 服务器,Oracle 10g 客户端,windowsXP 操作平台 ...解决方案:利用任务计划、批处理文件和 Oracle 的 exp 导出功能,根据日期自动生成 Oracle 备份文件。详细步骤:
NULL 博文链接:https://ch-dj.iteye.com/blog/1765511
oralce 自动备份 批处理 bat
oracle 定时 定期 备份 批处理 程序
虽然很简单的一个批处理,不过以后不用每次都手动去导出备份了
NULL 博文链接:https://wang-z-p2007.iteye.com/blog/908042