quinta-feira, 7 de maio de 2015

ADRCI - Como Otimizar a Utilização de Espaço Causado pelos Logs e Traces? - PARTE II





Olá pessoal estamos de volta para continuarmo nosso bate-papo sobre os tão famosos arquivos de log's do Oracle e suas implicações. 

Recapitulando um pouco, no primeiro artigo nós identificamos a estrutura dos arquivos gerados em nossos servidores, utilizamos um pouco de conceito do fabricante para entender exatemente do que se tratam os arquivos de log de diagnóstico e agora iremos entender melhor , quem são, como apaga-los e como controlar essa multiplicação de arquivos através do ADRCI

IDENTIFICANDO OS MAIORES DIRETÓRIOS DE LOGS.

É muito comum quando esses arquivos gerados exponencialmente e até então sem controle prévio nosso, começarem a gerar um certo desconforto para a administração, pois como são arquivos fisicos eles ocupam espaço, que por sua vez irão se acumulando e cada vez mais necessitando de mais espaço. DEVO GUARDA-LOS? Isso tudo depende, esses arquivos são mais utilizados para diagnosticar problemas com maior riqueza de detalhes ou então são solicitados pelo suporte Oracle para que possa identificar melhor qualquer eventual chamado que possamos necessitar abrir. Guarda-los depende só da politica de armazenamento de cada lugar, você pode muito bem gerar um arquivo do tipo TAR com todos os logs, compacta-los e guardar em fita de backup para depois remove-los, seria uma espécie de cópia de segurança caso fosse futuramente solicitado.

Eu no entanto removo sem backupea-los, pois não tenho um volume consideravel para poder mante-los por longos periodos em meu servidor, neste ambiente de teste até tenho pois não é transacional, mas com certeza muitos de vocês já tiveram problemas semelhantes de falta de espaço.

Vejam :





No meu caso tenho aqui o diretório de traces ocupando um espaço maior que os demais, utilizei o comando linux "du -sh *" que irá me mostrar de todos os diretórios o quanto cada um está consumindo. Notem que acima eu estou dentro do diretório de diagnostico do meu ambiente "$ORACLE_BASE/diag/rdbms/[db_name]/[instance_name]/". Pois bem, agora então vamos checar em como está nossa politica de retenção para este ambiente :

Não sei se alguns de vocês já teve a curiosidade ou sequer se perguntou se não havia uma forma de controlar o tempo de retenção destes arquivos, por padrão a Oracle determina que esses valores de SHORTP_POLICY e LONGP_POLICY tenham respectivamente 10 dias e 1 ano para os tipos.




QUAIS ARQUIVOS PERTENCEM A ESSES TIPOS?

Foi quando me deparei com essas informações que até então eram "grego" para mim, que fui buscar o conhecimento para entender melhor tudo isso que o comando "SHOW CONTROL" me mostrava, e descobri que :

LONGP_POLICY : é utilizada para expurgar arquivos de longa duração. Por padrão são 365 dias de armazenamento.

Esta politica é usada para os arquivos de :



  • ALERT
  • INCIDENT
  • SWEEP
  • STAGE
  • HM

SHORTP_POLICY  : claro que este é o oposto do anterior,são para os arquivos de menor duração.Padrão é  30 dias. Utilizada para os arquivos do tipo descritos abaixo :


  • TRACE
  • CDUMP
  • UTSCDMP
  • IPS
O que isso significa então? Significa que, se não forem alteradas as politicas os arquivos serão mantidos ali por dias meses e anos sem fim e sem o menor fundamento, pois não acredito que em dezembro de um ano qualquer alguem peça um log gerado em Janeiro daquele mesmo ano, muitissimo improvavel.

COMO FAÇO PARA ALTERAR ESSAS POLITICAS

Pois muito que bem, diante dessas informações e com respaldo do MOS ( My Oracle Support) apoiado na documentação oficial e nos DOC Id's de números :

975448.1
564269.1

Que podem ser encontrados na página do My Oracle Support, eu encontrei o comando para alteração, chama-se SET CONTROL, onde para aplica-lo você deve proceder da seguinte forma :

set control ( SHORTP_POLICY = dias de retenção)
set control (LONGP_POLICY = dias de retenção)

 Pronto, temos nossas politicas de retenção alteradas e aplicadas. E agora podemos nos preocupar com menos este problema, é claro que isso é administração pura de ambientes, nada além disso, sugiro que apliquem e monitorem, obviamente a remoção manual destes arquivos não gera prejuizos até então para o funcionamento do banco de dados, se você entrar no diretório de traces, de incident e de alert e remove-los simplesmente, isso não irá parar seu sistema. Contudo essa forma de administração é mais segura e mais eficaz, pois atacamos a causa do problema, sugiro á vocês que após isso façam um PURGE e acompanhem e vejam se o comportamento muda.

Obrigado á todos pela atenção, espero que tenham gostado e até a próxima.

SUCESSO Sempre!!!