熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

關於oracle的備份策略

2013-11-13 16:00:37  來源: Oracle 

  控制文件在備份中意義重大建議每次對其單獨備份如果數據庫版本允許的話應該設置為控制文件自動備 份同時應該盡可能地增大CONTROL_FILE_RECORD_KEEP_TIME這個初始化參數的值以便備份信息能更長時間的保留應該制定比較完善的備份計劃否則備份計劃一旦出現缺口將可能給系統帶來災難記住 "可能出錯的地方一定會出錯"

  熟悉RMAN內部備份機制對DBMS_BACKUP_RESTORE的用法有一定的掌握在關鍵時侯很有幫助

  備份腳本應該對Log重定向並保存以便在出錯的查找有用信息

  

  與RMAN備份有關的優化備份操作主要是完成以下三個步驟從磁盤上讀取數據在內存中處理數據塊寫入數據到磁盤或磁帶以上的讀寫操作可以同步或異步的完成在同步I/O操作中一個時間只允許有一個IO操作但是在異步I/O操作中一個時間允許有多個IO操作因此備份與恢復的調優主要集中在以下幾個方面

  ??提高同步或異步I/O操作能力在支持異步操作的操作系統上可以通過設置TAPE_AYSNCH_IODISK_ASYNCH_IO和BACKUP_TYPE_IO_SLAVES來支持異步操作提高寫的能力

  ??提高磁盤讀能力可以在backup命令後通過設置DISKRATIO來保證從多個磁盤上讀取數據保證連續的數據流

  ??正確設置緩沖區與參數值設置LARGE_POOL_SIZE使備份可以使用連續的緩沖池通過設置DB_FIL_DIRECT_IO_COUNT可以提高緩沖區的利用如果使用磁帶備份還可以設置BACKUP_TYPE_IO_SLAVES來提高磁帶的寫能力

  ??采用並行備份開辟多個通道可以實現並行備份與恢復??

  iii備份RMAN數據庫RMAN自己的數據庫也需要備份但是本身很小而且不是經常發生變化所以在每次RMAN備份完成後都可以用如下腳本對RMAN數據庫備份

  EXP pafile =exprmansql exprmansql為USERID=RMAN/RMAN BUFFER= OWNER=RMAN FILE=RMANDMP ROWS=Y GRANTS=Y COMPRESS=Y CONSISTENT=Y iv使自動備份數據庫自動備份數據庫不外乎以下三種方式WINDOWS下的任務計劃(At命令)

  UNIX下的Crontab第三方工具如Viritas在以上三種方式中Viritas屬於第三方工具很多人可能都沒有接觸主要說一下windows的任務計劃與unix的cron 生成腳本文件如backuprcv假定文件內容如下$>cat backuprcv connect target sys/password rcvcat rman/rman@localnamerun{ allocate channel c type diskallocate channel c type diskallocate channel c type diskbackup fileaperset format /u/oradata/backup/arch%u_%s_%p??

  archivelog all delete input? ?

  release channel crelease channel crelease channel c} 生成執行文件在windows上生成backup_archivebat內容包括rman cmdfile = backuprcv在unix下生成 backup_archivesh內容包括/oracle/ramn/rman cmdfile = backuprcv??加入調度在windows中用任務計劃向導即可或使用at命令

  在unix中在目標機器上編寫一個文件用以啟動自動備份進程假定文件名為ORACLE文件將放在/var/spool/cron/crontabs目錄下$>cat oracle * * backup_archivesh #表示星期天點對數據庫備份 * * * backup_archivesh #表示每天點備份Crontab文件的每一行由六個域(minuteshoursday of monthmonthday of weekcommand)組成域之間用空格或Tab分隔開來五常見誤區使用EXP/IMP備份EXP/IMP不是一個良好的備份工具在以後的發展之中ORACLE對EXP/IMP用於備份的支持會越來越低ORACLE只是把EXP/IMP當作一個好的工具而不是備份工具在對於大型數據庫如TB級數據庫或數據倉庫EXP/IMP肯定會力不從心

  在應用程序中備份數據庫在論壇上有很多這樣的要求我怎麼在程序中備份與恢復數據庫?首先說這個並不是不可以實現但是實現的過程會很復雜而且意外會很多就我的感覺提出這樣問題的人首先一點就是對ORACLE或DBA的不了解如果ORACLE可以這麼輕松的實現備份與恢復那麼我可以說就不需要DBA了

  冷備份比熱備份更容易效果會更好有人認為冷備份是關閉數據庫進行的一致性備份肯定比熱備份要好使用也容易其實不盡然在熱備份中一樣可以實現數據庫的全備份而且不會影響到數據庫的運行建議所有的生產機都運行在歸檔方式下采用熱備份方式

  六常見問題我導出的數據為什麼不能導入提示不支持的字符集轉換答參考上面的字符集原則導出數據時客戶端與數據庫字符集一致導入時修改為與目標數據庫字符集一致

  我的歸檔日志越來越多我什麼時候可以刪除歸檔日志?

  答在每一次全備份(如OS全冷備份或全熱備份)或基於全備份的增量備份(如RMAN基於級備份上的增量備份)後都可以刪除該備份點之前的歸檔日志建議在磁帶上保留一年

  全備份時一定需要備份所有數據文件嗎?

  答不需要起碼有兩類數據文件可以不備份一類就是臨時數據文件如果丟失可以刪除後重建一類是只讀表空間數據文件如果上次備份以來沒有修改過表空間的只讀屬性就可以不需要備份

  聯機日志需要備份嗎?

  答如果是歸檔方式熱備份就沒有必要備份聯機日志但是對於冷備份可以備份聯機日志特別是不歸檔狀態備份過聯機日志後的冷備份因為數據庫是一致的可以恢復到該備份點

  七小結什麼是數據庫備份數據庫備份就是把數據庫復制到轉儲設備的過程

  數據庫的運行方式可以分為歸檔方式和非歸檔方式建議運行在歸檔方式下運行熱備份

  了解了數據庫的備份方式邏輯備份冷備份熱備份了解數據庫的備份工具EXP/IMP執行邏輯備份OS腳本可以執行冷備份或熱備份RMAN也可以執行冷備份或熱備份了解ORACLE的備份策略並怎樣選擇最佳的備份策略知道怎麼樣啟動自動備份了解Windows的at命令與unix的cron進程


From:http://tw.wingwit.com/Article/program/Oracle/201311/17662.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.