oracle 自动备份

一个优秀的oracle 自动备份脚本(exp for windws)

作者:朱晓凯

时间:

2011-5-12

一、脚本内容

set mydate=%DATE:~0,10%

exp system/[email protected] full=y  file=d:\ora_bak\data\hzic_%date%.dmp

log=d:\ora_bak\log\hzic-log_%mydate%.log

forfiles /p "D:\ora_bak\data" /s /m *.* /d -7 /c "cmd /c del @path"

forfiles /p "D:\ora_bak\log" /s /m *.* /d -7 /c "cmd /c del @path"

注:使用时只需要把上述内容,复制到记事本中,保存为.bat 的文件即可,注意换行,上面其实是4行内容。自动备份的计划设置,可以用windows 的任务计划轻松搞定。

二、解释说明

1、set mydate=%DATE:~0,10%:设置日期变量,为了在备份导出文件时自动使用当前日期进行命名。0代表开始位置,10 代表从开始位置取10个字符

2、exp system/[email protected] full=y  file=d:\ora_bak\data\hzic_%date%.dmp log=d:\ora_bak\log\hzic-log_%mydate%.log:

使用sytem 账号进行全库导出,备导出的数据文件存放在d:\ora_bak\log目录下,导出的日志文件存放在d:\ora_bak\log目录下

3、forfiles /p "D:\ora_bak\log" /s /m *.* /d -7 /c "cmd /c del @path": 自动删除7天前的备份,详细说明见后面附件

--------------------------------------------

新建文本文档粘贴如下脚本内容:

@echo offsetlocalset sid=?   //根据实际情况修改SID值set username=?    //根据实际情况赋值set password=?     //根据实际情况赋值set bakdir=?    //根据实际情况填写备份路径set bakdate=%date:~0,10%set connect=%username%/%password%@%sid%exp %connect% full=y buffer=64000000 file=%bakdir%\%bakdate%.dmp log=%bakdir%\exp%bakdate%.logforfiles /p %bakdir% /d -10 -c "cmd  /c del /f /q @path"     //删除10天前的文件endlocal

另存为bat文件后(如:aa.bat),在系统的计划任务中添加任务,指定每天02:00运行此脚本即可

-------------------------------------------------
新建文本文档粘贴如下脚本内容:

@echo offsetlocalset sid=?   //根据实际情况修改SID值set username=?    //根据实际情况赋值set password=?     //根据实际情况赋值set bakdir=?    //根据实际情况填写备份路径set bakdate=%date:~0,10%set connect=%username%/%password%@%sid%exp %connect% full=y buffer=64000000 file=%bakdir%\%bakdate%.dmp log=%bakdir%\exp%bakdate%.logforfiles /p %bakdir% /d -10 -c "cmd  /c del /f /q @path"     //删除10天前的文件endlocal

另存为bat文件后(如:aa.bat),在系统的计划任务中添加任务,指定每天02:00运行此脚本即可
时间: 2024-11-19 16:38:32

oracle 自动备份的相关文章

Bat脚本学习-6:Oracle自动备份还原脚本

这次注释没写多少,先跳过一些吧 ::2.数据库过期备份删除 echo. echo. echo 二.正在清除过期的备份文件-- REM wscript.echo是vbs语法,相当于alert REM >是特殊字符,所以放在 for 命令里面需要使用转义符号^>,包括^&也是转义的& REM //Nologo屏弊输出:Prevent logo display: No banner will be shown at execution time for /f "tokens

Bat脚本学习-4:Oracle自动备份还原脚本

从同事那弄到一份Oracle自动备份还原的脚本,看上去很强大,苦在bat语法不熟,查了半天文档,先弄明白了一小段 @echo off REM 在批处理中,我们可以用setloacl ENABLEDELAYEDEXPANSION这个命令来启用"延迟环境变量扩展" REM 在我们启用了"延迟环境变量扩展"后,当CMD在解释涵有嵌套格式的命令时,他会把嵌套的命令一条一条的先执行一次,然后再进行匹配操作 REM 这样我们的赋值操作就会完成.并且再"延迟环境变量扩展

Oracle自动备份脚本的实现

问题描述: Oracle自动备份脚本的实现. 错误提示1: Message file RMAN.msb not found Verify that Oracle_HOME is set properly ...... 错误原因: 自动执行的不能够识别相应的命令,需要在自动备份脚本中显式的声明Oracle的环境变量. 错误提示2: standard in must be a tty ...... 错误原因: 不能在cron使用su或者管道等操作,必须将su命令移动到相关的shell脚本中. 错误提

Linux下Oracle自动备份脚本

#!/bin/bash export ORACLE_HOME=/usr/local/instantclient_11_2export PATH=$ORACLE_HOME:$PATHexport TNS_ADMIN=$ORACLE_HOME/network/adminexport LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH#export NLS_LANG='simplified chinese_china.ZHS16GBK'export NLS_LA

oracle 自动备份dmp文件

oracle数据库自动备份实现效果 使用oracle exp命令导出dmp格式文件: 使用7z命令行自动压缩dmp文件,减少存储空间: 使用Windows定时任务自动备份,并且定时删除N天之前的备份: 备份bat命令 @echo off rem **********************配置开始********************** rem 连接oracle ip 端口 数据库名 set sid=127.0.0.1:1521/ORCL rem 连接oracle的用户名 set usern

Oracle 自动备份脚本

需求:在每天的23点50自动备份doiido用户的数据库,备份信息保留30天 1:编写oracle环境脚本 $ vi oracle_hj.sh ORACLE_BASE=/doiido/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/102; export ORACLE_HOME ORACLE_SID=orcl; export ORACLE_SID LD_LIBRARY_PATH=$ORACLE_HOME/lib; export LD_LIB

Oracle自动备份

oracle中的数据进行备份. 说明: 使用前提: 需要配置好oracle客户端. 功能: 备份oracle数据库. 说明: 最新备份的数据库在backup目录下,上一次备份存放在Old_backup目录下,每次备份前,都会先删除Old_backup中的文件,然后将上一次的备份数据拷贝到Old_backup目录中,最后才进行备份. 关键脚本: exp.txt ***************************** userid=system/[email protected] owner=s

ORACLE自动备份-压缩格式,定期删除.bat

@echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本--YPWANG echo 1. 使用当前日期命名备份文件. echo 2. 采用WinRAR压缩DMP和LOG文件echo 3. 自动删除30天前的备份.(可修改)echo ================================================ ::以“YYYYMMDD”格式取出当

ORACLE自动备份脚本DMP文件名

在日常生活中,我们常常需要进行数据库的自动备份,按照实际的需求进行数据库的自动备份. 文件名:data_%date:~0,4%%date:~5,2%%date:~8,2%.dmp CMD获取当前系统日期的命令是---%date:~0,4%%date:~5,2%%date:~8,2% 格式为20150204.