AUD$ ve FGA_LOG$ tablolarının tablespace değişimi

13 May by Ahmet Duruöz

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;
/

Loading

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir