Como o Oracle Trace File Analyzer (TFA) funciona

Por Rogerio Eguchi
Publicado en setembro 2017

 

Revisado por Luciano Verissimo.

O Oracle Trace File Analyzer é uma ferramenta que busca auxiliar/agilizar a árdua tarefa de coleta e análisede logs pelo DBA e/ou Oracle Suporte.

O que o TFA faz

  • Disponibiliza uma interface única para coleta e análise de logs necessários à um diagnóstico.
  • Coleta todos os logs referentes a um problema, na data/horário em que ocorreram ou especificados pelo usuário.
  • Coleta dados de um cluster e disponibilizá-lo em um único lugar.

Coleta automática

O TFA possui uma coleta automática, que fica ativa por padrão, e monitora seus logs e pesquisar por problemas.

Quando um evento for detectado, o TFA coletará e guardará em seu repositório todos os logs necessários para análise do problema. Os logs poderão ser posteriormente acessados pelo DBA para análise e, caso necessário, poderão ser utilizados para a abertura de chamado no suporte.

Esta é a representação gráfica da coleta automática:

01

Alert Logs monitorados: DB, ASM, ASM Proxy, ASM IO Server, CRS

A coleta é disparada quando os erros abaixo são detectados no AlertLog:

  • ORA-297(01|02|03|08|09|10|40)
  • ORA-00600
  • ORA-07445
  • ora-04(69|([7-8][0-9]|9([0-3]|[5-8])))
  • ORA-32701 ORA-00494
  • System Statedumped
  • CRS-016(07|10|11|12)

Você pode desativar ou ativar a coleta automática executando:

tfactl set autodiagcollect = < ON|OFF >

Coleta sob demanda

Você pode executar o TFA sob demanda via linha de comando, executando a ferramenta tfactl em modo shell.

O comando tfactl pode executar o diagnóstico usando uma série de ferramentas. Se mesmo assim você precisar coletar logs para diagnóstico, use o tfactl para iniciar uma coleta. TFA coletará os logs relevantes no horário que você especificar.

Esta é a representação gráfica da coleta manual:

02

Exemplo: tfactldiagcollect

03

As últimas 12h de todos os logs serão coletados e armazenados no repositório.

Você pode utilizar a opção –lasth|de rodar uma coleta com dia/horário específicos:

Exemplo: Coleta de logs da última hora.

04

Notificação via e-mail

Você pode configurar a notificação de problemas via e-mail.

Exemplo: tfactl set notificationAddress=rogerio.eguchi@gmail.com

As seguintes plataformassão suportadas:

  • Linux (OEL, RedHat, SUSE, Itanium &zLinux)
  • Oracle Solaris (SPARC & x86-64)
  • AIX
  • HPUX (Itanium& PA-RISC)
  • Microsoft Windows (64bit)

JRE 1.8 (já incluído na instalação) é necessário.

O TFA suporta Oracle e Grid, versão 10.2 ou superior. Lembrando que o TFA já é instalado por padrão nas instalações Grid Infrastructureversões 11.2.0.4 e 12.1.0.2.

Como o TFA funciona

TFA executa um daemon em cada nó do cluster (ou single Instance se não for uma instalação Grid)

O tfactl se comunica com o daemon e o daemon coordena as execuções em todos os nós do cluster. Em cada nó do cluster o daemon se encarrega da execução dos scripts, coleta e redução dos logs e conteúdo.

O resultado de uma coleta nocluster é então consolidada no nó que originou a execução.

Esta é a representação gráfica do processo de coleta:

05

Como instalar o TFA

Entre no MOS e baixe a última versão do TFA buscando pelo patch 21757377.

06

Copie para seu servidor e descompacte.

07

Execute a instalação, preferencialmente como root. Se isso não for possível, utilize o usuário utilizado para instalar o Oracle.

Execute: ./installTFA- para instalar o TFA.

O processo de instalação descobrirá os nós do cluster e instalará o TFA em todos os nós encontrados. O TFA será configurado em modo Daemon, permitindo coletas automáticas. Se a instalação for realizada por um usuário não root, o TFA não executará como um Daemone ficará limitado a coletas sob demanda.

Exemplo de instalação via root em servidor não cluster:

08

09

Para checar o status do TFA, executeo comando: tfactl status:

10

Para iniciar o TFA Daemon, execute o comando: tfactl start

11

Para pararo TFA Daemon, execute o comando: tfactl stop

12

Para desativa a opção de auto inicialização,execute o comando:tfactldisable

13

Para ativa a opção de auto inicialização,execute o comando: tfactlenable

TFA - Principais diretórios

	tfa/bin – onde reside o utilitário tfactl
	tfa/repository – onde as coletas serão armazenadas
	tfa//tfa_gome/log – Logs das operações do TFA 

Se o TFA foi instalado como parte da instalação do Grid Infrastructure, otfa_home estará em grid_home.

tfactlsummary

A opção tfactlsummary pode ser usada para mostrar um resumo da saúde do ambiente, incluindo problemas em potencial nos elementos: Cluster, ASM, Patch, Listener, OS, Network.

Nota: Opção disponível somente em ambiente Linux

Exemplo:

14

15

Utilizando o TFA

Você pode utilizar o TFA para análise de logs e descoberta de erros.

Para analisar os logs do último dia, execute o comando: tfactlanalyze –last 1d

16

A ferramenta reportou um erro ORA-00600.

Ferramentas de suporte incluídas no TFA

	ORAchk ou EXAchk–relatório de healthcheck
	oswatcher – coleta e archive de métricas do sistema operacional.
	procwatcher – automação e captura de dados de desempenho e “hang”
	de sessão
	oratop – monitoração próxima ao tempo real
	sqlt – ferramenta para análise de desempenhode SQL
	alertsummary–resume de eventos do AlertLog
	pstack – gera um processstack para processos específicos em todos 
	os nós do cluster
	grep – busca no Alert ou arquivo de trace por uma determinada string
	summary – resumo da saúde do ambiente
	param – mostra todos os parâmetros do banco de dados e sistema 
	operacional baseado no parâmetro informado
	dbglevel – ativa e desativa nível de trace do CRS 
	history – histórico da shelltfactl
	changes–reporta alterações em configurações do ambiente (parâmetros 
	de banco, SO, patches aplicados, etc)

Para checar todos os utilitários disponíveis, execute: tfactltoolstatus

17

As ferramentas podem ser executadas a partir do tfactlshell ou por linha de comando.

Exemplos:

  1. Executar o oratop:tfactlrunoratop -database< dbname>
  2. Executar o orachk: tfactlrunorachk

Para conhecer os argumentos que podem ser utilizados pelas ferramentas, execute o comando: tfactl< tool> -h

18

Service Request Data Collection (SRDC)

Dependendo do problema que você está tratando junto ao suporte da Oracle, a execução de um Service Request Data Collection será solicitada.

Através do TFA, você pode coletar os logs através de um único comando:tfactldiagcollcet -srdc< srdc_type>

Exemplo 1: Para o diagnóstico de erro ORA-4031, execute: tfactldiagcollect –srdc ora4031

A ferramenta coletará os logs de IPS Package, Patches instalados, relatórios AWR, informações de memória e RDA.

Exemplo 2: Para diagnóstico de desempenho, execute: tfactldiagcollect –srdcdbperf

A ferramenta coletará os logs de relatórios ADDM, relatórios AWR, AWR compare, ASH, OS Watcher, IPS Package e ORAchk, de um período com utilização normal e de um período com problema de performance.

TFA – atualizações

Esse artigo foi escrito com base na versão 12.2.1.1.0 do TFA, porém a Oracle atualiza o produto a cada três meses.

Caso você aplique o PSU, o TFA será automaticamente atualizado, mas as ferramentas de suporte não serão instaladas/atualizadas. Ou seja, se você quiser a última versão completa do TFA (TFA + ferramentas de suporte), procure pela atualização no MOS 1513912.1.

Atualizar o TFA é simples, basta executar o processo de instalação. Se o TFA já estiver instalado, ele será atualizado.

Expurgo automático de logs

TFA pode ser configurado para expurgar automaticamente os logs para você. Para isso, basta configurar: tfactl set manageLogsAutoPurge=

Por padrão, os logs mais antigos que 30 dias serão purgados. Você pode configurar um período maior de retenção: tfactl set manageLogsAutoPurgePolicyAge=

O processo de expurgo é executado a cada 60 minutos e também podem ser configurados: tfactl set manageLogsAutoPurgeInterval=

Para mais informações sobre o TFA, consulte o manual do usuário disponível no MOS 1513912.1.

 

Rogerio Bacchi Eguchi é um DBA Oracle Sênior com extensa experiência em ambientes OLTP de missão crítica e que empregam as tecnologias da "Oracle Maximum Availability Architecture". Atuou como DBA em empresas como Oracle, UOL, UOLDiveo, PagSeguro e atualmente atua como DBA/DMA na TOTVS. Possui as certificações Oracle OCP 8i, 9i, 10g, 11g, 12c e OCE Exadata.  Atua também como SysAdmin/DEVOPS onde é certificado Linux RHCE. Entusiata de novas tecnologias como big data, automações e cloud computing. Compartilha conhecimento no blog reguchi.wordpress.com e twitter @reguchi_br.

Este artigo foi revisto pela equipe de produtos Oracle e está em conformidade com as normas e práticas para o uso de produtos Oracle.