我們大家都知道Oracle 8.0已可以恢復管理(RMAN),可以說在一定程度上真正的實現了Oracle遞增備份。在RMAN開發之前,Oracle數據庫輸出也是能夠遞增進行,但一旦某個表的任何一塊發生改變,整個表都需要重寫。
RMAN遞增備份則僅需在給定的數據文件中重寫被修改的部分,由此可大大節約了空間。
然而在版本10g之前,遞增備份需要對整個數據文件進行掃描以確定哪些數據塊發生了改變。對於大型數據庫而言,盡管節約了空間,但其時間復雜度並不比完全備份好很多。
Oracle 8.0引進了恢復管理(RMAN),首次實現了真正的Oracle遞增備份。在RMAN之前,數據庫輸出也能夠遞增進行,但一旦某個表的任何一塊發生改變,整個表都需要重寫。RMAN遞增備份則僅需在給定的數據文件中重寫被修改的部分,由此可大大節約了空間。
然而在版本10g之前,遞增備份需要對整個數據文件進行掃描以確定哪些數據塊發生了改變。對於大型數據庫而言,盡管節約了空間,但其時間復雜度並不比完全備份好很多。
改變跟蹤技術(有時也稱塊改變跟蹤技術)通過在一個獨立的跟蹤文件中記錄發生改變的數據塊以解決上述問題,這些改變由一個後台進程實時地寫入文件。
最初的Oracle遞增備份仍需要進行一次完整的掃描。其後,備份時通過參考改變跟蹤文件,可以直接訪問需要備份的塊。
為了創建並激活改變跟蹤文件,首先確保數據庫是打開或可被訪問,然後運行如下數據庫改變(ALTER DATABASE)命令:
- ALTER DATABASE
- ENABLE BLOCK CHANGE TRACKING
- USING FILE ;
為改變跟蹤文件在操作系統中的存儲位置。(如果你激活了Oracle管理文件,則USING從句是可選的,改變跟蹤文件將創建於DB_CREATE_FILE_DEST目錄下。)
無論該文件的路徑位於哪個位置,其最初大小都是10MB,且根據需要每次增加10MB。
使用改變跟蹤技術將影響系統性能,因此除非你需要使用RMANOracle遞增備份功能,否則你最好將其設為不可用(缺省設置)。