quinta-feira, 30 de junho de 2022

Oracle - Limpando tablespace SYSAUX

Olá Pessoal!
Em algumas situações nós DBA podemos identificar o crescimento repentino da tablespace SYSAUX, isso acontece as vezes por gerar arquivos maiores do AWR e mesmo com a retenção configurada, pode ser necessário aplicar a limpeza manual deixando com uma retenção menor.

Nesse exemplo, estamos com a retenção de 60 dias para os relatórios AWR, efetuaremos uma limpeza manual deixando apenas 30 dias para obter a redução e liberação de espaço na tablespace:

Então, vamos ao procedimento:

Consumo atual:




Verificando os objetos que estão ocupando espaço na tablespace, podemos ver que trata-se do AWR:

Query:

SELECT occupant_name,
 round( space_usage_kbytes/1024) " SPACE_MB",
 schema_name,
 move_procedure
 FROM v$sysaux_occupants
 ORDER BY 1;




Verificando os SNAPs do AWR para aplicarmos a remoção:

Query:

  SELECT snap_id, instance_number, begin_interval_time
     FROM SYS.WRM$_SNAPSHOT
   WHERE instance_number = 1
   order by 1;





Aplicando a limpeza de 30 dias de snaps do AWR:

Query:

 execute dbms_workload_repository.drop_snapshot_range( low_snap_id => 19614, high_snap_id=>19667);





Feito isso, o espaço na tablespace já estará liberado:




Verificando objetos que estão ocupando a tablespace SYSAUX:

SELECT occupant_name,
 round( space_usage_kbytes/1024) " SPACE_MB",
 schema_name,
 move_procedure
 FROM v$sysaux_occupants
 ORDER BY 1;