Oracle定时备份

Posted 红磨坊后的白桦树

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle定时备份相关的知识,希望对你有一定的参考价值。

两种方法

这两种方法都需要将oracle安装目录下的EXP.EXE复制到备份数据的目录下

比如我现在要将数据备份在E盘的数据备份这个文件夹,需要将oracle安装目录下的EXP.EXE复制到数据备份这个文件夹里面,在新建一个oracleBackup.bat文件

第一种方法 需要安装winrar,效果好,速度快,下次备份会自动更新覆盖上次备份的数据  下面的直接复制拿去用,只需更改红色的地方

@echo off 
    @echo ================================================ 
    @echo  windows环境下Oracle数据库的自动备份脚本 
    @echo  说明:启动备份时,需要配置以下变量 
    @echo    1、BACKUP_DIR           指定要备份到哪个目录 
    @echo    2、ORACLE_USERNAME      指定备份所用的Oracle用户名 
    @echo    3、ORACLE_PASSWORD      指定备份所用的Oracle密码 
    @echo    4、ORACLE_DB            指定备份所用的Oracle连接名 
    @echo    5、BACK_OPTION          备份选项,可以为空,可以为full=y,可以为owner=a用户,b用户  等等.... 
    @echo    6、RAR_CMD              指定RAR命令行压缩工具所在目录 
    @echo ================================================ 
    
    rem 以下变量需要根据实际情况配置------> 注意:此脚本必须放在BACKUP_DIR目录下 
    set BACKUP_DIR=E:数据备份
    set ORACLE_USERNAME=数据库名称
    set ORACLE_PASSWORD=密码
    set ORACLE_DB=数据库实例名
    set BACK_OPTION=
    set RAR_CMD="C:Program FilesWinRARWinRAR.exe" 
     
    set TODAY=%date:~0,4%%date:~5,2%%date:~8,2%
    set BACK_NAME=%ORACLE_DB%_%TODAY%
    set BACK_FULL_NAME=%BACKUP_DIR%\%BACK_NAME%
     
    rem 开始备份 
    exp %ORACLE_USERNAME%/%ORACLE_PASSWORD%@%ORACLE_DB%  %BACK_OPTION% file="%BACK_FULL_NAME%.dmp log="%BACK_FULL_NAME%.log" 
    
    rem 压缩并删除原有文件 
    %RAR_CMD% a -df "%BACK_FULL_NAME%back.rar" "%BACK_FULL_NAME%.dmp"

  第二种方法 不需要安装winrar

@echo off?
echo 删除10天前的备分文件和日志

forfiles /p "E:数据备份" /m *.dmp /d -10 /c "cmd /c del @path"?
forfiles /p "E:数据备份" /m *.log /d -10 /c "cmd /c del @path"

echo 正在备份 Oracle 数据库,请稍等……?
exp 数据库名称/密码@数据库实例名 file=E:/数据备份%date:~0,4%%date:~5,2%%date:~8,2%.dmp 
log=E:/数据备份%date:~0,4%%date:~5,2%%date:~8,2%.log full=y buffer=65535?
echo 任务完成!

  

以上是关于Oracle定时备份的主要内容,如果未能解决你的问题,请参考以下文章

Linux下Oracle定时自动备份方案

linux下怎么定时备份oracle数据库

定时备份oracle(Windows)

oracle定时备份,用expdp的跨服务器备份

Oracle rman定时备份策略

Oracle rman定时备份策略