Merhaba Arkadaşlar,

Bu yazımda sizlere Oracle da Audit tabloları SYS.aud$ ve SYS.fga_log$ tablolarının farklı bir tablespace e taşınmasını anlatacağım.

audit

Oracle Kullanıcıların database üzerinde yapmış olduğu hareketleri talep edildiği zaman ya işletim sistemi üzerindeki audit dosyalarına yada veritabanında Audit tablolarına kaydeder. Bu genelde denetlenmeye ihtiyaç duyulan tablolar üzerinde gerçekleştirilen bir aksiyondur. Örneğin; Şirketlerin İnsan Kaynakları uygulamasının veritabanında Personel Maaşlarını tutan tablo çok özeldir. Herkesin girip görmemesi gereklidir bu tip tablolara denetim koyulabilir hangi kullanıcıların Maas kolonunu sorguladığını öğrenebiliriz.

Auditing i kısaca açıkladıktan sonra veritabanında System tablespace i üzerindeki Audit tablolarının Default tablespace lerinin nasıl değiştirileceğine bakalım. Öncellikle bu tabloların hangi tablespace de olduklarını aşağıdaki gibi sorgulayla öğrenebiliriz.

SQL> Select table_name, tablespace_name from dba_tables where table_name in ('AUD$', 'FGA_LOG$');

TABLE_NAME                            TABLESPACE_NAME
------------------------------------------------------------------------

AUD$                                            SYSTEM
FGA_LOG$                                   SYSTEM

 

Yukardaki sorgudada görüldüğü gibi default olarak Audit tablolarımız system tablespace i üzerindedir. Bu tabloların tablespace lerini değiştirmek için Oracle bize DBMS_AUDIT_MGMT paketini sunmaktadır. Bu paketin SET_AUDIT_TRAIL_LOCATION prosedürünü kullanarak önce SYS.aud$ sonra SYS.fga_log$ tablolarını aşağıdaki gibi DATA tablespace ine yada siz isterseniz farklı bir tablespace e taşıyabilirsiniz.

 SQL> BEGIN
 DBMS_AUDIT_MGMT.set_audit_trail_location(
 audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD,
 audit_trail_location_value => 'DATA');
END;
SQL> BEGIN
 DBMS_AUDIT_MGMT.set_audit_trail_location(
 audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_FGA_STD,
 audit_trail_location_value => 'DATA');
END;
Yukardaki kodları başarılı bir şekilde çalıştırdıktan sonra ilgili tabloların tablespace lerini tekrar sorguladığımızda aşağıdaki gibi Tablespace lerin değiştiğini görebiliriz.
SQL> Select table_name, tablespace_name from dba_tables where table_name in ('AUD$', 'FGA_LOG$');

TABLE_NAME                            TABLESPACE_NAME
------------------------------------------------------------------------

AUD$                                            DATA
FGA_LOG$                                  DATA
Böylece ihtiyaç duyulduğu zaman Audit tablorının tablespace lerini yukardaki komutlarla taşımış olduk bir sonraki yazıda görüşmek dileğiyle Esen Kalın.
Mehmet Salih Deveci
Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s