现有需求,设计一批处理文件,实现周一全部备份,周二周三周五周六增量备份,周四周日累计备份。并且每日将上个月本日数据删除(如今日8月7号,则删除7月7号的数据).并将备份压缩以减小所占空间。

  思路:

  备份:1)、删除上个月数据。

     2)、通过判断今天周几执行不同的备份命令。

     3)、将备份文件添加到压缩包。

     4)、将备份文件删除。

  还原:若周六数据库出现问题,则需全部导入周一备份,导入周四累计备份,导入周五增量备份。

  备份具体代码:

@rem:delete the history backups
del /f /s /q F:\备份\*%date:~,%.zip
@rem:create the new backups
if "%date:~12,1%" == "一" exp XXXXXX/XXXXXX inctype=complete file=f:/备份/%date:~,%%date:~,%%date:~,%.dmp
if "%date:~12,1%" == "二" exp XXXXXX/XXXXXX inctype=incremental file=f:/备份/%date:~,%%date:~,%%date:~,%.dmp
if "%date:~12,1%" == "三" exp XXXXXX/XXXXXX inctype=incremental file=f:/备份/%date:~,%%date:~,%%date:~,%.dmp
if "%date:~12,1%" == "四" exp XXXXXX/XXXXXX inctype=cumulative file=f:/备份/%date:~,%%date:~,%%date:~,%.dmp
if "%date:~12,1%" == "五" exp XXXXXX/XXXXXX inctype=incremental file=f:/备份/%date:~,%%date:~,%%date:~,%.dmp
if "%date:~12,1%" == "六" exp XXXXXX/XXXXXX inctype=incremental file=f:/备份/%date:~,%%date:~,%%date:~,%.dmp
if "%date:~12,1%" == "七" exp XXXXXX/XXXXXX inctype=cumulative file=f:/备份/%date:~,%%date:~,%%date:~,%.dmp
@rem:take the backups to zip
"E:\Program Files (x86)\WinRAR\WinRAR.exe" a F:\备份\%date:~,%%date:~,%%date:~,%.zip F:\备份\%date:~,%%date:~,%%date:~,%.dmp
@rem:delete the new backups
del /f /s /q F:\备份\*%date:~,%.dmp
pause

  注:1)、因压缩时需要用到压缩软件,所以尽量安装winrar这个压缩软件,360等也可以,但有时候会出现意想不到的问题。

    2)、本批处理中所有生成文件全部用当前时间作为文件名,看不懂的百度或留言。

  还原具体代码:

imp XXXXXX/XXXXXX inctype=restore FULL=Y FILE=F:\备份\.dmp

  注:还原时只需要修改一下导入的文件名就可以了。

  此处导入导出未设置log文件,可自行设置。

oracle数据库定时备份的更多相关文章

  1. windows下oracle数据库定时备份与压缩批处理脚本(win7/win2008亲测通过)

    第一种方式:全备份,并直接覆盖原来的备份文件,固定命名. 脚本: @echo off exp system/a123@HZPG file=e:\db_backup\oradata.dmp log=e: ...

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

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

  3. Windows下设置oracle数据库定时备份

    1编写备份脚本 echo backup oracle database...... echo %~dp0 set file_dir=%~dp0 echo backup time...... set & ...

  4. 服务器oracle数据库定时备份

    首先要先建立一个.bat的文件  然后执行这个bat文件 测试是否能得到这个收据库的打包文件. bat文件内容: @echo off@color bdel /f /s /q D:\oracle\bac ...

  5. Oracle数据库的备份方法

    1.引言 Oracle数据库的备份方法很多,无论使用那种备份方法,备份的目的都是为了在出现故障后能够以尽可能小的时间和代价恢复系统.比如使用export实用程序导出数据库对象.使用Oracle备份数据 ...

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

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

  7. Mysql Navicat数据库定时备份,定时删除

    Navicat自带实现数据库定时备份 1.先点击需要备份的数据库,然后点击计划,再点击新建批处理作业 2.然后出现双机可用任务列表,然后在已选择的任务中会出现可用任务 3. 点击保存,弹出对话框,给这 ...

  8. SQL Server数据库定时备份解决方案

    SQL Server数据库定时备份解决方案 1.本方案采用软件为:SQLBackupAndFTP 10.0.3 版本,压缩包自带注册机,请自行破解. 2.软件截图如下: 3.功能说明:自动定时备份相关 ...

  9. oracle 数据库数据备份

    oracle 数据库数据备份 1.使用oracle用户应该就可以进行数据备份(不需要root用户):su oracle 查oracle实例名:echo $ORACLE_SID       例如查出来的 ...

随机推荐

  1. Vue2.0生命周期和钩子函数的一些理解

    转自:https://segmentfault.com/a/1190000008010666 前言 在使用vue一个多礼拜后,感觉现在还停留在初级阶段,虽然知道怎么和后端做数据交互,但是对于mount ...

  2. Java集合类汇总记录--JDK篇

    接口类图 Java Collection由两套并行的接口组成,一套是Collection接口,一套是Map接口.例如以下图 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkb ...

  3. C# TextBox改变高度的方法(转载)

    最近在做C# Winform项目,需要有一个能动态调整大小的Textbox,并且要是单行的.试了几次,单行模式的Textbox不能直接改高度.于是搜索了一下,整理出几个改变高度的方法. 1.将Text ...

  4. POJ1389 Area of Simple Polygons 线段树

    POJ1389 给定n个整数点矩形,求面积并. 显然ans必然是整数. 记录若干个事件,每个矩形的左边的竖边记为开始,右边的竖边记为结束. 进行坐标离散化后用线段树维护每个竖的区间, 就可以快速积分了 ...

  5. nginx配置改变默认访问路径

    在安装完nginx服务后,url访问的默认路径是安装的路径html文件夹下的内容,如果需要指定自定义的路径,需要配置nginx.conf文件内容,这样通过url访问就可以了,比如: http://12 ...

  6. Commons IO 2.5-IOUtils

    转自:http://blog.csdn.net/zhaoyanjun6/article/details/55051917 福利另外我已经把Commons IO 2.5的源码发布到Jcenter,大家就 ...

  7. 26.Extjs 部门列表信息展示页面

    /** * @author sux * @time 2011-1-14 * @desc 部门信息显示 */ deptInfoGridPanel = Ext.extend(Ext.grid.Editor ...

  8. astgo经常死机变慢?试试mysql数据碎片整理吧

    使用SSH之类的工具或navicat链接数据库后(注意:是链接数据库后哦,不是直接SSH后就弄,这样提示命令错误的) 执行下面命令(目的是对ASTGO的数据库内除话单之外的所有表进行数据碎片整理,特别 ...

  9. js滚轮事件需要注意的兼容性问题

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. Django day 36 支付宝支付,微信推送

    一:支付宝支付, 二:微信推送