oracle自动(删除)备份日志表

 

 

 

1) 编写语句创建备份所需的文件夹(把以下语句粘贴到打偶后缀为vbs文件里,如createFolder.vbs)

 

 

 

Dim StrDate

 

Dim Obj

 

Dim P

 

 

 

rem 获取当前系统时间--修改格式为--2013-07-04

 

StrDate = StrDate & Year(Date)

 

If(Month(Date)<10) Then

 

       StrDate = StrDate & "-0" & Month(Date)

 

Else

 

       StrDate = StrDate & "-" & Month(Date)

 

End If

 

 

 

If(Day(Date)<10) Then

 

       StrDate = StrDate & "-0" & Day(Date)

 

Else

 

       StrDate = StrDate & "-" & Day(Date)

 

End If

 

 

 

 

 

Set WshShell=CreateObject("WScript.Shell")

 

 

 

rem 获取文件对象

 

Set Obj = CreateObject("Scripting.FileSystemObject")

 

 

 

rem 判断文件夹是否存在

 

If(Obj.FolderExists("g:\backdb\back\" & StrDate)) Then

 

Else

 

 

 

rem 创建文件夹

 

       Set P = Obj.CreateFolder("g:\backdb\back\" & StrDate)

 

       CreateFolderDemo = P.Path

 

End If

 

 

 

红色部分为数据库备份文件存储的的目录

 

 

 

 

 

  2) 编写语句删除过期备份(把以下语句粘贴到打偶后缀为vbs文件里,如:deleteFolder.vbs)

 

Dim Obj

 

Dim fos

 

Dim fs

 

Dim f

 

Dim c

 

       c = -1

 

Dim arr(100)

 

Dim c2,c3,temp

 

 

 

 

 

rem 获取指定目录下的所有文件名,存入数组

 

Set Obj = CreateObject("Scripting.FileSystemObject")

 

Set fos = Obj.GetFolder("g:\backdb\back\")

 

Set fs = fos.SubFolders

 

For Each  f in fs

 

       c = c +1

 

       arr(c) = f.name

 

Next

 

 

 

 

 

rem 将文件名按照实际排序

 

For c2 = 0 To c

 

       For c3 = c2 + 1 To c

 

              If(arr(c2)<arr(c3)) Then

 

                     temp = arr(c2)

 

                     arr(c2) = arr(c3)

 

                     arr(c3) = temp

 

              End If

 

       Next

 

Next

 

 

 

rem 删除多余的文件

 

For c2 = 0 To c

 

       If(c2>13) Then

 

              Obj.DeleteFolder("g:\backdb\back\" & arr(c2))

 

       End If

 

Next

 

红色部分为数据库备份文件存储的的目录

 

红色、黄底部分是备份文件保留时间(单位:天数-1)

 

 

 

 

 

 

 

  3)填写数据备份语句文件(把以下语句粘贴到打偶后缀为vbs文件里,如bakup_gpsdata.vbs)

 

 

 

Dim StrCmd

 

Dim StrDate

 

Dim WshShell

 

 

 

Set WshShell=CreateObject("WScript.Shell")

 

 

 

(这一段是获取系统时间,并且更改格式为--2013-07-04-----yyyy-mm-dd)

 

StrDate = StrDate & Year(Date)

 

If(Month(Date)<10) Then

 

       StrDate = StrDate & "-0" & Month(Date)

 

Else

 

       StrDate = StrDate & "-" & Month(Date)

 

End If

 

 

 

If(Day(Date)<10) Then

 

       StrDate = StrDate & "-0" & Day(Date)

 

Else

 

       StrDate = StrDate & "-" & Day(Date)

 

End If

 

 

 

 

 

StrCmd="exp gpsdata/gpsdata@fcgpgis file=G:\BACKDB\back\" & StrDate  & "\" & StrDate & "_gpsdata_bak.dmp log=gpsdata.log"

 

 

 

WshShell.run StrCmd

 

 

 

WScript.quit

 

 

 

其中红色的部分是需要根据实际情况修改的部分。

 

  注释:

 

 其中exp pgisapp/pgisapp@pgis 为要导出的用户的用户名和密码,@之后的为数据库的实例名,

 

      F:\EzSoft\backupdb\  为导出文件所要放置本地目录

 

      _pgisapp_bak.dmp为导出文件的名称

 

 log=pgisapp.log   为日志文件名称

 

 

 

 

 

<!--[if !supportLists]-->4)<!--[endif]-->编写任务执行语句(把以下语句粘贴到打偶后缀为bat文件里,如run.bat)

 

createFolder.vbs

 

bakup_DbSID.vbs

 

*****

 

*****

 

*****

 

deleteFolder.vbs

 

 

 

 

 

红色部分为步骤1)编写的vbs文件名:用于创建备份所需的文件夹

 

蓝色部分为步骤3)编写的vbs文件名:用于数据库备份

 

绿色部分是步骤2)编写的vbs文件名:用于删除过期的备份

 

 

 

 

 

4)添加任务计划

 

 

 

a、在开始--控制面板--任务计划-添加任务计划

 

 

 

b、在浏览中选择要执行的备份执行文件(bat文件)

 

c、填写任务计划的名称,和选择执行这个计划的频率时间

 

 

d、输入执行起始时间和日期(建议是晚上或者凌晨时间执行,)

 

e、输入服务器本身的用户名和密码

 

 

f、单击完成。

 

 

 

你可能感兴趣的:(oracle,数据库,vbs,自动备份)