Veritabanındaki tüm DDL işlemlerinin izlenmesi

24 Eki by Ahmet Duruöz

Veritabanındaki tüm DDL işlemlerinin izlenmesi

Veritabanındaki nesneler üzerinde yapılan yapısal değişiklikleri , veritabanı yada şema genelinde izlemek mümkündür. Bu sayede nesnelerdeki tüm yapısal değişiklikleri izleyip, bir sorun anında eski halini yeniden oluşturabiliriz.

İzleme , trigger’lar ile yapılmaktadır. İlgili trigger , bir ddl işlemi sonrasında , talep edilen bilgileri bir tabloya yazabilir. 

Aşağıdaki şekilde bir tablo ve trigger oluşturup, veritabanındaki tüm ddl işlemlerini takip edebiliriz.

Tablo oluşturulması : 

 

 

Trigger oluşturulması :

Aşağıdaki trigger tüm veritabanı seviyesindeki ddl işlemlerini takip edecektir. Eğer trigger’daki “on database” yerine “on schema” yazılırsa , sadece trigger’ı oluşturan kullanıcının ddl işlemlerini kayıt edecektir.

Yukarıdaki işlemler ile 11g ve öncesindeki veritabanlarında ddl işlemlerinin izlenmesi mümkündür. 12c ile gelen yeni bir özellik ile bu işlemlere gerek olmadan da ddl işlemlerini izlemek mümkündür.

 12c ile birlikte ENABLE_DDL_LOGGING parametresi enable edilerek log ve xml dosyası olarak $ORACLE_BASE/diag/rdbms/DBNAME/SID/log/ddl dizini altında loglanabiliyor.

Aşağıdaki şekilde ENABLE_DDL_LOGGING  parametresinin değişimi yapılabilir.

Parametre değişimi sonrasında ilk ddl işleminde $ORACLE_BASE/diag/rdbms/DBNAME/SID/log/ddl dizini altında log.xml şeklinde bir dosya oluşturulup bu dosyay tüm ddl işlemleri aşağıdaki gibi yazılmaktadır.

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Lütfen captcha kodunu giriniz *

Lütfen Resimdeki Kodu Boşluğa Giriniz.