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

脚本:

@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. [Oracle] 分析功能(1)- 语法

    语法概览 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGJhbm90ZQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQ ...

  2. python使用smtplib库和smtp.qq.com邮件服务器发送邮件(转)

    使用qq的邮件服务器需要注意的两个地方主要是: 1.协议问题 使用465端口 SSL 协议 2.口令问题 出现SMTPAuthenticationError 主要的原因就是口令和帐号信息不对,这里我们 ...

  3. C#值传递和按引用传递

    知识点: 值类型和引用类型  为值类型,,据        对于引用类型来说,栈中存储的是堆中对象的地址 值传递和引用传递 对于值传递,传递的是栈中保存的数据        对于引用传递.传递的是栈本 ...

  4. CentOS7 安装spark集群

    Spark版本 1.6.0 Scala版本 2.11.7 Zookeeper版本 3.4.7 配置虚拟机 3台虚拟机,sm,sd1,sd2 1. 关闭防火墙 systemctl stop firewa ...

  5. centos安装wget 及配置(转)

    yum -y install wget #yum install perl Searching for GCC... The path "" is not valid path t ...

  6. Oracle存储过程详解(引用)+补充(转) dbms_output包 good

    执行存储过程时,execute和call的区别 EXEC is a sqlplus command that put its argument as an anonymous pl/sql block ...

  7. Windows下一个MySQL有些错误的解决方法

    1.无论是什么提示.我们有一个直接看错误日志.由于它描述了最具体描述错误日志. 于MySQL安装文件夹中找到 my.ini简介 看日志保存路径 2. 我的错误是[ERROR] Fatal error: ...

  8. MVC 定义JsonpResult实现跨域请求

    MVC 定义JsonpResult实现跨域请求 1:原理 在js中,XMLHttpRequest是不能请求不同域的数据,但是script标签却可以,所以可以用script标签实现跨域请求.具体是定义一 ...

  9. POJ - 2828 Buy Tickets (段树单点更新)

    Description Railway tickets were difficult to buy around the Lunar New Year in China, so we must get ...

  10. jsp跳转后台代码页的简易方式~

    jsp跳转到代码隐藏页.有几种方法,例如,: action方式: jquery方式,码如下面: function regCust(){         $('#containerFRM').form( ...