ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Windows下RMAN备份代码

Windows下RMAN备份代码

原创 Linux操作系统 作者:hexiaomail 时间:2010-03-27 17:46:18 0 删除 编辑

 

全备rman代码,用FullBackup_Level0.rman保存:

run{

allocate channel c1 type disk format 'E:\Backup\%d_Full_0_%T_%s_%p_%I.rbak';

backup incremental level 0 database TAG='Ful_0';

release channel c1;

}

 

然后用vbs调用备份文件Full_Backup.vbs:

on error resume next

 

'这个函数只是把日期时间格式化一下,主要是用于备份log文件名的标识。

Function FormatDT(DateTime,Template)  

    If (Not IsDate(DateTime)) or Template = "" Then 

        FormatDT = Template  

        Exit Function 

    End If 

    Dim dtmY,dtmM,dtmD,dtmH ,dtmN,dtmS,dtmW  

    Dim arrFW,arrSW,arrFM,arrSM  

    dtmY = Year(DateTime)  

    dtmM = Month(DateTime)  

    dtmD = Day(DateTime)  

    dtmH  = Hour(DateTime)  

    dtmN = Minute(DateTime)  

    dtmS = Second(DateTime)  

    dtmW = WeekDay(DateTime)  

    arrFW = Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")   

    arrSW = Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat")  

    arrFM = Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")  

    arrSM = Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")  

 

    Template = Replace(Template,"{Y}",dtmY)  

    Template = Replace(Template,"{y}",Right(dtmY,2))  

    Template = Replace(Template,"{M}",dtmM)  

    Template = Replace(Template,"{m}",Right("00"&dtmM,2))  

    Template = Replace(Template,"{ME}",arrFM(dtmM-1))  

    Template = Replace(Template,"{Me}",arrSM(dtmM-1))  

    Template = Replace(Template,"{D}",dtmD)  

    Template = Replace(Template,"{d}",Right("00"&dtmD,2))  

    Template = Replace(Template,"{H}",dtmH )  

    Template = Replace(Template,"{h}",Right("00"&dtmH ,2))  

    Template = Replace(Template,"{N}",dtmN)  

    Template = Replace(Template,"{n}",Right("00"&dtmN,2))  

    Template = Replace(Template,"{S}",dtmS)  

    Template = Replace(Template,"{s}",Right("00"&dtmS,2))  

    Template = Replace(Template,"{W}",arrFW(dtmW-1))  

    Template = Replace(Template,"{w}",arrSW(dtmW-1))  

    FormatDT = Template  

End Function 

 

‘调用RMAN备份

dt = FormatDT(Now(),"{Y}{m}{d}-{h}{n}{s}")

Set WshShell = CreateObject("WScript.Shell")

WshShell.Run "CMD /C CD E:\Backupt & rman target / cmdfile E:\Backup\rmanScript\FullBackup_Level0.rman msglog E:\Backup\rmanScript\log\FullBackup_" & dt & ".log",0,true

 

'函数调用示例:  

'wscript.echo FormatDT(Now(),"{Y}-{M}-{D} {H}:{N}:{S}") & "
" 

'wscript.echo FormatDT(Now(),"{Y}年{M}月{D}日 {H}时{N}分{S}秒") & "
" 

'wscript.echo FormatDT(Now(),"{w},{D} {Me} {Y}") & "
" 

'wscript.echo FormatDT(Now(),"{h}:{n}:{s}")

 

'==================================================================  

'函数:FormatDT  

'作者:Abo(wupwu@qq.com)  

'日期:2008.09.07  

'功能:日期时间格式化  

'参数:DateTime,日期时间  

'   Template,格式化模板  

'返回:格式化后的字串  

'备注:模板标签注释  

'   {Y}:年  

'   {y}:2位年  

'   {M}:月  

'   {m}:补位月,例:01,02  

'   {ME}:英文月份  

'   {Me}:英文月份缩写  

'   {D}:日  

'   {d}:补位日  

'   {H}:时  

'   {h}:补位时  

'   {N}:分  

'   {n}:补位分  

'   {S}:秒  

'   {s}:补位秒  

'   {W}:星期几英文  

'   {w}:星期几英文缩写  

'修改记录:  

'==================================================================

 

最后在执行计划中调用Full_Backup.vbs,这个要注意执行计划中Run as:,使用ORA_DBA组中的本地用户NT AUTHORITY\SYSTEM

C:\WINDOWS\system32\cscript.exe E:\Backup\rmanScript\Full_Backup.vbs

 

增量及日志代码则类似!

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9932141/viewspace-630543/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-07-05

  • 博文量
    86
  • 访问量
    219972