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