Oracle Block Change Tracking功能

keeptrying發表於2012-06-06

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

incremental backup的目的是隻備份那些自上次備份以來發生過改變的block。然而,即使只有一小部分發生改變,incremental backup也要讀取完整的資料檔案。block change tracking功能解決了這個問題。它使用change tracking writerCTWR)後臺程式,在change tracking file檔案中,記錄所有資料庫中變化的物理位置。啟動block change tracking功能後,level 0級的incremental backup依然要掃描整個資料檔案,因為change tracking file還沒有對映到block的狀態。對於後續級別的incremental backupsRMAN使用change tracking data決定哪些需要讀取。通過消除對整個資料檔案的read,提高了效能。

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

l   Database sizein bytesRAC環境下,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是關閉的,因為它會引起很小一部分的效能開銷。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25744374/viewspace-732091/,如需轉載,請註明出處,否則將追究法律責任。

相關文章