Oracle数据库的自动备份脚本(2)

来源:互联网 发布:个人信息大数据购买 编辑:程序博客网 时间:2024/05/16 04:34

实现脚本
rem #=========================================================================
rem # Purpose:exp Oracle DB ZYTK30 to file ZYTK30_YYYYMMDDHHMM.dmp,
rem #         and Delete the file,7 days ago created
rem # Author :Comer Chu, 2006

rem # History:
rem # Note   :erveryday excute this script by windows task schedule 
rem #=========================================================================

@echo off
rem 1#---获得当前日期和7天前日期,date的格式 "YYYY-MM-DD"----------
set dt=%date:~0,10%
set i=1

:forok
if %i%==1 goto i01
if %i%==2 goto i02
if %i%==3 goto i03
if %i%==4 goto i04
if %i%==5 goto i05
if %i%==6 goto i06
if %i%==7 goto i07

:i01
set i=2
goto nextok
:i02
set i=3
goto nextok
:i03
set i=4
goto nextok
:i04
set i=5
goto nextok
:i05
set i=6
goto nextok
:i06
set i=7
goto nextok
:i07
set i=8
goto nextok

:nextok
set dy=%dt:~0,4%
set dm=%dt:~5,2%
set dd=%dt:~8,2%

if %dm%%dd%==0101 goto L01
if %dm%%dd%==0201 goto L02
if %dm%%dd%==0301 goto L07
if %dm%%dd%==0401 goto L02
if %dm%%dd%==0501 goto L04
if %dm%%dd%==0601 goto L02
if %dm%%dd%==0701 goto L04
if %dm%%dd%==0801 goto L02
if %dm%%dd%==0901 goto L02
if %dm%%dd%==1001 goto L05
if %dm%%dd%==1101 goto L03
if %dm%%dd%==1201 goto L06

if %dd%==02 goto L10
if %dd%==03 goto L10
if %dd%==04 goto L10
if %dd%==05 goto L10
if %dd%==06 goto L10
if %dd%==07 goto L10
if %dd%==08 goto L10
if %dd%==09 goto L10
if %dd%==10 goto L11
set /A dd=dd-1
set dt=%dy%-%dm%-%dd%
goto END
:L10
set /A dd=%dd:~1,1%-1
set dt=%dy%-%dm%-0%dd%
goto END
:L11
set dt=%dy%-%dm%-09
goto END

:L02
set /A dm=%dm:~1,1%-1
set dt=%dy%-0%dm%-31
goto END
:L04
set /A dm=dm-1
set dt=%dy%-0%dm%-30
goto END

:L05
set dt=%dy%-09-30
goto END
:L03
set dt=%dy%-10-31
goto END
:L06
set dt=%dy%-11-30
goto END
:L01
set /A dy=dy-1
set dt=%dy%-12-31
goto END

:L07
set /A "dd=dy%%4"
if not %dd%==0 goto L08
set /A "dd=dy%%100"
if not %dd%==0 goto L09
set /A "dd=dy%%400"
if %dd%==0 goto L09
:L08
set dt=%dy%-02-28
goto END
:L09
set dt=%dy%-02-29
goto END

:END
if %i%==2 goto forok
if %i%==3 goto forok
if %i%==4 goto forok
if %i%==5 goto forok
if %i%==6 goto forok
if %i%==7 goto forok
if %i%==8 goto db

:db
rem 2#---备份oracle数据到本机,并且只备份表空间,前提本机正确配置了Oracle的客户端,否则exp无法执行!
rem td like 20060827183200
set td=%Date:~0,4%%Date:~5,2%%Date:~8,2%%Time:~0,2%%Time:~3,2%%Time:~6,2%
e:/oracleback
exp user/password@zytk30 tablespaces=(ZYTK30_AC,ZYTK30_OP,ZYTK30_ID,ZYTK30_BAK) file=e:/OracleBack/ZYTK30_%td%.dmp log=e:/OracleBack/expZYTK30.Log buffer=800000
rar a ZYTK30_%td%.rar ZYTK30_%td%.dmp

rem set dt to format "yyyymmdd"
set dt=%dt:~0,4%%dt:~5,2%%dt:~8,2%
rem 3#---删除7天前的备份文件---------------------------------------------------------
del e:/OracleBack/ZYTK30_%dt%*.rar

rem 4#---删除当天dmp备份文件--------------------------------------------------------
del e:/OracleBack/ZYTK30_%td%*.dmp

定时任务
以上内容保存为exp_ZYTK30.bat,再使用windows自带的任务计划来计划程序每天自动去备份数据了
具体步骤:控制面板-/任务计划-/添加任务计划,选择每天,选择exp_ZYTK30.bat就ok了。

说明
上面是保留备份最近7天的数据,每天一个(当然也可以多个,设置任务计划即可)。你可以修改上面的代码到最近8、9甚至n天

比如:修改成保留8天的备份
在if %i%==7 goto i07 下增加
if %i%==8 goto i08
:i07
set i=8

在goto nextok 下增加
:i08
set i=9
goto nextok

将if %i%==8 goto mdb 改为
if %i%==8 goto forok
if %i%==9 goto mdb

依次类推到n天。也可以针对文件夹的删除,稍作变动即可。
 


<script type="text/javascript">google_ad_client = "pub-2416224910262877";google_ad_width = 728;google_ad_height = 90;google_ad_format = "728x90_as";google_ad_channel = "";google_color_border = "E1771E";google_color_bg = "FFFFFF";google_color_link = "0000FF";google_color_text = "000000";google_color_url = "008000";</script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 手机号被别人注册了快手怎么办 快手显示手机号已注册怎么办 163的邮箱忘了怎么办 河长制账号密码忘了怎么办 网易登录名忘了怎么办 网易通行证安全手机忘了怎么办 美团数据获取失败怎么办 扣扣图片加载不出来怎么办 电脑qq最小化后不见了怎么办 uwp桌面快捷图标显示异常怎么办 网易云自动切歌怎么办 捡到小米手机怎么办才能自己用 dnf启动安装程序出错怎么办 苹果手机相册视频下载出错怎么办 苹果7软件闪退怎么办 微信上有钱账号就是怎么办 手机网速不给力怎么办 xp系统登录密码忘了怎么办 手机百度云网络出错怎么办 百度账号提示异常风险怎么办 刷xp框架卡米怎么办 全民k歌歌曲下架怎么办 全民k歌伴奏下架怎么办 苹果手机图片的图标打不开怎么办 电脑页面加载不出来怎么办 电脑主页面加载不出来怎么办 桌面图标不见了怎么办右键无反应 手机一直闪退该怎么办 点击华为设置闪退怎么办 小白摄像头获取视频文件失败怎么办 为什么解压文件老提示失败怎么办 b站sd卡写入失败怎么办 手机检测不到sd卡怎么办 华为sd卡不可用怎么办 u盘延缓写入失败怎么办 手机提示sd卡不可用怎么办 显示sd卡不可用怎么办 小米手机检测不到sd卡怎么办 小米手机sd卡写入失败怎么办 没有检测到sd卡怎么办 e站图片配额用尽怎么办