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

脚本:

@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. Serializable 作用

    Serializable 作用 序列化的attribute,是为了利用序列化的技术 准备用于序列化的对象必须设置 [System.Serializable] 标签,该标签指示一个类能够序列化. 便于在 ...

  2. http报错之return error code:401 unauthorized

     http报错之return error code:401 unauthorized 依据HTTP返回码所表示的意思应该是未授权,没有输入账号和password,因此解决方法就直接在HTTP包里面 ...

  3. [INS-20802] Oracle Database Configuration Assistant 失败

    1.错误原因    [INS-20802] Oracle Database Configuration Assistant 失败 2.错误原因 3.解决方案 版权声明:本文博主原创文章.博客,未经同意 ...

  4. Cocos2d-x3.0 DrawNode吸取

    DrawNode正如它的绘图形状的节点,相互作用可以使将来更加灵活. DrawNode* DrawLayer::shape() { auto shape = DrawNode::create(); s ...

  5. Java对存储过程的调用方法

    本文将介绍Java怎样实现对存数过程的调用方法,作者用了几个样例进行了具体的说明,简单明了,很适合刚開始学习的人. 一.Java怎样实现对存储过程的调用: A:不带输出參数的 create proce ...

  6. ios正在使用NSDateComponents、NSDate、NSCalendar它的结论是在当前时间是在一段时间在一天。

    一般应用程序设置这一组的存在,比如夜间模式,如果你.从8:00-23:00.在这个当前的时间是如何推断出期间.主要的困难在于如何使用NSDate生成8:00时间和23:00时间.然后用当前时间,也许有 ...

  7. TCP在三次握手协议和四波(图)

    设定TCP需要建立一个三次握手的能力,断开需要握手.整步骤,如看到下面的附图: 先来看看怎样建立连接的. 首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资 ...

  8. UVA 10870 - Recurrences(矩阵高速功率)

    UVA 10870 - Recurrences 题目链接 题意:f(n) = a1 f(n - 1) + a2 f(n - 2) + a3 f(n - 3) + ... + ad f(n - d), ...

  9. smb_精简安装

    yum install samba vim /etc/samba/smb.conf    [修改下自己要发布的目录  .eg : path = /home/iknow] smbpasswd -a ik ...

  10. 2015傅富泰写——STRING权

    前两天我在丰富的祝福大福参加了宣讲会.并参加了笔试,最后,一个大问题,我在这里谈解决方案,关于这些问题的含义是这样的,您只能使用c图书馆,实现一个功能void MakeString(char *pSt ...