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

Oracle exp備份機搭建完整步驟指南

     編輯:Oracle 資料庫基礎

Oracle exp備份機搭建完整步驟指南

本文詳細介紹如何正確搭建Oracle exp備份機,適用於Oracle 10.1版本環境。假設生產服務器IP為129.1.9.90,備份機IP規劃為129.1.9.91。

1. 環境準備

  • 在備份機上安裝Oracle 10.1客戶端或完整版
  • 配置IP地址為129.1.9.91
  • 關閉防火牆或開放1521端口

2. 配置tnsnames.ora

修改$ORACLE_HOME/network/admin/tnsnames.ora,添加生產數據庫連接描述:

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

3. 建立備份目錄結構

在D盤創建存放導出文件和日志的目錄:

d:\backup\dmp   -- 存放.dmp導出文件
d:\backup\log   -- 存放導出日志

4. 編寫備份腳本

使用VBScript編寫自動化備份腳本,實現每日全量導出,文件名包含日期標識:

' Nightly Bulk copy export for the customers table&view
' Write output to clarentYYMMDD.txt and errors to ERRYYMMDD.txt

Dim outfile, aa, bb, stroption1, stroption2, A, B, C, strsql
Set ws = WScript.CreateObject("WScript.shell")

A = CInt(Month(DateAdd("d", 0, Date())))
B = CInt(Day(DateAdd("d", 0, Date())))
C = CInt(Year(DateAdd("d", 0, Date())))

If A < 10 Then aa = CStr(0) + CStr(A) Else aa = CStr(A)
If B < 10 Then bb = CStr(0) + CStr(B) Else bb = CStr(B)

outfile = CStr(C) + aa + bb

stroption1 = "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"

strsql = stroption1
ret = ws.Run(strsql)

注意:腳本中system密碼部分以******隱藏,實際使用時需替換為真實密碼。

5. 編寫清理腳本(保留30天)

同樣使用VBScript,計算30天前的日期並刪除對應導出文件:

' 計算30天前的日期
A = CInt(Month(DateAdd("d", -30, Date())))
B = CInt(Day(DateAdd("d", -30, Date())))
C = CInt(Year(DateAdd("d", -30, Date())))

If A < 10 Then aa = CStr(0) + CStr(A) Else aa = CStr(A)
If B < 10 Then bb = CStr(0) + CStr(B) Else bb = CStr(B)

outfile = CStr(C) + aa + bb

stroption1 = "C:\Windows\system32\Delete d:\backup\dmp\jmybJS" + outfile + ".dmp"
strsql = stroption1
ret = ws.Run(strsql)

關鍵點:Windows Server 2003預設無delete.exe,需從其他系統複製到system32目錄下方可正常執行刪除操作。

6. 配置Windows排程任務

將備份腳本和清理腳本分別加入Windows任務排程器,設定每日自動執行時間(建議備份在凌晨低峰期,清理在備份完成後)。

7. 測試驗證

  • 手動執行備份腳本,確認dmp文件和日志正常生成
  • 檢查日志無錯誤,導出數據完整
  • 手動執行清理腳本,確認30天前文件被刪除
  • 觀察排程任務歷史記錄,確保自動執行成功

總結

通過以上步驟,可建立一套自動化、可維護的Oracle exp備份機制,實現每日全量備份與30天留存策略,滿足數據災備基本需求。生產環境建議結合RMAN增量備份,構建多層次備份體系。

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