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

UNIX 環境 Oracle 自動化匯出備份腳本設計:cron 排程、參數初始化、日期命名與磁帶/異地複製三層防護

     編輯:Oracle 資料庫基礎

人工備份必然遺漏,UNIX cron + Shell 腳本實現 Oracle exp 自動化備份,並建立本地磁碟 → 磁帶 → 異地主機三層防護。本文提供生產級腳本架構:環境初始化檔、備份主腳本、排程策略、擴充建議。

備份策略時間表

時間任務腳本
23:00exp 導出備份至本地磁碟ora-backup
02:00備份檔複製至磁帶tar-backup
04:00備份檔複製至異地 UNIX 主機rcp/scp 或 rsync

1. 環境初始化檔

檔名:ora-env(放置於 $ORACLE_HOME 或腳本目錄)

#!/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

2. 備份主腳本

檔名:ora-backup

#!/bin/ksh
. ./ora-env                    # 載入環境變數

RQ=`date +%m%d`                # 日期變數 MMDD
rm -f /backup/*                # 清空備份目錄 (視保留策略調整)

exp test/test \
  FILE=/backup/xx${RQ}.dmp \
  LOG=/backup/xx${RQ}.log \
  OWNER=test                   # 或 FULL=Y 視需求

# 可選:壓縮
# compress /backup/xx${RQ}.dmp

3. 磁帶/異地複製腳本

檔名:tar-backup

#!/bin/ksh
RQ=`date +%m%d`
# 複製至磁帶裝置 (假設 /dev/rmt/0)
tar -cvf /dev/rmt/0 /backup/xx${RQ}.dmp /backup/xx${RQ}.log

# 複製至異地主機 (需 SSH 金鑰免密)
scp /backup/xx${RQ}.dmp /backup/xx${RQ}.log remote_host:/remote/backup/

4. Crontab 排程配置

# oracle 用戶 crontab -e
0 23 * * * /home/oracle/scripts/ora-backup >> /home/oracle/logs/backup.log 2>&1
0 2 * * * /home/oracle/scripts/tar-backup >> /home/oracle/logs/tape.log 2>&1
0 4 * * * /home/oracle/scripts/remote-copy >> /home/oracle/logs/remote.log 2>&1

關鍵強化建議

  • 保留策略:find /backup -mtime +7 -delete 保留 7 天,磁帶離線存放
  • 錯誤通知:腳本檢查 $?,失敗發郵件/簡訊告警
  • 驗證機制:定期 imp SHOW=Y 驗證備份檔可讀性
  • 參數檔化:exp PARFILE=exp.par 管理複雜參數
  • 現代化替代:RMAN (塊級增量、壓縮、加密、目錄) + Data Guard (異地同步)

結語

自動化備份 = 環境隔離 + 日期命名 + 分層複製 + 失敗告警 + 定期驗證。Shell 腳本雖樸素,穩定可靠;現代環境建議遷移至 RMAN + Data Guard 體系,但腳本化思維(冪等、可觀測、可恢復)永不過時。

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