Movendo AUD$ para fora da tablespace System
A tabela SYS.AUD$ guarda os procedimentos auditados no banco de dados e é consultada através da view DBA_AUDIT_TRAIL. E como toda tabela de auditoria, é comum haver uma manutenção para evitar o excesso de informação desnecessária ou o crescimento desordenado.
Tempos atrás fui incubido de executar a tarefa de mover a tabela de auditoria para fora da tablespace SYSTEM, e buscando no Metalink, encontrei o Doc ID 1019377.6 que é um script pronto para tal procedimento. Outros documentos foram importantes para dirimir dúvidas que surgiram enquanto estudava a respeito.
Procedimentos para executar essa tarefa
- Conectar no banco como usuário SYS
- Criar a nova tablespace
- Criar a nova tabela de auditoria
- Renomear as tabelas
- Criar o índice
Executando os procedimentos
- Conectar no banco como usuário SYS
sqlplus "/ as sysdba"
- Criar a nova tablespace
SQL> create bigfile tablespace AUDITORIA
2 datafile '/u01/oradata/auditoria.dbf'
3 size 10M autoextend on next 50M;
- Criar a nova tabela de auditoria
SQL> create table AUD_NEW tablespace AUDITORIA as
2 select * from AUD$ where 1 = 2;
- Renomear as tabelas
SQL> rename AUD$ to AUD_OLD;
SQL> rename AUD_NEW to AUD$;
- Criar o índice
SQL> create index I_AUD1 on AUD$(sessionid, ses$tid) tablespace AUDITORIA;
Exemplo de um script
Este é um exemplo de um script chamado mvaud.sql utilizando os procedimentos acima:
create bigfile tablespace AUDITORIA
datafile '/u01/oradata/auditoria.dbf'
size 10M autoextend on next 50M
/
create table AUD_NEW tablespace AUDITORIA as
select * from AUD$ where 1 = 2
/
rename AUD$ to AUD_OLD
/
rename AUD_NEW to AUD$
/
create index I_AUD1 on AUD$(sessionid, ses$tid) tablespace AUDITORIA
/
Para usar este script, executa o seguinte:
sqlplus "/ as sysdba" @mvaud.sql
Concluindo
É recomendado agendar uma janela, pequena, para efetuar essa tarefa, para evitar que registros de auditoria sejam executados enquanto o processo está em execução, evitando possíveis erros.
Tarefa concluída
[]s
Eae Braga,
Legal o artigo cara, só não esquece de citar essa parte aqui:
—Restart the database with audit_trail=NONE before running the script —
Achei legal esse note tb, vale citar..
Can’t Move Table SYS.AUD$ To Another Tablespace [ID 1327214.1]
Ficou legal, valew por compartilhar
Abs
Victor
Olá Victor,
Valeu pela dica. Está registrada!
[]s
Braga