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

Unix/Linux 下 Oracle 自動化物理備份實戰:Crontab + EXP + TAR + FTP 異地備份

     編輯:Oracle 資料庫相關知識

自動化備份架構設計

目標:每日零人工介入完成三層備份——

  1. 23:00 EXP 邏輯備份至磁碟
  2. 02:00 TAR 封存至磁帶
  3. 04:00 FTP 異地傳輸至備援主機

一、環境初始化腳本:ora-env

#!/bin/ksh
ORACLE_HOME=$ORACLE_HOME; export ORACLE_HOME
ORACLE_SID=ora73; export ORACLE_SID
ORACLE_TERM=sun; export ORACLE_TERM
LD_LIBRARY_PATH=$ORACLE_HOME/lib; export LD_LIBRARY_PATH
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data; export ORA_NLS33
PATH=.:/usr/ccs/bin:/usr/ucb:$ORACLE_HOME/bin:$PATH; export PATH
DISPLAY=host1:0; export DISPLAY
NLS_LANG=american_america.zhs16cgb231280; export NLS_LANG

二、EXP 備份腳本:ora-backup

#!/bin/ksh
. /oracle/ora-env

rq=`date +%m%d`              # MMDD 格式日期
rm -rf /backup/*             # 清空備份目錄
exp test/test file=/backup/xx${rq}.dmp log=/backup/xx${rq}.log
  • 用戶模式備份 test schema
  • 檔名含日期自動輪替:xx1210.dmp
  • 同步產出 Log 檔供驗證

三、磁帶備份腳本:tar-backup

#!/bin/ksh
tar rvf /dev/rmt/0n /backup/
  • r:附加不覆蓋;v:顯示進度;f:指定裝置;n:不倒帶
  • /dev/rmt/0 第一台磁帶機,/dev/rmt/1 第二台...

四、異地 FTP 腳本:.netrc 自動登入

建立 ~/.netrc (權限 600):

machine host2
login oracle
password oracle
macdef init
bin
lcd /backup
cd /pub
mput *
bye
  • macdef init:FTP 連線成功後自動執行的巨集
  • mput *:上傳 /backup 所有檔案
  • 備援主機需建立 /pub 目錄,雙方最好同一 LAN 確保傳輸速度

五、Crontab 排程:Oracle 用戶專屬

# 編輯:crontab -e (必須在 Oracle 用戶下)
# 檢視:crontab -l

0 23 * * * /oracle/ora-backup      # 23:00 EXP 備份
0 2  * * * /oracle/tar-backup      # 02:00 磁帶備份
0 4  * * * ftp -i host2            # 04:00 異地傳輸
  • 六欄位:分 時 日 月 周 命令
  • * 代表所有值;1-5 範圍;1,3,5 列表
  • 日與周同時指定時 **邏輯 OR** 關係

六、運維要點

  • 磁帶輪換週期視備份大小與磁帶容量而定
  • 定期清理 /backup 與備援主機 /pub 過期檔案
  • 監控 Crontab 執行日誌 (/var/cron/log 或 syslog)
  • 每季進行一次「從磁帶/異地還原測試」,驗證備份可用性
  • 磁帶裝置查詢:lsdev -Cc tape (AIX) / mt -f /dev/rmt/0 status

七、進化方向:從腳本到 RMAN

此腳本方案適用 Oracle 7/8i 早期環境。現代 (9i+) 強烈建議遷移至:

  • RMAN:塊級增量、壓縮、加密、目錄、腳本化
  • Data Guard:即時異地同步、自動切換
  • Flash Recovery Area:統一管理備份/歸檔/快照
  • OEM/Cloud Control:圖形化排程、監控、報表

自動化備份的核心不是腳本本身,而是**「排程可靠、分層冗余、定期驗證、演練恢復」**。這套 Crontab+EXP+TAR+FTP 組合雖屬經典,但完整體現了備份自動化的四大鐵律,值得每位 DBA 內化為肌肉記憶。

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