Oracle Block Change Tracking功能(轉)


通過使用block change tracking功能,可以提高Oracle incremental備份進程的效率。

incremental backup的目的是只備份那些自上次備份以來發生過改變的block。然而,即使只有一小部分發生改變,incremental backup也要讀取完整的數據文件。block change tracking功能解決了這個問題。它使用change tracking writer(CTWR)后台進程,在change tracking file文件中,記錄所有數據庫中變化的物理位置。啟動block change tracking功能后,level 0級的incremental backup依然要掃描整個數據文件,因為change tracking file還沒有映射到block的狀態。對於后續級別的incremental backups,RMAN使用change tracking data決定哪些需要讀取。通過消除對整個數據文件的read,提高了性能。

change tracking files初始化配置以后,通常不需要維護,在執行incremental backup時,命令和未配置時一樣。block change tracking file的大小和下列成比例:

l Database size,in bytes。RAC環境下,the number of enabled threads。

l The number of old backups maintained by the block change tracking file.

 

 

開啟block change tracking:

如果設置了DB_CREATE_FILE_DEST參數,也即創建了Oracle-managed file。可以使用下面的命令啟用/關閉block change tracking:

SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING;

SQL> ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;

 

如果未設置DB_CREATE_FILE_DEST參數,則要使用USING FILE語句為tracking file指定用戶定義的目錄路徑和文件名:

SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING

2> USING FILE ‘...’

3> REUSE;

 

 

通過視圖V$BLOCK_CHANGE_TRACKING可以查看當前block change tracking的配置情況。

 

默認情況下,change tracking是關閉的,因為它會引起很小一部分的性能開銷。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM