RMAN一個強大的功能是支持增量備份,增量備份中心思想就是減少備份的數據量,我們不需要在從頭開始備份了,只需要備份自上次已備份之后的數據塊即可。
Oracle 9i 共有五種級別 0 1 2 3 4,0級最高-4級最低,0級是1級的基礎以此類推。
Oracle 10g官方文檔明確指出增量備份只有0和1兩種級別(太多增量級別其實沒有太大的意義),不過實際執行增量操作時,仍然能夠指定多個級別,最大能夠支持4級增量備份。
Oracle 11g 增量備份只有0和1兩種級別。
Oracle 10g官方文檔明確指出增量備份只有0和1兩種級別(太多增量級別其實沒有太大的意義),不過實際執行增量操作時,仍然能夠指定多個級別,最大能夠支持4級增量備份。
Oracle 11g 增量備份只有0和1兩種級別。
Level 0級就是對數據庫一個全庫備份,增量備份必須從0級開始,也就是說必須要有一個全庫備份當基礎。如果你做全庫備份oracle也不認為這是level 0的全庫備份,盡管是一樣的也要單獨做一次level 0。有了level 0當基礎才能有后面的 level 1 level 2 level 3 level 4。。
增量備份原理
每一個數據塊上都包含一個SCN,SCN可以標示最近一次對於Block的變更。在增量備份的過程中,RMAN讀取每一個數據塊的SCN與之前備份的SCN相比較,從而判斷出Block是否發生了變化,然后根據此進行備份。但是需要注意的是,在早期版本,即使是數據塊只有小的變化,RMAN掃描的時間也可能會極其漫長。Oracle 10g引入了Block Change Tracking特性解決了這一問題。

Oracle的增量備份分為差異增量備份(Differential Incremental Backup)和積累增量備份(Cumulative Incremental Backup)兩種 。
差異增量備份(Differential Incremental Backup)
差異備份是RMAN生成的增量備份的默認類型。對於差異備份來說,RMAN會備份自上一次同級或低級差異增量備份以來所有發生變化的數據塊。
例如:我們在星期天執行0級差異增量備份操作,這個備份操作會備份整個數據庫。根據這個0級備份,我們在星期一執行1級差異增量備份操作。該備份操作將備份自周日0級備份以來所有發生變化的數據塊。在周二時1級增量備份將備份所有自周一1級備份以來發生變化的數據塊。如果要執行恢復操作,就需要星期一、星期二生成的備份以及星期天生成的基本備份。下面是一個執行1級差異增量備份操作的示例:
backup incremental level=1 database;

累計增量備份(Cumulative Incremental Backup)
累計增量備份是指備份自最近的級別0備份以來所變化的數據塊。累積增量備份能減少恢復時間。
例如:我們在星期天執行0級差異增量備份操作,此時會備份整個數據庫。隨后,我們星期一執行1級備份操作,這種備份不同於差異備份,在星期二進行另一個1級差異備份操作。需要注意的是:星期二生成的備份不僅包含星期一的差異備份以后發生變化的數據塊,而且還含有星期一生成的備份中所包含的數據塊。因此,累積備份累積了任何同級或低級增量備份操作包含的所有發生變化的數據塊。如果要執行恢復操作,就只需要星期二生成的備份以及星期天生成的基本備份。
下面是一個執行1級累積增量備份操作的示例:
backup incremental level=1 cumulative database;
backup incremental level=1 cumulative database;

Differential Incremental Backup vs Cumulative Incremental Backup

Differential backups 速度較快、因為僅存儲少量變化的塊、但需要更長的時間來恢復.
Cumulative backup 的主要優勢是恢復時間較短、缺點是備份時間長和磁盤開銷大.