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

Oracle 異地自動備份方案設計:Export + FTP + Crontab 全自動化實施

     編輯:Oracle 資料庫基礎

針對雙機熱備(一主一備 Sun Solaris)場景,設計基於 Oracle 原生 exp 導出、ftp 自動傳輸、crontab 定時調度的異地備份體系,全流程無人值守,經生產驗證穩定運行。

核心組件說明

1. exp 導出工具

  • 三種模式:用戶模式、表模式、全庫模式
  • 三種類型:完全、累積、增量
  • 本方案採用:全庫模式 + 完全備份,命令格式 exp userid/password file=dump.dmp

2. ftp 自動傳輸

  • 利用 .netrc 文件實現免交互登錄,放置於啟動用戶家目錄,權限 600
  • 關鍵選項:-i 關閉多文件提示,-n 禁用自動登錄(由 .netrc 接管)
  • 定義宏 init 實現批量上傳:mput *

3. crontab 定時調度

  • 守護進程 cron 讀取 /var/spool/cron/crontabs/oracle
  • 時間字段:分 時 日 月 周,* 表任意值,10 23 * * * 表每天 23:10 執行
  • 權限控制:/usr/var/adm/cron/cron.allow/deny

實施腳本

備份腳本 testbackup(權限 755)

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

.netrc 文件(權限 600)

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

crontab 條目

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

每日 23:10 本地導出,23:30 自動推送至備份機。方案輕量、無第三方依賴,適合中小規模核心業務異地容災。大數據量場景建議升級至 RMAN + Data Guard 架構。

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