AUD$ ve FGA_LOG$ tablolarını başka tablespace’e taşımak

AUD$ ve FGA_LOG$ tablolarını başka tablespace’e taşımak

AUD$ ve FGA_LOG$( fine-grained audit) tabloları default olarak system tablespace’inde oluşturulur,zamanla loglar şiştikçe system tablespacei büyüyecektir.Bu yüzden bu tabloları başka bir tablespace’e taşımak gerekir.

* Tablolar hangi tablespacede kontrol edelim.

SELECT table_name, tablespace_name FROM dba_tables
WHERE table_name IN ('AUD$', 'FGA_LOG$') ORDER BY table_name; 2
 
TABLE_NAME  TABLESPACE_NAME
------------------------------ ------------------------------
AUD$        SYSTEM
FGA_LOG$    SYSTEM

* Yeni Tablespace ekleyelim.

Tablolarımızı barındıracak yeni bir tablespace create edelim.Oluşturacağımız datafile’ın mevcut AUD$ ve FGA_LOG$ tablosunu alabilecek boyutta olduğuna emin olalım.(500 MB verdim)

Create tablespace tbs_audit datafile '/u01/app/oracle/oradata/testdb/tbs_audit1.dbf' size 500M autoextend on;
 
Tablespace created.

* AUD$, FGA_LOG$ Tablolarımızı move edelim.

A-) DBMS_AUDIT_MGMT paketi ile taşımak.(Oracle 11G R2 ile gelen özelliktir..)

BEGIN
DBMS_AUDIT_MGMT.set_audit_trail_location(
audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD, --AUD$ tablosu taşınır.
audit_trail_location_value => 'TBS_AUDIT');
END;
/
PL/SQL procedure successfully completed.
 
BEGIN
DBMS_AUDIT_MGMT.set_audit_trail_location(
audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_FGA_STD, --FGA_LOG$ tablosu taşınır.
audit_trail_location_value => 'TBS_AUDIT');
END;
/
PL/SQL procedure successfully completed.

B-) Alter table Move komutu ile taşımak.(11G R2 öncesi)

BEGIN
alter table sys.aud$ move tablespace tbs_audit;
alter table sys.aud$ move lob(sqlbind,sqltext) store as lobsegment (tablespace tbs_audit);
alter index SYS_IL0000000376C00041$$ rebuild online tablespace tbs_audit;
alter index SYS_IL0000000376C00040$$ rebuild online tablespace tbs_audit;
 
alter table sys.fga_log$ move tablespace tbs_audit;
alter table sys.fga_log$ move lob(sqlbind,sqltext) store as lobsegment (tablespace tbs_audit);
alter index SYS_IL0000000386C00028$$ rebuild online tablespace tbs_audit;
alter index SYS_IL0000000386C00013$$ rebuild online tablespace tbs_audit;
 
END;
/

* Tabloların yeni tablespacelerini kontrol edelim.

SELECT table_name, tablespace_name FROM dba_tables
WHERE table_name IN ('AUD$', 'FGA_LOG$') ORDER BY table_name; 2
 
TABLE_NAME    TABLESPACE_NAME
------------------------------ ------------------------------
AUD$              TBS_AUDIT
FGA_LOG$          TBS_AUDIT

Tagged: , , , , , , , ,

Bir cevap yazın

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