程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 定制正確的oracle備份策略

定制正確的oracle備份策略

編輯:Oracle數據庫基礎

oracle備份策略的定制關系到Oracle數據庫的運行,正確的Oracle備份策略不僅能保證數據庫服務器的24*7的高性能的運行,還能保證備份與恢復的快速性與可靠性。

采用多級備份就是為了減少每天備份所需要的時間,而又保證系統有良好的恢復性。恢復時間與備份時間要有一個權衡。比如只要進行一個數據庫的全備份,然後就只備份歸檔也可以保證能把數據庫恢復到最新的狀態,但是這樣的恢復時間將是不可容忍的。多級備份也正是     為了解決這種問題,以下就是一個多級備份的例子:

每半年做一個數據庫的全備份(包括所有的數據和只讀表空間)
每一個月做一次零級備份(不包含只讀表空間)
每個星期做一次一級備份
每天做一次二級備份

任何數據庫的更改需要重新同步CATALOG目錄並重新備份(如添加數據文件)或重新備份(如修改表空間為只讀)每次備份後都可以備份歸檔日志或定期備份歸檔日志。如果可能,可以直接備份到磁帶上。數據庫全備份的腳本

  1. run{   
  2. allocate channel c1 type disk;   
  3. allocate channel c2 type disk;   
  4. allocate channel c3 type disk;   
  5. backup full tag ‘dbfull’ format ‘/u01/oradata/backup/full%u_%s_%p’ database   
  6. include current controlfile;   
  7. sql ‘alter system archive log current’;   
  8. backup fileaperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’    
  9. archivelog all delete input; #備份歸檔可選,可以單獨定期備份   
  10. release channel c1;   
  11. release channel c2;   
  12. release channel c3;   
  13. }  

零級備份的腳本

  1. run{   
  2. allocate channel c1 type disk;   
  3. allocate channel c2 type disk;   
  4. allocate channel c3 type disk;   
  5. backup incremental level 0 tag ‘db0’ format ‘/u01/oradata/backup/db0%u_%s_%p’    
  6. database skip readonly;   
  7. sql ‘alter system archive log current’;   
  8. backup fileaperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’    
  9. archivelog all delete input; #備份歸檔可選,可以單獨定期備份   
  10. release channel c1;   
  11. release channel c2;   
  12. release channel c3;   
  13. }  

同理,我們可以得到一級備份,二級備份的腳本,如一級備份的腳本

  1. run{   
  2. allocate channel c1 type disk;   
  3. allocate channel c2 type disk;   
  4. allocate channel c3 type disk;   
  5. backup incremental level 1 tag ‘db1’ format ‘/u01/oradata/backup/db1%u_%s_%p’    
  6. database skip readonly;   
  7. sql ‘alter system archive log current’;   
  8. backup fileaperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’    
  9. archivelog all delete input; #備份歸檔可選,可以單獨定期備份   
  10. release channel c1;   
  11. release channel c2;   
  12. release channel c3;   
  13. }  

如果按照以上Oracle備份策略,則每天的所需要備份的數據量只有一天的改變量。而做恢復時最多要恢復當月的一個零級備份+三個一級備份+6個二級備份+當天的歸檔文件。如果不能接受這樣的恢復時間,可以減少零級備份之間的時間間隔。
  
在每次備份後,原則上在該備份點之前的歸檔日志就可以刪除掉了,但是為了進一步的安全以及日後需要(如使用LOGMNR查找所需信息),建議有條件的話,歸檔日志保存一年,可以保存在磁帶等廉價存取設備上。
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved