Implementando o Trace File Analyzer Collector - TFA

O trace File Analyzer Collector (TFA) é um utilitário disponibilizado pela Oracle, para simplificar a tarefa de coleta de dados de diagnóstico  em ambientes Rac e Single Instance. Os dados coletados poderão (e deverão) ser usados durante a abertura de chamados, afim de facilitar o diagnostico do problema.

O TFA tem como principais vantagens:

#Aumento da produtividade
  • Redução do tempo e esforço para coleta de dados de diagnostico;
  • A coleta de diagnostico é executada através de comandos simples executados a partir de um único node;
  • Os dados de diagnóstico incluem os logs e traces do Grid/Clusteware, ASM, RAC e Sistema Operacional;
  • O resultado é consolidado em um único node, facilitando a tarefa de upload dos dados.
#Redução do tamanho dos arquivos de diagnostico
  • Os dados de diagnostico tem uma redução de até 10x na maioria dos casos;
  • Os dados de diagnostico são isolados e preparados para incluir apenas o período selecionado.
#Redução do tempo de solução dos chamados com a Oracle (SR)
  • Diagnósticos completos no período do incidente;
  • Minimiza a necessidade de solicitação de dados/informações adicionais
#Interface unica para ferramentas de diagnostico
  • O TFA inclui as ferramentas como OSWatcher, ORAchk, ORATOP, SQLT, Procwatcher e DARDA.
  • Centralização e consolidação das ferramentas no reporsitório do TFA.
Agora que conhecemos todas as vantagens da utilização do TFA, vamos a sua implementação. Neste exemplo estarei instalando em um ambiente Single, porém em ambientes RAC o processo não é muito diferente e este post pode ser usado como base.

É importante destacar que é necessário termos a instalação do JRE 1.5 ou superior. Em ambiente RAC, todos os nodes devem atender este requisito. O TFA pode usar o JRE instalado abaixo do GI ou para ambientes single o java do database (ORACLE_HOME/jdk).

Para verificar a versão do java, basta executar o comando: ./java -version com o java que deseja usar. Em meu caso estarei usando o java do database.
 [oracle@spdlvhml001 bin]$ ./java -version
java version "1.5.0_51"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_51-b10)
Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_51-b10, mixed mode) 
  1. O primeiro passo além da leitura da documentação disponível pela Oracle é efetuarmos do download através do Doc ID 1513912.2.
  2. Para realizar o processo de instalação é necessário que o mesmo seja realizado com o root.
  3. Realizar a descompactação do arquivo baixado (TFALite_121261).
     [root@lamimtst lamim]# unzip TFALite_121261.zip
    Archive:  TFALite_121261.zip
      inflating: installTFALite
      inflating: TFACollectorDocV121260.pdf
    [root@lamimtst lamim]# ls -ltr
    total 86600
    drwxr-xr-x 4 oracle oinstall     4096 Jun  8  2015 tracelogix
    -rw-r--r-- 1 root   root       564986 Oct 20 02:34 TFACollectorDocV121260.pdf
    -rwxr-xr-x 1 root   root     43992514 Nov 16 20:10 installTFALite
    drwxr-xr-x 3 oracle oinstall     4096 Dec  7 10:11 duplicate
    -rw-r--r-- 1 oracle oinstall 44104677 Dec 21 12:52 TFALite_121261.zip
    drwxr-xr-x 8 oracle oinstall     4096 Dec 29 17:05 tmp
    [root@lamimtst Teiko]# pwd
    /oracle/lamim 
  4. Instalando o TFA 
    *Utilizando o JRE do Database (/oracle/product/11.2.0/db/jdk)
    NOTA: o local de instalacao do TFA deve existir em todos os nodes do cluster.
    
    [root@lamimtst lamim]# ./installTFALite -tfabase /oracle/lamim -javahome /oracle/product/11.2.0/db/jdk
    
    Starting TFA installation
    
    Using JAVA_HOME : /oracle/product/11.2.0/db/jdk
    
    Running Auto Setup for TFA as user root...
    
    Would you like to do a [L]ocal only or [C]lusterwide installation ? [L|l|C|c] [C] : L
    Installing TFA now...
    
    Discovering Nodes and Oracle resources
    
    Checking whether CRS is up and running
    
    List of nodes in cluster
    1. lamimtst
    
    Checking Status of Oracle Software Stack - Clusterware, ASM, RDBMS
    
    . . . . . . . . .
    
    
    TFA Will be Installed on lamimtst...
    
    TFA will scan the following Directories
    ++++++++++++++++++++++++++++++++++++++++++++
    
    .--------------------------------------------------------------------------.
    |                                lamimtst                                  |
    +--------------------------------------------------------------+-----------+
    | Trace Directory                                              | Resource  |
    +--------------------------------------------------------------+-----------+
    | /home/oracle/oraInventory/ContentsXML                        | INSTALL   |
    | /home/oracle/oraInventory/logs                               | INSTALL   |
    | /oracle/Agent/agent_inst/install/logs                        | EMPLUGINS |
    | /oracle/Agent/agent_inst/sysman/log                          | EMAGENT   |
    | /oracle/Agent/core/12.1.0.4.0/cfgtoollogs                    | EMAGENT   |
    | /oracle/Agent/sbin/cfgtoollogs                               | EMAGENT   |
    | /oracle/cfgtoollogs                                          | CFGTOOLS  |
    | /oracle/diag/clients/user_oracle/host_2452710984_11/cdump    | DBCLIENT  |
    | /oracle/diag/clients/user_oracle/host_2452710984_11/trace    | DBCLIENT  |
    | /oracle/diag/clients/user_oracle/host_2452710984_80/cdump    | DBCLIENT  |
    | /oracle/diag/clients/user_oracle/host_2452710984_80/trace    | DBCLIENT  |
    | /oracle/diag/tnslsnr/lamimtst/listener/cdump                 | TNS       |
    | /oracle/diag/tnslsnr/lamimtst/listener/trace                 | TNS       |
    | /oracle/diag/tnslsnr/lamimtst/listener_gw/cdump              | TNS       |
    | /oracle/diag/tnslsnr/lamimtst/listener_gw/trace              | TNS       |
    | /oracle/diag/tnslsnr/lamimtst/listener_msora/cdump           | TNS       |
    | /oracle/diag/tnslsnr/lamimtst/listener_msora/trace           | TNS       |
    | /oracle/diag/tnslsnr/lamimtst/listener_mssql/cdump           | TNS       |
    | /oracle/diag/tnslsnr/lamimtst/listener_mssql/trace           | TNS       |
    | /oracle/diag/tnslsnr/lamimtst/listener_sqlserver/cdump       | TNS       |
    | /oracle/diag/tnslsnr/lamimtst/listener_sqlserver/trace       | TNS       |
    | /oracle/diag/tnslsnr/lamimtst/listener_sqlserver1/cdump      | TNS       |
    | /oracle/diag/tnslsnr/lamimtst/listener_sqlserver1/trace      | TNS       |
    | /oracle/product/11.2.0/admin/LOGIX/diag/rdbms/logixhmg/LOGIX | RDBMS     |
    | /oracle/product/11.2.0/admin/LOGIX/diag/rdbms/logixhmg/LOGIX | RDBMS     |
    | /oracle/product/11.2.0/admin/LOGIX/diag/rdbms/logixhmg/diag/ | RDBMS     |
    | IXHMG/trace                                                  |           |
    | /oracle/product/11.2.0/db/cfgtoollogs                        | CFGTOOLS  |
    | /oracle/product/11.2.0/db/install                            | INSTALL   |
    | /usr/tmp                                                     | ZDLRA     |
    '--------------------------------------------------------------+-----------'
    
    
    Installing TFA on lamimtst:
    HOST: lamimtst       TFA_HOME: /oracle/lamim/tfa/lamimtst/tfa_home
    
    .--------------------------------------------------------------------------------.
    | Host        | Status of TFA | PID   | Port | Version    | Build ID             |
    +-------------+---------------+-------+------+------------+----------------------+
    | lamimtst | RUNNING       | 51661 | 5000 | 12.1.2.6.1 | 12126120151116134245    |
    '-------------+---------------+-------+------+------------+----------------------'
    
    Running Inventory in All Nodes...
    
    Enabling Access for Non-root Users on lamimtst...
    
    Adding Local Oracle Home Owners to TFA
    
    Sucessfully added 'oracle' to TFA Access list.
    
    .---------------------------------.
    |     TFA Users in lamimtst       |
    +-----------+-----------+---------+
    | User Name | User Type | Status  |
    +-----------+-----------+---------+
    | oracle    | USER      | Allowed |
    '-----------+-----------+---------'
    
    
    Summary of TFA Installation:
    .--------------------------------------------------------------.
    |                          lamimtst                            |
    +---------------------+----------------------------------------+
    | Parameter           | Value                                  |
    +---------------------+----------------------------------------+
    | Install location    | /oracle/lamim/tfa/lamimtst/tfa_home    |
    | Repository location | /oracle/lamim/tfa/repository           |
    | Repository usage    | 0 MB out of 7407 MB                    |
    '---------------------+----------------------------------------'
    
    
    TFA is successfully installed...
    
  5. Concluído o processo de instalação, vamos verificar o status do mesmo. Para isso basta executar o comando tfactl print status (tfactl encontra-se no diretório definido na instalação) .
     [oracle@lamimtst bin]$ pwd
    /oracle/lamim/tfa/bin
    [oracle@lamimtst bin]$ tfactl print status
    
    .---------------------------------------------------------------------------------------------------.
    | Host        | Status of TFA | PID   | Port | Version    | Build ID             | Inventory Status |
    +-------------+---------------+-------+------+------------+----------------------+------------------+
    | lamimtst    | RUNNING       | 51661 | 5000 | 12.1.2.6.1 | 12126120151116134245 | COMPLETE         |
    '-------------+---------------+-------+------+------------+----------------------+------------------'
    [oracle@lamimtst bin]$
     
  6. Para verificar os status de todos os componentes usamos o comando tfactl toolstatus.
     [oracle@lamimtst bin]$ tfactl toolstatus
    .------------------------------------------.
    |          External Support Tools          |
    +-------------+--------------+-------------+
    | Host        | Tool         | Status      |
    +-------------+--------------+-------------+
    | lamimtst    | alertsummary | DEPLOYED    |
    | lamimtst    | exachk       | DEPLOYED    |
    | lamimtst    | ls           | DEPLOYED    |
    | lamimtst    | pstack       | DEPLOYED    |
    | lamimtst    | orachk       | DEPLOYED    |
    | lamimtst    | sqlt         | DEPLOYED    |
    | lamimtst    | grep         | DEPLOYED    |
    | lamimtst    | summary      | DEPLOYED    |
    | lamimtst    | prw          | NOT RUNNING |
    | lamimtst    | vi           | DEPLOYED    |
    | lamimtst    | tail         | DEPLOYED    |
    | lamimtst    | param        | DEPLOYED    |
    | lamimtst    | dbglevel     | DEPLOYED    |
    | lamimtst    | darda        | DEPLOYED    |
    | lamimtst    | history      | DEPLOYED    |
    | lamimtst    | oratop       | DEPLOYED    |
    | lamimtst    | oswbb        | RUNNING     |
    | lamimtst    | changes      | DEPLOYED    |
    | lamimtst    | events       | DEPLOYED    |
    | lamimtst    | ps           | DEPLOYED    |
    '-------------+--------------+-------------'
    [oracle@lamimtst bin]$ 
  7. Os demais comando podem ser listados através do comando tfactl -help .
     
    [oracle@lamimtst bin]$ tfactl -help
    
    Usage : /oracle/lamim/tfa/bin/tfactl  [options]
     =
              print          Print requested details
              purge          Delete collections from TFA repository
              analyze        List events summary and search strings in alert logs.
              diagcollect    Collect logs from across nodes in cluster
              collection     Manage TFA collections
              directory      Add or Remove or Modify directory in TFA
              toolstatus     Prints the status of TFA Support Tools
              run      Run the desired support tool
              start    Starts the desired support tool
              stop     Stops the desired support tool
    
    For help with a command: /oracle/lamim/tfa/bin/tfactl  -help
    
Em um próximo post estarei abordando o uso do TFACTL.

Fonte:
https://www.youtube.com/watch?v=FqWP0QLlPGU
TFA Collector - Tool for Enhanced Diagnostic Gathering (Doc ID 1513912.2)

Comentários