首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle 異地自動備份實作:Export + FTP + Crontab 完整方案

     編輯:Oracle 資料庫相關知識

前言

大型商業系統需異地容災備份。本文提供一套在 Sun Solaris 雙機(主/備)環境下,利用 Oracle Export、FTP 自動傳輸、Crontab 排程實現每日異地自動備份的完整腳本與設定。

關鍵指令介紹

  • exp:邏輯備份工具,支援使用者/資料表/完整資料庫模式,完全/累加/增量類型。範例:exp userid=mistest/test file=/backup/exp$(date +%m%d).dmp
  • ftp:利用 ~/.netrc 實現無人值守傳輸。選項 -i 關閉互動提示,-n 禁止自動登入。
  • crontab:排程服務,編輯 /var/spool/cron/crontabs/oracle 設定執行時間與指令。

實作步驟

1. 備份腳本 testbackup

ORACLE_HOME=/export/home/oracle/815; export ORACLE_HOME
ORACLE_SID=ora815; export ORACLE_SID
rm /export/home/oracle/backup/*
rq=`date +%m%d`
/export/home/oracle/815/bin/exp mistest/test file=/export/home/oracle/backup/exp$rq.dmp log=/export/home/oracle/backup/exp$rq.log

說明:初始化環境 → 清空備份目錄 → 以日期命名備份檔 → 執行完整匯出。

2. FTP 自動傳輸設定 ~/.netrc

machine x.x.x.x
login oraclebk
password testbk2
macdef init
bin
lcd /export/home/oracle/backup
cd /data/oradata/backup
mput *
bye

設定完成後 chmod 600 ~/.netrc 確保權限。

3. Crontab 排程

10 23 * * * /export/home/oracle/testbackup
30 23 * * * ftp -i x.x.x.x

每日 23:10 執行備份,23:30 啟動 FTP 傳輸至備份主機。

驗證與維護

  • crontab -l 檢視排程;/var/spool/cron/crontabs/oracle 確認檔案存在。
  • 定期檢查備份主機磁碟空間,清理舊備份。
  • 測試恢復流程確保備份有效性。

小結

此方案以標準工具串接,無需額外軟體授權,實現低成本、可靠的異地自動備份,大幅減輕 DBA 重複操作負擔。

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