oracle数据库定时备份
现有需求,设计一批处理文件,实现周一全部备份,周二周三周五周六增量备份,周四周日累计备份。并且每日将上个月本日数据删除(如今日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数据库定时备份的更多相关文章
- windows下oracle数据库定时备份与压缩批处理脚本(win7/win2008亲测通过)
第一种方式:全备份,并直接覆盖原来的备份文件,固定命名. 脚本: @echo off exp system/a123@HZPG file=e:\db_backup\oradata.dmp log=e: ...
- 32. linux下oracle数据库定时备份
这里以oradatabak.sh(里面的内容要根据实际修改)脚本放在/u01/11g/datapump下为例: #1.添加脚本执行权限 chmod +x /u01/11g/datapump/orada ...
- Windows下设置oracle数据库定时备份
1编写备份脚本 echo backup oracle database...... echo %~dp0 set file_dir=%~dp0 echo backup time...... set & ...
- 服务器oracle数据库定时备份
首先要先建立一个.bat的文件 然后执行这个bat文件 测试是否能得到这个收据库的打包文件. bat文件内容: @echo off@color bdel /f /s /q D:\oracle\bac ...
- Oracle数据库的备份方法
1.引言 Oracle数据库的备份方法很多,无论使用那种备份方法,备份的目的都是为了在出现故障后能够以尽可能小的时间和代价恢复系统.比如使用export实用程序导出数据库对象.使用Oracle备份数据 ...
- Windows下Oracle数据库自动备份批处理脚本
expdb命令版本 @echo off REM ########################################################### REM # Windows Se ...
- Mysql Navicat数据库定时备份,定时删除
Navicat自带实现数据库定时备份 1.先点击需要备份的数据库,然后点击计划,再点击新建批处理作业 2.然后出现双机可用任务列表,然后在已选择的任务中会出现可用任务 3. 点击保存,弹出对话框,给这 ...
- SQL Server数据库定时备份解决方案
SQL Server数据库定时备份解决方案 1.本方案采用软件为:SQLBackupAndFTP 10.0.3 版本,压缩包自带注册机,请自行破解. 2.软件截图如下: 3.功能说明:自动定时备份相关 ...
- oracle 数据库数据备份
oracle 数据库数据备份 1.使用oracle用户应该就可以进行数据备份(不需要root用户):su oracle 查oracle实例名:echo $ORACLE_SID 例如查出来的 ...
随机推荐
- 【智能路由器】让MT7620固件openwrt支持USB
[智能路由器]系列文章连接 http://blog.csdn.net/u012819339/article/category/5803489 首先确定硬件有USB,这个得检查板子是否引出了usb口,一 ...
- IOS-Storyboard控制器切换之Modal(1)
Modal模式是指模态切换.新开的界面会挡住之前的界面,使之不能获取焦点. 创建一个singleView模板的程序,打开storyboard文件.拖动2个UIViewController到界面中.按住 ...
- Linux bash: scp: command not found的问题记录
,总结 scp成功,须要两个server都安装了scp服务才行.
- C语言之基本算法25—牛顿迭代法求方程近似根
//牛顿迭代法! /* ============================================================ 题目:用牛顿迭代法求解3*x*x*x-2*x*x-16 ...
- java设计模式 -------- 行为模式 之 策略模式(4)
[本文是自己学习所做笔记.欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020] 上面3节实现了从最初的对整形数组排序到最后能够对全部类型都能够依据须要定义自 ...
- 什么是sibling and tail recursive calls
1 tail call 在函数f中调用函数b,如果这个调用是函数f中执行的最后一条指令,那么这个调用就称为tail call. 例子: int foo(float a, float b) { ... ...
- Linux服务器 /var/spool/clientmqueue 目录下产生大量文件的删除办法
检查linux发现server中的磁盘分区空间超过98%,登录到服务器查看 [root@localhost etc]# df -hFilesystem 容量 已用 可用 已用% 挂载点/dev/hda ...
- LeetCode——Regular Expression Matching
Implement regular expression matching with support for '.' and '*'. '.' Matches any single character ...
- VMware14秘钥
VMware虚拟机已升级至14版本,之前的12版本的秘钥已经无法使用,在此分享一下VMware Workstation 14永久激活密钥: CG54H-D8D0H-H8DHY-C6X7X-N2KG6 ...
- Lein droid
最近尝试使用Clojure,发现有个Lein droid的项目可以方便的在android下使用Clojure. http://clojure-android.info/#get-started 尝试了 ...