› Fóruns › Banco de dados Oracle › Fragmentação tablespace SYSTEM › Fragmentação tablespace SYSTEM
Marcelo,
Essa é uma ótima pergunta que eu não tenho certeza da resposta. Já pesquisei antes sobre isso e tudo o que encontrei indicava que não havia um caminho simples, como o SHRINK que vc citou, para desfragmentar o tablespace SYSTEM. De qq forma, para evitar a fragmentação excessiva do SYSTEM, é uma boa prática criar um novo tablespace para a tabela AUD$, como no exemplo abaixo, que mostro nos treinamentos Performance Tuning for Oracle DBAs:
-- CRIANDO tablespace AUDSYS
create tablespace teste datafile '/tmp/teste.dbf' size 100M
AUTOEXTEND ON NEXT 1G MAXSIZE UNLIMITED
extent management local -- Locally managed
segment space management auto -- ASSM
;
-- movendo AUD$ para tablespace AUSYS
BEGIN
DBMS_AUDIT_MGMT.set_audit_trail_location(
audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD,
audit_trail_location_value => 'AUDSYS');
END;
/
-- movendo FGA_LOG$ para tablespace AUSYS
BEGIN
DBMS_AUDIT_MGMT.set_audit_trail_location(
audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_FGA_STD,
audit_trail_location_value => 'AUDSYS');
END;
/
-- limpando registros de auditoria obsoletos,
BEGIN
DBMS_AUDIT_MGMT.init_cleanup(
audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_ALL,
default_cleanup_interval => 262800 /* 1 ano em horas */);
END;
/
[]s
Fábio Prado
http://www.fabioprado.net