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:

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:

Exemplo: tfactldiagcollect

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.

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:

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

Copie para seu servidor e descompacte.

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:


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

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

Para pararo TFA Daemon, execute o comando: tfactl stop

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

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:


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

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

As ferramentas podem ser executadas a partir do tfactlshell ou por linha de comando.
Exemplos:
- Executar o oratop:tfactlrunoratop -database< dbname>
- Executar o orachk: tfactlrunorachk
Para conhecer os argumentos que podem ser utilizados pelas ferramentas, execute o comando: tfactl< tool> -h

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.