DB:
Oracle RAC Database Release 11.2.0.4.0
Eu quero reduzir a tabela SYS.AUD$. Alguns registros foram deletados mas a tabela ainda tem cerca de 25GB. Li que é necessário mover o segmento AUD$ para outro tablespace usando o pacote dbms_audit_mgmt.
begin
dbms_audit_mgmt.set_audit_trail_location(
audit_trail_type => dbms_audit_mgmt.audit_trail_aud_std,
audit_trail_location_value => 'AUDTBS');
end;
Então:
alter table sys.aud$ enable row movement;
alter table sys.aud$ shrink space cascade;
alter table sys.aud$ disable row movement;
Minhas perguntas são:
- Este "dbms_audit_mgmt.set_audit_trail_location" é uma operação ONLINE?
- Depois disso, devo mover a tabela aud$ de volta para o espaço de tabela SYSTEM?
Obrigado pessoal
Onde você 'leu' que o procedimento que você afirma é necessário para diminuir a tabela?
Sim, você deve usar dbms_audit_mgmt para realocar sua tabela de auditoria fora do espaço de tabela SYSTEM ou SYSAUX. Não para diminuir a tabela, mas porque essa é a melhor prática.
É uma operação online? O que o doutor diz?
Você deve movê-lo de volta para o SYSTEM TS? Não.
Além disso, ao considerar a redução da tabela, você precisa lembrar que o espaço liberado pela exclusão de linhas ainda é alocado para a tabela e será reutilizado por inserções futuras. A menos que uma exclusão seja uma limpeza única e uma redução permanente no número de linhas, uma tabela de redução é pior do que um esforço desperdiçado porque inserções futuras apenas incorrerão em sobrecarga adicional para readquirir o espaço necessário.
Mas lembre-se, realocar a tabela em seu próprio TS é apenas um bom gerenciamento, independentemente de reduzir a tabela.
Além disso, você afirma que está em 11.2.0.4. Isso está sem suporte e já passou da hora de atualizar.