13 Mart 2009 Cuma

Oracle Block change tracking

Oracle 10g ile gelen yeni ve kullanışlı bir özellik.
Normal şartlarda RMAN incremental backup alırken RMAN tüm blokları tarayarak bir önceki backuptan sonra bloğun değişip değişmediğine bakar ve eğer değişmişse yedeğini alır.
Burada en büyük zaman kaybına sebep olan şey RMAN ın bir bloğun değişip değişmediğini
anlaması için tüm blokları taramak zorunda kalmasıdır.

10g ile gelen bu yeni özellik ile blok değişimleri bir tracking file da tutulur.
Böylece RMAN sadece bu dosyayı inceleyerek yedek alması gereken bloklara karar verir ve tüm blokları okumak zorunda kalmaz. Bu şekilde backup zamanından ciddi anlamda kar edebiliriz.

Block tracking file tek bir dosyadır.
Default olarak DB_CREATE_FILE_DEST altında tutulur. İstenirse farklı bir lokasyonda saklanabilir.
RAC database için tracking file ortak storage üzerinde olmalıdır.

--baslatmak icin

SQL> alter database enable block tracking file;

--default lokasyonda bir tracking file açar

SQL> alter database enable block tracking using file '/disk/filename.f' reuse;

--belirttiğimiz lokasyonda tracking file açar. resuse parametresi mevcut dosyayı ezer.


--Block change tracking disable etmek için

SQL> alter database disable block change tracking;


Block change tracking disable edildiği zaman o ana kadar alınan incremental backuplar
geçersiz olur yeniden Level 0 backup alınması gerekir.

Tracking file başka bir lokasyona taşınabilir. Bunun için

1- database kapatılır

SQL> Shutdown immediate;

2- dosya fiziksel olarak yeni lokasyonuna taşınır.

cp old_file new_file

3- database mount modda açılır, dosya rename edilir ve database açılır

SQL> startup mount;
SQL> ALTER DATABASE RENAME FILE 'ora_home/dbs/change_trk.f' TO '/new_disk/change_trk.f';
SQL> alter database open;

Database açıkken de tracking disable edilip yeni lokasyonda tracking açılabilir. fakat
bu durumda önceki backuplar geçersiz olur.

teşekkürler.

Hiç yorum yok:

Yorum Gönder