Oracle的差異增量備份和累積增量備份(zt)
在rman增量備份中,有差異增量和累積增量的概念
1、概念
差異增量:是備份上級及同級備份以來所有變化的資料塊,差異增量是預設增量備份方式
累積增量:是備份上級備份以來所有變化的塊
因為累積增量是備份上級備份以來所有變化的資料塊,所以累積增量需要更多的備份時間,同時需要較小的恢復時間;而差異增量正好相反,它可以備份同級備份以來變化的資料塊。所以會減少備份時間,但需要更多的恢復時間.在oracle 9中增量備份需要透過掃描整個資料庫的資料塊才能知道哪些資料塊發生了變化,這是一個代價很大,時間很長的過程,而且由於增量備份形成多個不同的備份集,使恢復變得更加不可靠,所以增量備份在版本9中仍然不被推薦使用;在10g中,增量備份作了很大的改進,不需要再掃描所有資料塊就能得知哪些資料塊發生變化,從而大大提升備份效率。但這些卻以犧牲磁碟i/o為代價,所以在oltp事務系統中還得衡量是否願意以i/o為代價來保證安全及高可用性。10g還支援增量合併,增量備份可支援7級增量。
2、備份策略及恢復
以rman多級增量備份來作為備份策略例子:
增量備份都需要一個0級備份來作為基礎,0級備份與全備份的區別在於0級可以用來增量恢復,而全備份則不可以。
備份策略:
eg:我們對一星期做如下備份策略 ,那麼差異增量只需要使用星期天的0級,星期三的一級,星期四、五的二級就可以恢復,累積增量則需要星期天的0級、星期三的1級,星期五的二級即可進行恢復。以上是一個星期的備份策略,如果做長期的備份策略則只需要把備份的時間延長即可得到新的備份策略,具體需要看自己備份及恢復能夠接受的程度而頂,見最後的備份策略典型案例。
星期 |
差異增量 |
累積增量 |
星期天 |
0級 |
0級 |
星期一 |
2級 |
2級 |
星期二 |
2級 |
2級 |
星期三 |
1級 |
1級 |
星期四 |
2級 |
2級 |
星期五 |
2級 |
2級 |
星期六 |
2級 |
2級 |
星期天 |
0級 |
0級 |
備份命令如下:
零級備份
backup incremental level 0 database;
一級差異增量
backup incremental level 1 database;
一級累計增量
backup incremental level 1 cumulative database;
備份策略典型案例:
每半年做一個資料庫的全備份(包括所有的資料和只讀表空間)
每一個月做一次零級備份(不包含只讀表空間)
每個星期做一次一級備份
每天做一次二級備份
任何資料庫的更改需要重新同步CATALOG目錄並重新備份(如新增資料檔案)或重新備份(如修改表空間為只讀)
建議備份一段時間歸檔日誌和定期備份歸檔到到磁帶上
全庫備份指令碼
run{ run{ run{
零級備份指令碼
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup full tag 'dbfull' format '/u01/oradata/backup/full%u_%s_%p' database
include current controlfile;
sql 'alter system archive log current';
backup filesperset 3 format '/u01/oradata/backup/arch%u_%s_%p'
archivelog all delete input; #備份歸檔可選,可以單獨定期備份
release channel c1;
release channel c2;
release channel c3;
}
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup incremental level 0 tag 'db0' format '/u01/oradata/backup/db0%u_%s_%p'
database skip readonly;
sql 'alter system archive log current';
backup filesperset 3 format '/u01/oradata/backup/arch%u_%s_%p'
archivelog all delete input; #備份歸檔可選,可以單獨定期備份
release channel c1;
release channel c2;
release channel c3;
}
一級備份指令碼
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup incremental level 1 tag 'db1' format '/u01/oradata/backup/db1%u_%s_%p'
database skip readonly;
sql 'alter system archive log current';
backup filesperset 3 format '/u01/oradata/backup/arch%u_%s_%p'
archivelog all delete input; #備份歸檔可選,可以單獨定期備份
release channel c1;
release channel c2;
release channel c3;
}
如果按照以上備份策略,則每天的所需要備份的資料量只有一天的改變數。而做恢復時最多要恢復當月的一個零級備份+三個一級備份+6個二級備份+當天的歸檔檔案。如果不能接受這樣的恢復時間,可以減少零級備份之間的時間間隔。在每次備份後,原則上在該備份點之前的歸檔日誌就可以刪除掉了,但是為了進一步的安全以及日後需要(如使用LOGMNR查詢所需資訊),建議有條件的話,歸檔日誌儲存到能夠接受的時間點,可以儲存在磁帶等廉價存取裝置上.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/628922/viewspace-628999/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle的差異增量備份和累積增量備份Oracle
- Oracle之差異增量備份與累積增量備份Oracle
- 完全備份、差異備份、增量備份的區別
- Backup And Recovery User's Guide-RMAN備份概念-增量備份-累積增量備份GUIIDE
- Backup And Recovery User's Guide-RMAN備份概念-增量備份-差異增量備份GUIIDE
- Backup And Recovery User's Guide-RMAN備份概念-增量備份-累積增量備份-練習GUIIDE
- linux 下的差異和增量備份(轉)Linux
- 資料庫差異備份與增量備份的不同之處資料庫
- Oracle RMAN 增量備份Oracle
- oracle聯機熱備份的原理及rman增量備份原理(zt)Oracle
- rman備份和增量備份指令碼指令碼
- Oracle 11g RMAN備份-增量備份Oracle
- 備份策略 增量備份中的差異備份:週日和週三執行0級備份,其他每天執行1級備份
- Mysql增量備份MySql
- 增量備份 PostgreSQLSQL
- oracle資料庫備份之exp增量備份Oracle資料庫
- XtraBackup完整備份與增量備份的原理
- Backup And Recovery User's Guide-RMAN備份概念-增量備份-多級增量備份GUIIDE
- Backup And Recovery User's Guide-建立和更新增量備份-增量備份的目的GUIIDE
- Backup And Recovery User's Guide-建立和更新增量備份-增量更新備份GUIIDE
- 使用innobackupex線上增量備份和再增量備份及恢復mysql資料庫MySql資料庫
- Backup And Recovery User's Guide-RMAN備份概念-增量備份-增量備份演算法GUIIDE演算法
- oracle聯機熱備份的原理,及rman增量備份原理Oracle
- Oracle聯機熱備份的原理及rman增量備份原理Oracle
- oracle 增量備份恢復驗證Oracle
- Backup And Recovery User's Guide-建立和更新增量備份-進行增量備份GUIIDE
- 【MySql】innobackupex增量備份和恢復MySql
- HBase 增量備份和還原工具
- 【MySql】innobackupex 增量備份和恢復MySql
- MySQL 定時增量備份MySql
- rman增量備份指令碼指令碼
- 【MySql】innobackupex 增量備份的bugMySql
- Backup And Recovery User's Guide-建立和更新增量備份-規劃增量備份策略GUIIDE
- oracle10g RMAN增量備份策略Oracle
- LINUX下ORACLE增量備份的步驟LinuxOracle
- Backup And Recovery User's Guide-建立和更新增量備份-增量更新備份:基本例項GUIIDE
- mysqldump 全量和增量備份指令碼MySql指令碼
- 【RMAN】使用增量備份更新資料庫備份映象資料庫