Gerenciando retenção de traces usando o ADRCI – Oracle 11g

É comum nos depararmos com ambientes que possuem uma geração excessiva de traces e consequentemente demandam de intervenção para a limpeza dos mesmos, com intuito de liberar espaço em disco.
Não vou entrar no mérito de identificar o motivo da geração excessiva de traces neste post e sim, em como facilitar a vida do DBA com o processo de limpeza dos mesmos.
Na versão 11g foi introduzido o Automatic Diagnostic Repository (ver post Utilizando o Automatic Diagnostic Repository). Com ele foi introduzido um mecanismo de remoção automática dos arquivos de trace, dump e incidente controlado através do ADRCI (ADR Command Interpreter), um utilitário via linha de comando que permite gerenciar o dados do ADR.
Existem 2 parâmetros que são responsáveis pela retenção dos arquivos de trace e dump:
  • SHORTP_POLICY: Por padrão é definido como 720 horas (30 dias).  Este parâmetro é responsável pela retenção dos arquivos de traces (trc, trm, etc)
  • LONGP_POLICY: Por padrão é definido como 8760 horas (1 ano). Ele é responsável pela retenção dos arquivos de incidentes.
Para alterar a retenção é preciso conectar no adrci e usar o comando set control. Para cada home é possível definir uma retenção distinta.

Afim de identificar os homes existentes, podemos usamos o comando show home.
adrci> show home
ADR Homes:
diag/tnslsnr/lamim/listener
diag/clients/user_oracle/host_3901206267_80
diag/rdbms/lamimtst1/lamimtst1
diag/rdbms/lamimtst2/lamimtst2
Abaixo vamos definir o home ao qual definiremos a retenção
adrci> set home diag/rdbms/lamimtst2/lamimtst2
Vou alterar a retenção do SHORTP_POLICY para 7 dias (168 horas) e do LONGP_POLICY para 30 dias (720 horas).:
adrci
ADRCI: Release 11.2.0.4.0 - Production on Thu Nov 21 22:26:22 2013
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
ADR base = "/oraprd01/oracle/app"
adrci> show control
ADR Home = /oraprd01/oracle/app/diag/rdbms/dbtrn/dbtrn:
*************************************************************************
ADRID SHORTP_POLICY LONGP_POLICY LAST_MOD_TIME LAST_AUTOPRG_TIME LAST_MANUPRG_TIME ADRDIR_VERSION ADRSCHM_VERSION ADRSCHMV_SUMMARY ADRALERT_VERSION CREATE_TIME
-------------------- -------------------- -------------------- ---------------------------------------- ---------------------------------------- ---------------------------------------- -------------------- -------------------- -------------------- -------------------- ----------------------------------------
1636358367 720 8760 2013-10-08 18:02:12.049001 -03:00 2013-11-19 00:04:32.677483 -02:00 1 2 80 1 2013-10-08 18:02:12.049001 -03:00
1 rows fetched
adrci> set control(SHORTP_POLICY = 168);
adrci> set control (LONGP_POLICY = 720);
adrci> show control
ADR Home = /oraprd01/oracle/app/diag/rdbms/dbtrn/dbtrn:
*************************************************************************
ADRID SHORTP_POLICY LONGP_POLICY LAST_MOD_TIME LAST_AUTOPRG_TIME LAST_MANUPRG_TIME ADRDIR_VERSION ADRSCHM_VERSION ADRSCHMV_SUMMARY ADRALERT_VERSION CREATE_TIME
-------------------- -------------------- -------------------- ---------------------------------------- ---------------------------------------- ---------------------------------------- -------------------- -------------------- -------------------- -------------------- ----------------------------------------
1636358367 168 720 2013-11-21 22:31:02.110317 -02:00 2013-11-19 00:04:32.677483 -02:00 1 2 80 1 2013-10-08 18:02:12.049001 -03:00
1 rows fetched

Também é possível realizar a limpeza pelo adrci sem alterar a retenção, usando o comando:
purge -age <valor_em_minutos> -type <tipo>
adrci> purge -age 2880 -type incident
adrci> purge -age 2880 -type ALERT
adrci> purge -age 2880 -type TRACE
adrci> purge -age 2880 -type CDUMP
adrci> purge -age 2880 -type HM
Vale destacar que após ajustar a retenção é necessário executar o comando purge para ativar o processo de autopurge. Este processo deve ser definido para cada home.
>adrci> purge
>adrci>
SHARE

Jhonata Lamim

  • Image
  • Image
  • Image
  • Image
  • Image