完整、增量或差異備份?
使用 RMAN,我的數據庫每天使用類似於此的命令備份一次
backup incremental level 1 cumulative [...] database include current controlfile spfile
在恢復目錄數據庫中,我可以看到這樣的備份作業之一
DB_KEY DB_NAME SESSION_KEY COMMAND_ID START_TIME END_TIME INPUT_BYTES OUTPUT_DEVICE_TYP STATUS INPUT_TYPE ELAPSED_SECONDS ---------- -------- ----------- ----------------------- ------------------- ------------------- ----------- ----------------- ------------- ------------- --------------- xxxxxxx dbname xxxxxxx 2016-11-12T05:03:21 12.11.2016 05:02:28 12.11.2016 05:03:21 862159354 SBT_TAPE COMPLETED DB INCR 53
在表 rc_backup_piece_details 中有五個條目與此備份作業的會話 ID
SESSION_KEY DB_NAME DB_KEY BP_KEY B INCREMENTAL_LEVEL DEVICE_TYPE START_TIME COMPLETION_TIME ELAPSED_SECONDS S BYTES ----------- -------- ---------- ---------- - ----------------- -------------------- ------------------- ------------------- --------------- - ---------- xxxxxxx dbname xxxxxxx 1000001 I 1 SBT_TAPE 12.11.2016 05:03:14 14.11.2016 05:03:15 1 A 423549 xxxxxxx dbname xxxxxxx 1000002 I 1 SBT_TAPE 12.11.2016 05:03:05 14.11.2016 05:03:11 6 A 862156486 xxxxxxx dbname xxxxxxx 1000003 D SBT_TAPE 12.11.2016 05:03:16 14.11.2016 05:03:17 1 A 45324586 xxxxxxx dbname xxxxxxx 1000004 I 1 SBT_TAPE 12.11.2016 05:02:30 14.11.2016 05:03:01 31 A 256422458 xxxxxxx dbname xxxxxxx 1000005 I 1 SBT_TAPE 12.11.2016 05:03:13 14.11.2016 05:03:14 1 A 45624595
如您所見,有一個備份件,其中D作為備份類型。在Oracle 文件中,我發現以下內容:
備份的類型。可能的值是 D 表示數據文件或控製文件備份,I 表示增量備份,L 表示歸檔日誌文件備份
這是否意味著在這些備份片段中存在一個數據文件或控製文件的增量備份?
如果是這種情況,那麼我想知道為什麼這只發生在這個特定的數據庫中。所有其他數據庫也備份
include current controlfile spfile
。該數據庫與其他數據庫的不同之處在於大多數其他數據庫都有備份
incremental level=0
。那麼可能有區別嗎?編輯:那麼,如果備份類型
D
不是增量備份,那麼為什麼這個備份片段包含在 backob 作業中input_type = 'DB INCR'
?並且 rman 命令的哪一部分會觸發此數據文件備份,如果是,include current controlfile spfile
那麼為什麼會有D
任何其他數據庫的備份類型的備份片段?
這是否意味著在這些備份片段中存在一個數據文件或控製文件的增量備份?
不,備份類型是
D
指它是數據文件或控製文件的備份,但它不是增量備份(用NULL
for表示INCREMENTAL_LEVEL
)。其他備份是
D
作為這些增量備份基礎的備份類型的差異增量備份。該數據庫與其他數據庫的不同之處在於,其他大多數數據庫的備份增量級別=0。那麼可能有區別嗎?
增量級別 0 和增量級別 1 累積是不同類型的備份,因此存在差異。
增量備份可以是級別 0 或級別 1。級別 0 增量備份是後續增量備份的基礎,它複製所有包含數據的塊,將數據文件備份到備份集中,就像完整備份一樣。0 級增量備份和完整備份之間的唯一區別是完整備份永遠不會包含在增量策略中。
更多資訊:RMAN 增量備份
為了進行增量備份,您必須對要應用增量的數據文件進行完整備份
BACKUP 命令中的每個數據文件都必須存在 0 級備份,作為增量策略的基礎備份。0 級備份的狀態不得為 UNAVAILABLE。如果不存在 0 級備份,則 RMAN 會自動進行 0 級備份。
https://docs.oracle.com/database/121/RCMRF/rcmsynta006.htm#RCMRF107