`
zjmfeeling
  • 浏览: 23838 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

oracle自动备份并删除以前备份文件批处理

 
阅读更多

从网上找了些资料,整理了下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的自动备份

    oracle备份批处理文件

    "Oracle备份批处理文件"就是实现这一目标的有效工具,它通过批处理脚本简化了复杂的数据库备份过程,使得用户能够一键完成整个备份流程。 在Oracle数据库中,备份通常分为物理备份和逻辑备份两种方式。物理备份涉及...

    Oracle数据库定时自动备份批处理代码(Windows)

    Oracle数据库定时自动备份对于保障数据安全至关重要,尤其是在Windows环境下,通过批处理脚本可以实现这一功能。以下是一个详细的Oracle数据库定时自动备份的步骤和相关知识点: 1. **批处理脚本**: - `...

    用DOS批处理文件实现oracle自动备份,具有动态创建备份目录功能

    本主题将深入探讨如何使用DOS批处理文件来实现Oracle数据库的自动备份,并且具备动态创建备份目录的功能。 首先,理解DOS批处理文件的概念。DOS批处理文件(通常扩展名为.bat或.cmd)是一种文本文件,包含了多条DOS...

    Oracle通过批处理实现自动备份

    ### Oracle通过批处理实现自动备份 #### 背景与目的 在数据库管理过程中,定期对数据进行备份是一项至关重要的工作。它不仅能够确保数据的安全性,还能在系统发生故障时快速恢复数据,减少损失。Oracle数据库作为...

    ORACLE自动备份数据库脚本,并清除三天前数据

    ORACLE自动备份数据库脚本,并删除指定天数以前,所备份的数据文件。

    oracle数据库备份批处理 适合小白

    备份批处理

    备份oracle数据库批处理命令

    备份oracle数据库批处理命令, 自动备份数据库exp导出命令

    oracle数据库备份 批处理 写法

    2. **Oracle备份工具**:Oracle提供多种备份工具,如RMAN(Recovery Manager)和SQL*Plus。RMAN是推荐的备份工具,因为它提供了全面的备份选项和恢复功能。在批处理脚本中,通常使用RMAN命令行界面进行操作。 3. **...

    oracle备份恢复的批处理文件

    标题中的"oracle备份恢复的批处理文件"指的是一系列预编写好的命令脚本,这些脚本通常使用批处理语言(如Windows的CMD批处理)编写,用于自动执行Oracle数据库的备份和恢复操作。这样的批处理文件能够极大地提高工作...

    任务计划+批处理实现Oracle数据库的定时备份

    以下是一个简单的Oracle数据库备份批处理文件(DYHX_SYS_bak.bat)示例: ```batch @echo off set ORACLE_HOME=C:\Oracle\product\11.2.0\dbhome_1 set PATH=%ORACLE_HOME%\bin;%PATH% set ORACLE_SID=your_sid ...

    windows下, oracle数据库备份批处理文件

    6. **执行批处理文件**:保存并关闭批处理文件后,双击运行它,Oracle数据库就会按照指定的参数执行备份,DMP文件会保存在指定目录。 7. **扩展选项**:对于更复杂的场景,比如只备份特定表或用户,可以使用`tables...

    简单的oracle备份恢复批处理文件

    本文主要介绍了一种简单的方法,即通过批处理文件实现Oracle数据库的备份和恢复。批处理文件的优势在于自动化执行,可以减少手动操作的错误和时间。 首先,我们来看备份部分。在提供的批处理文件中,使用了Oracle的...

    ORACLE数据库自动备份3种方法

    本文将详细介绍Oracle数据库自动备份的三种常见方法:Windows下的任务计划(At命令)、UNIX下的Crontab以及第三方工具(如Viritas),并提供具体的实施步骤。 #### 二、Windows下的任务计划(At命令) ##### 1. ...

    Oracle数据库自动备份脚本FOR WIN.rar

    3. **自动清理旧备份**:为了保持备份存储的整洁并控制存储成本,脚本会自动删除7天前的备份文件。这遵循了一种常见的备份策略,即保留最近的一系列备份,以提供一定程度的数据恢复灵活性。 了解了这些核心功能,...

    windows下oracle数据库备份压缩&删除历史备份.rar

    然后,为了自动删除两天前的备份,可以编写一个批处理脚本,利用Windows的`forfiles`命令来查找并删除指定时间之前的文件: ```batch forfiles /p "path\to\backups" /d -2 /c "cmd /c del @file" ``` 这个脚本会在...

    oracle数据库备份批处理

    1、par文件中注意修改用户名、密码和服务名为正确。 2、修改对应的文件路径 3、定时计划任务,按照实际情况及存放介质的容量大小来确定执行频率。 4、参考其中的对应关系,修改其他的par文件和新建对应的bat文件

    oracle自动备份、Oracle远程备份

    在提供的压缩包文件中,`setup.bat`可能是用于配置和执行备份的批处理脚本,`EXP.EXE`是Oracle的导出实用程序,用于创建数据库的逻辑备份(即导出),而`Oracle Backup Easy.exe`可能是一个简化版的备份工具,旨在...

    oracle 定期备份 + 压缩 批处理.bat文件

    Oracle数据库的定期备份是...总之,"oracle 定期备份 + 压缩 批处理.bat文件"是为了简化Oracle数据库的维护工作,通过自动化流程来定期备份数据并压缩存储,同时清理旧备份,从而提供了一套高效且安全的数据保护机制。

Global site tag (gtag.js) - Google Analytics