第一种方式:全备份,并直接覆盖原来的备份文件,固定命名。

脚本:

@echo off
exp system/a123@HZPG file=e:\db_backup\oradata.dmp log=e:\db_backup\oradata.log
echo 备份成功!

第二种方式:全备份,以日期命名。此方法来自:http://www.cnblogs.com/xwdreamer/archive/2011/07/15/2296980.html

脚本:

@echo off
set hour=%time:~,2%
if "%time:~,1%"==" " set hour=0%time:~1,1%
set temp=%date:~0,4%-%date:~5,2%-%date:~8,2%-%hour%-%time:~3,2%-%time:~6,2%
exp system/a123@HZPG file=e:\db_backup\oradata_%temp%.dmp log=e:\db_backup\oradata_%temp%.log
echo 备份成功!
pause

第三种方式:全备份,保留七天的备份数据。此方法来自:http://www.cnblogs.com/xwdreamer/archive/2011/07/15/2296980.html

脚本:

del e:\db_backup\oradata7.dmp
del e:\db_backup\oradata7.log
ren e:\db_backup\oradata6.dmp oradata7.dmp
ren e:\db_backup\oradata5.dmp oradata6.dmp
ren e:\db_backup\oradata4.dmp oradata5.dmp
ren e:\db_backup\oradata3.dmp oradata4.dmp
ren e:\db_backup\oradata2.dmp oradata3.dmp
ren e:\db_backup\oradata.dmp oradata2.dmp
ren e:\db_backup\oradata6.log oradata7.log
ren e:\db_backup\oradata5.log oradata6.log
ren e:\db_backup\oradata4.log oradata5.log
ren e:\db_backup\oradata3.log oradata4.log
ren e:\db_backup\oradata2.log oradata3.log
ren e:\db_backup\oradata.log oradata2.log
exp system/a123@HZPG file=e:\db_backup\oradata.dmp log=e:\db_backup\oradata.log

第四种方式:全备份,备份好后立即压缩,保留七天的备份数据,压缩包及数据库文件均以时间命名。

由于项目中是每天备份一次,所以要删除七天前的备份文件,只需判断当前的压缩包等于8时,按创建时间顺序排列压缩包,然后删除最后一个即可实现。详见如下代码:

@echo off

set RAR_CMD="C:\Program Files\WinRAR\WinRAR.exe"

set USERNAME=system

set PASSWORD=a123

set SIDDISCRIBE=HZPG

set CONDETION1=%USERNAME%/%PASSWORD%@%SIDDISCRIBE%

set DIRECTIONPATH=E:/db_backup

set FILENAME=oradata

set hour=%time:~,2%

if "%time:~,1%"==" " set hour=0%time:~1,1%

set TIMESTYLE=%date:~0,4%-%date:~5,2%-%date:~8,2%-%hour%-%time:~3,2%-%time:~6,2%

set FILEPATH=%DIRECTIONPATH%/%FILENAME%_%TIMESTYLE%.dmp

set LOGPATH=%DIRECTIONPATH%/%FILENAME%_%TIMESTYLE%.log

set RARPATH=%DIRECTIONPATH%/%FILENAME%_%TIMESTYLE%.rar

echo ============================================

echo 正在备份Oracle数据库,请稍等......

echo ============================================

exp userid=%CONDETION1% file=%FILEPATH% log=%LOGPATH%

echo 备份完成!

echo ============================================

echo 压缩备份文件,请稍等......

echo ============================================

%RAR_CMD% a -df "%RARPATH%" "%FILEPATH%" "%LOGPATH%"

echo 压缩完成!

echo ============================================

echo 正在计算压缩文件数量.....

set  f=rar

for /f %%i in ('dir /b /s /a-d *.%f% ^| find "." /c') do set s=%%i

echo %f% 文件数量有:%s%

if %s% equ 8 (

set p=e:/db_backup/
for /f %%i in ('dir %p% /a-d *.%f% ^/b /od /tc') do del %%i /a /f &goto x
:x
echo 删除成功!
)

windows下oracle数据库定时备份与压缩批处理脚本(win7/win2008亲测通过)的更多相关文章

  1. Windows下Oracle数据库自动备份批处理脚本

    expdb命令版本 @echo off REM ########################################################### REM # Windows Se ...

  2. windows下mysql数据库定时备份。

    注意:看本教程先必须会windows自带的"任务计划程序". 首先创建一个bat后缀的文件我的是timerExecutePhp.bat文件 timerExecutePhp.bat ...

  3. 32. linux下oracle数据库定时备份

    这里以oradatabak.sh(里面的内容要根据实际修改)脚本放在/u01/11g/datapump下为例: #1.添加脚本执行权限 chmod +x /u01/11g/datapump/orada ...

  4. windows下oracle数据库报错ORA-12705解决方法

    转自:http://blog.sina.com.cn/s/blog_16eaf6b940102x66q.html 有个朋友,他们那边windows虚拟机重启后,数据库不能起来报错ORA-12705无法 ...

  5. windows 下mysql每日定时备份的几种方法

    第一种:新建批处理文件 backup.dat,里面输入以下代码:  代码如下 复制代码 net stop mysql xcopy "C:/Program Files/MySQL/MySQL ...

  6. Linux oracle数据库自动备份自动压缩脚本代码

    Linux oracle数据库备份完成后可以自动压缩脚本代码. 复制代码代码如下: #!/bin/bash #backup.sh #edit: www.jbxue.com ##系统名称 sysname ...

  7. Linux & windows 应用服务器&Oracle数据库服务器备份

    Linux篇 tomcat启动加入开机启动项   vi /etc/rc.d/rc.local service iptables stop /usr/local/tomcat/bgyappserv01/ ...

  8. oracle学习笔记1:windows下oracle数据库安装及.net调用oracle数据库

    1.下载32位或64位oracle数据库并且安装,安装时可以选择安装数据库实例或者不安装,如果不安装的话之后可以用Database Configuration Assistant(DBCA) 通过向导 ...

  9. Windows Server 2012 数据库定时备份

    为了数据的安全,我们在服务器上设置了每周备份一次,下面是具体步骤: 一.在文件客户端服务器创建db_backup.cmd的Windows命令脚本.输入以下内容(直接复制可能出错,请手动输入): @ec ...

随机推荐

  1. Behavioral模式之Observer模式

    1.意图 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,全部依赖于它的对象都得到通知并被自己主动更新. 2.别名 依赖(dependents).公布-订阅(Publish-Subscr ...

  2. Gradle digest

    task类型 copy task copyFiles(type: Copy) { from 'resources' into 'target' include '**/*.xml', '**/*.tx ...

  3. Doug Lea

    如果IT的历史,是以人为主体串接起来的话,那么肯定少不了Doug Lea.这个鼻梁挂着眼镜,留着德王威廉二世的胡子,脸上永远挂着谦逊腼腆笑容,服务于纽约州立大学Oswego分校计算机科学系的老大爷. ...

  4. Android GPS获取当前经纬度坐标

    APP中可能会遇到一种需求,就是将当前所在位置的坐标传到server上,今天我提供三种途径去获取经纬度坐标信息,第一种是通过Android API来实现,另外一种通过百度地图API来实现,第三种通过天 ...

  5. Rust这个新的语言

    Rust这个新的语言 Rust初步(七):格式化 摘要: 在Rust中,如果要进行屏幕输出,或者写入到文件中,需要对数据进行格式化.这一篇总结一下它所支持的几种格式化方式. 这篇文章参考了以下官方文档 ...

  6. P90

    #include<stdio.h> #define N 4 int fun(int a[][N]) { int i,j,max=a[0][0]; for(i=0;i<2;i++) f ...

  7. java 7K交通灯管理系统面试题

    交通灯管理系统 模拟实现十字路口的交通灯管理系统逻辑.详细需求例如以下: 1. 异常随机生成依照各个路线行驶的车辆.    比如:    由南向而来去往北向的车辆----直行车辆    由西向而来去往 ...

  8. Redis源代码分析(十一年)--- memtest内存测试

    今天,我们继续redis源代码test下测试在封装中的其它文件.今天读数memtest档,翻译了,那是,memory test 存储器测试工具..可是里面的提及了非常多东西,也给我涨了非常多见识,网上 ...

  9. 2014辛星完全解读html第五节

    员,那么肯定会知道什么叫表单,这里我们就介绍一下前台怎样使用表单.表单的使用也是我们编写网页的必须经历的一关.并且,表单也往往是我们站点的漏洞和弱点出现的地方. *************表单**** ...

  10. poj 3744 Scout YYF I (可能性DP+矩阵高速功率)

    Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5062   Accepted: 1370 Description YYF i ...