zoukankan      html  css  js  c++  java
  • oracle数据库定时备份

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

      思路:

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

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

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

         4)、将备份文件删除。

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

      备份具体代码:

    @rem:delete the history backups
    del /f /s /q F:备份*%date:~8,2%.zip
    @rem:create the new backups
    if "%date:~12,1%" == "" exp XXXXXX/XXXXXX inctype=complete file=f:/备份/%date:~0,4%%date:~5,2%%date:~8,2%.dmp
    if "%date:~12,1%" == "" exp XXXXXX/XXXXXX inctype=incremental file=f:/备份/%date:~0,4%%date:~5,2%%date:~8,2%.dmp
    if "%date:~12,1%" == "" exp XXXXXX/XXXXXX inctype=incremental file=f:/备份/%date:~0,4%%date:~5,2%%date:~8,2%.dmp
    if "%date:~12,1%" == "" exp XXXXXX/XXXXXX inctype=cumulative file=f:/备份/%date:~0,4%%date:~5,2%%date:~8,2%.dmp
    if "%date:~12,1%" == "" exp XXXXXX/XXXXXX inctype=incremental file=f:/备份/%date:~0,4%%date:~5,2%%date:~8,2%.dmp
    if "%date:~12,1%" == "" exp XXXXXX/XXXXXX inctype=incremental file=f:/备份/%date:~0,4%%date:~5,2%%date:~8,2%.dmp
    if "%date:~12,1%" == "" exp XXXXXX/XXXXXX inctype=cumulative file=f:/备份/%date:~0,4%%date:~5,2%%date:~8,2%.dmp
    @rem:take the backups to zip
    "E:Program Files (x86)WinRARWinRAR.exe" a F:备份\%date:~0,4%%date:~5,2%%date:~8,2%.zip F:备份\%date:~0,4%%date:~5,2%%date:~8,2%.dmp
    @rem:delete the new backups
    del /f /s /q F:备份*%date:~8,2%.dmp
    pause

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

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

      还原具体代码:

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

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

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

  • 相关阅读:
    反射
    IO流
    集合(下)
    集合(上)
    泛型
    异常
    常用类
    内部类
    将博客搬至CSDN
    DBMS_ERRLOG记录DML错误日志(二)
  • 原文地址:https://www.cnblogs.com/xiufengd/p/4710723.html
Copyright © 2011-2022 走看看