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

Oracle 資料庫備份技術完整體系:歸檔模式、備份策略與自動化腳本

     編輯:Oracle 資料庫基礎

資料庫運行模式抉擇

  • 歸檔模式:故障時最大程度恢復所有已提交事務,正式環境採用
  • 非歸檔模式:僅恢復至最近檢查點,開發/測試環境採用

切換至歸檔模式步驟

  1. 關閉資料庫,完整備份
  2. STARTUP MOUNT → ALTER DATABASE ARCHIVELOG
  3. 啟用自動歸檔:log_archive_start=true
  4. 指定歸檔格式與路徑:log_archive_format=%S.arc, log_archive_dest=/arch12/arch
  5. 重啟資料庫完成切換

備份制度設計

非歸檔模式:邏輯備份 (Export)

  • 月全備 x01.dmp
  • 週累積備 c*.dmp
  • 日增量備 i*.dmp(週一~五)
  • 備份完成自動 FTP 傳送異地

歸檔模式:物理備份

  • 建庫後一次完整物理冷備份
  • 平時不關機,週備份常變動資料檔(聯機備份)
  • 結構變更時:允許關機則冷備份全庫;否則備份控制檔 + 例行聯機備份
  • 線上日誌置於陣列,不鏡像不備份

自動化備份腳本實例 (AIX/UNIX)

增量備份腳本 (zlbf1~5,週一~五)

. /u11/demo/.profile
exp system/manager inctype=INCREMENTAL file=i01.dmp
FTP -n << !
open 10.10.10.40
user demo demo
binary
prompt
cd backup40
put i01.dmp
close
bye
!

週六累積/全備腳本 (zlbf6)

JS=`ls c*.dmp|wc -l`
if test $JS = 0; then exp ... inctype=CUMULATIVE file=c01.dmp; ftp ...; fi
if test $JS = 1; then exp ... inctype=CUMULATIVE file=c02.dmp; ftp ...; fi
if test $JS = 2; then exp ... inctype=CUMULATIVE file=c03.dmp; ftp ...; fi
if test $JS = 3; then exp ... inctype=COMPLETE file=x01.dmp; ftp ...; rm c*.dmp; fi

Crontab 排程

59 22 * * 1 bin/zlbf1
59 22 * * 2 bin/zlbf2
59 22 * * 3 bin/zlbf3
59 22 * * 4 bin/zlbf4
59 22 * * 5 bin/zlbf5
59 22 * * 6 bin/zlbf6

聯機備份操作流程

ALTER TABLESPACE ts_name BEGIN BACKUP;
-- OS 命令備份資料檔
ALTER TABLESPACE ts_name END BACKUP;

多表空間可同時標記開始,備份完畢同時標記結束。

結構變更後控制檔備份

ALTER DATABASE BACKUP CONTROLFILE TO 'filename' REUSE;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved