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>
- Oracle数据库的自动备份脚本(2)
- Oracle数据库RMAN的自动备份脚本
- 自动备份数据库(oracle)的脚本
- Oracle数据库自动备份脚本
- ORACLE 数据库自动备份脚本
- Oracle数据库自动备份脚本
- oracle数据库自动备份脚本
- Oracle数据库的自动导出备份脚本(windows环境)
- Windows环境下Oracle数据库的自动备份脚本
- windows环境下Oracle数据库的自动备份脚本
- Windows环境下Oracle数据库的自动备份脚本
- 【Windows】Windows环境下Oracle数据库的自动备份脚本
- 分享一个定时自动备份oracle数据库的脚本
- 数据库的自动备份脚本
- 自动备份数据库的脚本
- Oracle 数据库备份自动执行脚本_For_Windows
- oracle,mysql数据库自动备份脚本
- 备份Oracle数据库的脚本
- 开源软件之--Rainlendar
- 关于唱歌呼吸的几种方法
- [推荐]测试你有没有经理头脑
- 何以解软件业之困局
- 马云语录,非常值得一看
- Oracle数据库的自动备份脚本(2)
- 《Struts in Action》阅读心得
- 厚积薄发,有的放矢――李开复博士给中国计算机系学生的建议
- javascript技巧参考
- C语言的memset函数代码(47)
- 无线公钥基础设施WPKI技术简介
- 2005年华为招聘 C语言笔试试题
- 百度网上笔试题
- 在虚拟主机上用asp.net轻松实现urlrewrite