Block Change Tracking ile incremental yedeklerin hızlandırılması
10G ile gelen özelliklerden biri olan Block Change Tracking ile incremental yedeklerin çok daha kısa sürede bitmesini sağlayabilirsiniz. Bu özellik ile değişen blokların kayıtları tutulmaktadır. Bu sayede yedekleme sırasında hangi blok değişti diye kontrol etmeden yedek alınmaktadır. Bu da çok ciddi zaman kazanımı anlamına geliyor.
Değişen blokların takibi Change Tracking Writer (CTWR) background prosesi ile yapılmaktadır. Block Change Tracking aktifleştirildiğinde CTWR prosesi de çalışmaya başlayacaktır.
Bir data bloğunda commit işlemi olduğunda , block değişim bilgisi , large pool içerisindeki CTWR buffer denilen alana kopyalanır. Checkpoint işleminde , CTWR prosesi , CTWR buffer alanındaki bilgileri BCT aktifleştirilirken belirttiğimiz dosyaya yani change tracking dosyasına yazar.
Deneyimlerime dayanarak söyleyebilirim ki ,11 saat süren bir yedekleme işlem süresi 50 dakikaya inebiliyor.
Bu özelliği kullanabilmek için aşağıdaki şekilde aktifleştirmek gerekiyor. Komuttaki “REUSE” , dosya daha önceden kullanıldıysa , yeniden kullanabilmemizi sağlıyor.
SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '+RECO/ORCL/block_change_tracking.dat' REUSE; Database altered.
Mevcut durumu sorgulamak için aşağıdaki sorgu kullanılabilir .
SQL> SELECT status, filename FROM V$BLOCK_CHANGE_TRACKING; STATUS ------------------------------ FILENAME -------------------------------------------------------------------------------- ENABLED +RECO/orcl/block_change_tracking.dat
Bu özelliği kapatmak için ise aşağıdaki komut yeterli olacaktır.
SQL> alter database disable block change tracking; Database altered.