每日 23:00 Export 匯出備份,02:00 複製到磁帶,04:00 複製到異地 Unix 主機。
Export 三種模式:使用者、表、完整資料庫。採用使用者模式。先建立 /BACKUP 目錄。在 Oracle 目錄建立三個檔案:ORA-ENV、ORA-BACKUP、TAR-BACKUP。
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
. /ORACLE/ORA-ENV
RQ=`DATE +%m%d`
RM /BACKUP/*
EXP TEST/TEST FILE=/BACKUP/XX$RQ.DMP LOG=/BACKUP/XX$RQ.LOG
以日期命名備份檔(如 XX1210.DMP),清空備份目錄後匯出 TEST 使用者。
TAR RVF /DEV/RMT/0N /BACKUP/*
R 附加不覆蓋、V 顯示資訊、F 指定裝置、N 不倒帶。/DEV/RMT/0 為第一台磁帶機。
用 FTP 自動傳輸,寫 .NETRC 檔放於啟動 FTP 使用者家目錄,權限 600。
MACHINE HOST2
LOGIN ORACLE
PASSWORD ORACLE
MACDEF INIT
BIN
LCD /BACKUP
CD /PUB
MPUT *
BYE
兩主機最好同一區域網路以提速。
用 CRON 排程。編輯 Oracle 使用者的 crontab(CRONTAB -E):
0 23 * * * /ORACLE/ORA-BACKUP
0 2 * * * /ORACLE/TAR-BACKUP
0 4 * * * FTP -I HOST2
系統管理員只需定期換磁帶、清理備份目錄,即可脫離繁瑣手動備份,資料安全性大幅提升。