首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

搭建 Oracle EXP 備份機實戰:Windows 定時全量匯出與自動清理

     編輯:Oracle 資料庫基礎

架構規劃

  • 生產端:Oracle 10.1.0,IP 129.1.9.90
  • 備份端:安裝同版本 Oracle Client,IP 129.1.9.91,關閉防火牆

網路配置

備份端 tnsnames.ora 新增:

JMYBJS =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 129.1.9.90)(PORT = 1521))
    (CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = jmybJS))
  )

目錄結構

D:\backup\dmp   # 存放 .dmp 匯出檔
D:\backup\log   # 存放匯出日誌

每日全量匯出腳本 (VBScript)

' 產生檔名:YYYYMMDD
outfile = Year(Date) & Right("0" & Month(Date), 2) & Right("0" & Day(Date), 2)

strExp = "D:\Oracle_bf\product\10.1.0\Db_1\BIN\exp system/******@jmybjs " & _
         "full=y buffer=900000 " & _
         "file=d:\backup\dmp\jmybjs" & outfile & " " & _
         "log=d:\backup\log\jmybjs" & outfile & ".log"

Set ws = WScript.CreateObject("WScript.Shell")
ws.Run strExp, 1, True

30 天自動清理腳本

' 計算 30 天前日期
dtOld = DateAdd("d", -30, Date)
outfile = Year(dtOld) & Right("0" & Month(dtOld), 2) & Right("0" & Day(dtOld), 2)

strDel = "cmd /c del d:\backup\dmp\jmybjs" & outfile & ".dmp"
ws.Run strDel, 0, True

注意:Windows Server 2003 預設無 delete.exe,需從其他系統複製至 C:\Windows\system32 或改用 cmd /c del 內建命令。

排程部署

使用 Windows 「排程工作」分別設定:

  • 匯出腳本:每日凌晨 02:00 執行
  • 清理腳本:每日凌晨 03:00 執行

測試驗證後正式上線,實現無人值守異地備份保留 30 天。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved