AUD$ ve FGA_LOG$ tablolarının tablespace değişimi
Audit kayıtları için kullanılan AUD$ ve FGA_LOG$ tabloları , varsayılan olarak SYSTEM tablo alanında yer almaktadır. SYSTEM tablo alanı manual segment space yönetimi olan bir tablodur. Bu da 12c veritabanlarında AUD$ tablosuna insert işlemlerinde sorun yaşmasına sebep olmaktadır. Ayrıca yoğun veritabanlarında gereksiz yere SYSTEM tabloalanının büyümesine sebep olacaktır.
Bu tabloların segment space management auto olan farklı bir tablo alanında yer alması önerilmektedir.
Aşağıdaki sorgu ile mevcut durumu görüntüleyebilirsiniz.
SQL> select ts.tablespace_name,t.table_name,ts.segment_space_management from dba_tables t, dba_tablespaces ts where ts.tablespace_name = t.tablespace_name and t.table_name in ('AUD$','FGA_LOG$');
TABLESPACE_NAME TABLE_NAME SEGMEN
----------------- --------------- ----------------
SYSTEM FGA_LOG$ MANUAL
SYSTEM AUD$ MANUAL
Aşağıdaki şekilde yeni bir tablo alanı oluşturup , bu iki tablonun tablo alanlarını değiştirebilirsiniz.
Yeni tablo alanı oluşturulması :
SQL> CREATE TABLESPACE TS_AUDIT DATAFILE '+DATA' SIZE 1G AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;
AUD$ tablosunun taşınması :
SQL> BEGIN
DBMS_AUDIT_MGMT.set_audit_trail_location(audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD,audit_trail_location_value => 'TS_AUDIT');
END;
/
FGA_LOG$ tablosunun taşınması :
SQL> BEGIN
DBMS_AUDIT_MGMT.set_audit_trail_location(audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_FGA_STD,audit_trail_location_value => 'TS_AUDIT');
END;
/