首页 > Linux操作系统 > Linux操作系统 > Windows下RMAN备份代码
全备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/ ,如需转载,请注明出处,否则将追究法律责任。