Trace File Analyzer (TFA) in Oracle Version 12.1.0.2

Der Tracefile Analyzer (TFA) seit Oracle 11.2.0.4 verfügbar und mit 12.1.0.2 mit wirklich tollen Features.

Historie

Oracle bietet eine Vielzahl von Diagnosetools im Umfeld der Clusterware an. Schaut man sich auf den einschlägigen Blogs von Oracle um, so stellt man fest, dass man den vor lauter Bäumen den Wald nicht mehr sieht. Da wären unter anderem:

  • „cluvfy“ Cluster Verification Utility
  • „CHM“  Cluster Health Monitor
  • „RACcheck“ RAC Check
  • „RDA“ Tool Remote Diagnostic Tool
  • „OSWatcher“ OS Watcher
  • „ExaWatcher“ Exa Watcher
  • „TFA“ Trace File Analyzer

Toolübersicht

 

Tool Beschreibung Anmerkung
cluvfy Vor, während und nach der Installation einer Cluster Umgebung. Bestandteil der Grid-Installationssoftware
RACcheck RACcheck Configuration Audit Tool – Name wurde geändert in ORAchk  (Oracle Configuration Audit Tool).raccheck und orachk sind von der Funktion identisch.Empfohlener Einsatz von ORAchk:·        After initial Oracle RAC deployment·        Before planned system maintenance·        After planned system maintenance·        4. At least once every three months MOS note: 1591208.1
RDA Remote Diagnostic Tool. Aktuelle version 8.04Der RDA Output liefert ein umfassendes Bild der Kundenumegbung wie z.B.:

  • Product Problemen
  • Developer Fragen
  • Installation/configuration Problemen
  • ORA-600, ORA-7445, ORA-3113, and ORA-4031 Fehlern
  • Oracle Database Fehlern
  • Oracle Application Server/Fusion Middleware Fragen
  • Performance Problemen
  • Upgrade, Migration Aufgabenstellungen

 

MOS Note: 414966.1, 314422.1
CHM Cluster Health MonitorCluster Health Monitor sammelt OS Statistiken MOS note: 1328466.1
OSWatcher OSWatcher sammelt Statistiken indem Unix Kommandos wie z.B. vmstat, top, ps, iostat, netstat, mpstat, und meminfo laufen.Der Cluster Health Monitor wurde entwickelt um System Metriken und Daten für das Troubleshooting bereitszustellen. Dazu gehören Node Reboots oder System Situationen die ein Cluster zum “Stillstand” bringen.
ExaWatcher ExaWatcher ersetzt den OSWatcher. MOS note: 1617454.1
TFA Tracefile Analyzer Diagnostic Collection Tool zum Sammeln der Clusterware Trace Daten MOS note: 1513912.1

Die Liste der Tools erhebt keinen Anspruch auf Vollständigkeit.  Welches dieser Tools eingesetzt wird hängt unter anderem vom Einsatzzweck ab und teilweise werden mehrere Tools parallel genutzt bzw. konfiguriert. So ist es durchaus sinnvoll in einer Cluster Umgebung neben dem TFA auch das RDA Tool zu installieren. Die Entscheidung trifft jede IT Betriebsorganisation für sich selbst. In diesem Artikel wird nun Folgend der Tracefile Analyzer [TFA] vorgestellt.

TFA Trace File Analyzer

Installiert man die Grid Infrastructure Software in der Version 12.1.0.2, so wird ab sofort automatisch der TFA parallel installiert und konfiguriert. Eine manuelle oder nachgelagerte Installation per Zip-Package ist natürlich auch möglich.

Der TFA sammelt folgende Daten:

  • Betriebssystem
  • Oracle Clusterware
  • Oracle Automatic Storage Management
  • Oracle Database Diagnostic Data

Weitere Funktionen sind das Cluster-weite Sammeln der Daten, so wie das Paketieren der Log Informationen. Des Weiteren ist es möglich Daten zu anonymisieren und User zu verwalten.

Zudem gibt es eine Funktion, die den TFA automatisiert starten kann, sobald z.B. ein Incident auftritt. Dies verhindert den Verlust relevanter Informationen durch Logfile Rotationen.

Mit der TFA Version 12.1.0.2, wurde eine sogenannte „analyze“ Funktion eingebaut, die  den täglichen Administrationsaufwand erheblich erleichtert. So kann nun beispielsweise analysiert werden, welche Fehler in einem bestimmten Zeitraum aufgetreten sind. Auf diesen Punkt soll im späteren Verlauf näher eingegangen werden.

Alles in allem lohnt es sich auch in der Grid Infrastruktur Release 11.2.0.4 den TFA zu installieren, denn die Arbeit für das Sammeln und Verschicken von Logfiles vereinfacht sich erheblich. Der TFA ermöglicht insgesamt deutlich effektiveres und sehr zeitsparendes Vorgehen.

TFA Architektur und Installation

Der TFA basiert auf einer Java virtuellen Maschine, welche auf jedem Host im Cluster läuft. Auf jedem dieser Hosts existiert darüber hinaus  eine Berkley Datenbank (BDB) welche die Metadaten, Verzeichnisse und Dateien speichert, die TFA überwacht. TFA wird seit der Version 11.2.0.4 ausgeliefert und installiert. In der Release 12.1.0.2 wurde der Funktionsumfang deutlich erweitert.

Als Plattform werden Solaris, Linux, AIX und HP-UX unterstützt.

TFA Installation

Die Installation wird bei einem Upgrade der Grid Infrastructure Software auf 11.2.0.4 automatisch vorgenommen. TFA ist darüber hinaus  fester Bestandteil bei jeder 12.1 Grid Infrastruktur Installation.

Daneben besteht die Möglichkeit sich die Software über MOS herunterzuladen und manuell zu installieren.  In diesem Fall werden die heruntergeladenen Dateien bzw. das Zip Archive entpackt. Die weiteren Aufgaben übernimmt der Installer, welcher root Rechte benötigt. Root Rechte sind notwendig, da Systemlogs, sowie ein automatischer Start während der Bootphase eingerichtet werden müssen. Eine „silent“ Installation wie man sie von der Grid oder RDBMS Software kennt ist ebenfalls möglich.

TFA Usage und Administration

Der TFA besitzt ein Commandline Interface „tfactl“ zum Ausführen der Kommandos.“ tfactl“ wird für das Monitoring, die Konfiguration und das Sammeln der Daten genutzt.

Befehlsübersicht

tfactl

 


[oracle@labn1 bin]$ tfactl

Usage : /u01/app/12.1.0.2/grid/bin/tfactl <command> [options]

<command> =

print        Print requested details

analyze      List events summary and search strings in alert logs.

diagcollect  Collect logs from across nodes in cluster

directory    Add or Remove or Modify directory in TFA

For help with a command: /u01/app/12.1.0.2/grid/bin/tfactl <command> -help

 

Konfiguration nach initialer Konfiguration

 


[oracle@labn1 bin]$ <strong>tfactl print config</strong>

.------------------------------------------------------.

|                         labn1                        |

+-----------------------------------------+------------+

| Configuration Parameter                 | Value      |

+-----------------------------------------+------------+

| TFA version                             | 12.1.2.0.0 |

| Automatic diagnostic collection         | OFF        |

| Trimming of files during diagcollection | ON         |

| Repository current size (MB) in labn1   | 0          |

| Repository maximum size (MB) in labn1   | 6688       |

| Inventory Trace level                   | 1          |

| Collection Trace level                  | 1          |

| Scan Trace level                        | 1          |

| Other Trace level                       | 1          |

| Max Size of TFA Log (MB)                | 50         |

| Max Number of TFA Logs                  | 10         |

'-----------------------------------------+------------'

 

TFA Übersicht des aktuellen Status

 

[oracle@labn1 bin]$  <strong>tfactl print status</strong>

.--------------------------------------------------------------------------------------------.

| Host  | Status of TFA | PID  | Port | Version    | Build ID             | Inventory Status |

+-------+---------------+------+------+------------+----------------------+------------------+

| labn1 | RUNNING       | 3129 | 5000 | 12.1.2.0.0 | 12120020140619094932 | COMPLETE         |

| labn2 | RUNNING       | 2504 | 5000 | 12.1.2.0.0 | 12120020140619094932 | COMPLETE         |

'-------+---------------+------+------+------------+----------------------+------------------'

 

Diagnosedaten sammeln

tfactl diagcollect

 

[oracle@labn1 bin]$  tfactl diagcollect -h

Usage: /u01/app/12.1.0.2/grid/bin/tfactl diagcollect [-all | -database <all|d1,d2..> | -asm | -crs | -dbwlm | -acfs | -os | -install | -cfgtools | -chmos | -nochmo             s ] [-node <all | local | n1,n2,..>] [-tag <description>] [-z <filename>] [-since <n><h|d>| -from <time> -to <time> | -for <time>] [-nocopy] [-notrim] [-nomonitor]              [-collectalldirs][-collectdir <dir1,dir2..>]

Options:

-all       Collect all logs (If no time is given for collection then files

for the last 4 hours will be collected)

-crs       Collect CRS logs

-dbwlm     Collect DBWLM logs

-acfs      Collect ACFS logs

-asm       Collect ASM logs

-database  Collect database logs from databases specified

-os        Collect OS files such as /var/log/messages

-install   Collect Oracle Installation related files

-cfgtools  Collect CFGTOOLS logs

-chmos     Collect CHMOS files (Note that this data can be large for

longer durations)

-nochmos   Do not collect CHMOS data when it would normally have been

collected

-node      Specify comma separated list of host names for collection

-nocopy    Does not copy back the zip files to initiating node from all nodes

-notrim   Does not trim the files collected

-nomonitor This option is used to submit the diagcollection as a background

process

-collectalldirs Collect all files from a directory marked "Collect All"

flag to true

-collectdir Specify comma separated list of directories and collection will

include all files from these irrespective of type and time constraints

in addition to components specified

-since <n><h|d>    Files from past 'n' [d]ays or 'n' [h]ours

-from "MMM/dd/yyyy hh:mm:ss"    From <time>

-to   "MMM/dd/yyyy hh:mm:ss"    To <time>

-for  "MMM/dd/yyyy"             For <date>.

-tag <tagname> The files will be collected into tagname directory inside

repository

-z <zipname> The files will be collected into tagname directory with the

specified zipname

<strong> </strong>

Wie man der Option “diagcollect” entnehmen kann, gibt es sehr viele Möglichkeiten das gewünschte Set an Diagnosedaten zusammenzustellen.

So kann man beispielsweise mit diagcollect und der Option „-database“ und „-since 2h“ die Daten der letzten beiden Stunden sammeln. So fällt eine deutlich geringere Datenmenge zur Analyse an.

 

Analysefunktionen

Die Analysefunktion ist in der Version 12.1.0.2 neu hinzugekommen und bietet vielfältige Möglichkeiten, um sich schnell einen Überblick in Bezug auf Fehler zu verschaffen.

Viele DBA’s waren sicherlich in der Lage, dass sie möglichst zeitnah wissen wollten, welche Fehler in den vergangenen sechs Stunden aufgetreten sind. Dazu mussten bisher die alert.log Dateien der beiden Knoten in ein Arbeitsverzeichnis kopiert  werden. Daraufhin werden die Files mit Editoren unter Windows wie notepad+ oder ähnlichen verglichen oder mit Unix Kommandos. All dies ist nun direkt von der Kommandozeile möglich und das Analysieren ist einfach wie nie.

Es folgen einige Beispiele.


tfactl analyze –h

&nbsp;

[oracle@labn1 bin]$ tfactl analyze -h

Usage : /u01/app/12.1.0.2/grid/bin/tfactl analyze [-search "pattern"] [-comp <db|asm|crs|acfs|os|osw|oswslabinfo|oratop|all> [-type <error|warning|generic>] [-since <n>[h|d]] [-from "MMM/DD/YYYY HH24:MI:SS"] [-to "MMM/DD/YYYY HH24:MI:SS"] [-for "MMM/DD/YYYY HH24:MI:SS"] [-node <all | local | n1,n2,..>] [-verbose] [-o <file>]

Options:

-search "pattern"  Search for pattern in DB and CRS alert logs in past <n> [h]ours or [d]ays.

Default value of <n> is 1h

-comp Components to analyze. Default is all.

-type Analyze messages of specified type. Default is error.

-node Specify comma separated list of host names. Default is all

Time Options: Specify one of 3 options, -since or -for or -from,-to

-since Analyze for specified duration before current time

-for Analyze for specified time

-from,-to Analyze for specified time period

-verbose Show verbose output.

-o Write the output to <file> instead of printing on screen.

 

Analyse der Clusterware Logfiles

 


tfactl analyze –comp crs

Analyse der Clusterware Logfiles über die letzten 60 Minunten.

[oracle@labn1 bin]$ <strong>tfactl analyze -comp crs</strong>

INFO: analyzing crs (CRS Alert Logs) logs for the last 60 minutes...  Please wait...

INFO: analyzing host: labn1

Report title: CRS Alert Logs

Report date range: last ~1 hour(s)

Report (default) time zone: CET - Central European Time

Analysis started at: 07-Aug-2014 01:45:47 PM CEST

Elapsed analysis time: 0 second(s).

Configuration file: /u01/app/12.1.0.2/grid/tfa/labn1/tfa_home/ext/tnt/conf/tnt.prop

Configuration group: crs

Total message count:            171, from 03-Aug-2014 06:13:40 PM CEST to 07-Aug-2014 01:15:46 PM CEST

Messages matching last ~1 hour(s):             52, from 07-Aug-2014 01:13:24 PM CEST to 07-Aug-2014 01:15:46 PM CEST

last ~1 hour(s) error count:              1, from 07-Aug-2014 01:13:51 PM CEST to 07-Aug-2014 01:13:51 PM CEST

last ~1 hour(s) ignored error count:              0

last ~1 hour(s) unique error count:              1

Message types for last ~1 hour(s)

Occurrences percent  server name          type

----------- -------  -------------------- -----

51   98.1%  labn1                generic

1    1.9%  labn1                ERROR

----------- -------

52  100.0%

Unique error messages for last ~1 hour(s)

Occurrences percent  server name          error

----------- -------  -------------------- -----

1  100.0%  labn1                 [OCSSD(2932)]CRS-1601: CSSD Reconfiguration complete. Active nodes are labn1 labn2 .

----------- -------

1  100.0%

INFO: analyzing crs (CRS Alert Logs) logs for the last 60 minutes...  Please wait...

INFO: analyzing host: labn2

Report title: CRS Alert Logs

Report date range: last ~1 hour(s)

Report (default) time zone: CET - Central European Time

Analysis started at: 07-Aug-2014 01:45:47 PM CEST

Elapsed analysis time: 0 second(s).

Configuration file: /u01/app/12.1.0.2/grid/tfa/labn2/tfa_home/ext/tnt/conf/tnt.prop

Configuration group: crs

Total message count:            159, from 03-Aug-2014 06:22:49 PM CEST to 07-Aug-2014 01:44:13 PM CEST

Messages matching last ~1 hour(s):             52, from 07-Aug-2014 01:13:25 PM CEST to 07-Aug-2014 01:44:13 PM CEST

last ~1 hour(s) error count:              1, from 07-Aug-2014 01:13:51 PM CEST to 07-Aug-2014 01:13:51 PM CEST

last ~1 hour(s) ignored error count:              0

last ~1 hour(s) unique error count:              1

Message types for last ~1 hour(s)

Occurrences percent  server name          type

----------- -------  -------------------- -----

47   90.4%  labn2                generic

4    7.7%  labn2                WARNING

1    1.9%  labn2                ERROR

----------- -------

52  100.0%

Unique error messages for last ~1 hour(s)

Occurrences percent  server name          error

----------- -------  -------------------- -----

1  100.0%  labn2                 [OCSSD(2321)]CRS-1601: CSSD Reconfiguration complete. Active nodes are labn1 labn2 .

----------- -------

1  100.0%

Analyse der Datenbank Logfiles (alert.log)


tfactl analyze –comp db  –since 2d

<span style="text-decoration: line-through;"> </span>

Überprüfung der Datenbankinstanzen auf Fehler am Vortag.

[oracle@labn1 bin]$ <strong>tfactl analyze -comp db -since 1d</strong>

INFO: analyzing db (DB Alert Logs) logs for the last 1440 minutes...  Please wait...

INFO: analyzing host: labn1

Report title: DB Alert Logs

Report date range: last ~1 day(s)

Report (default) time zone: CET - Central European Time

Analysis started at: 07-Aug-2014 01:55:42 PM CEST

Elapsed analysis time: 0 second(s).

Configuration file: /u01/app/12.1.0.2/grid/tfa/labn1/tfa_home/ext/tnt/conf/tnt.prop

Configuration group: db

Total message count:          1,334, from 08-Jul-2014 02:21:00 PM CEST to 07-Aug-2014 01:53:50 PM CEST

Messages matching last ~1 day(s):            155, from 07-Aug-2014 01:14:59 PM CEST to 07-Aug-2014 01:53:50 PM CEST

last ~1 day(s) error count:              0

last ~1 day(s) ignored error count:              0

last ~1 day(s) unique error count:               0

Message types for last ~1 day(s)

Occurrences percent  server name          type

----------- -------  -------------------- -----

155  100.0%  labn1                generic

----------- -------

155  100.0%

Unique error messages for last ~1 day(s)

Occurrences percent  server name          error

----------- -------  -------------------- -----

----------- -------

0  100.0%

INFO: analyzing db (DB Alert Logs) logs for the last 1440 minutes...  Please wait...

INFO: analyzing host: labn2

Report title: DB Alert Logs

Report date range: last ~1 day(s)

Report (default) time zone: CET - Central European Time

Analysis started at: 07-Aug-2014 01:55:43 PM CEST

Elapsed analysis time: 0 second(s).

Configuration file: /u01/app/12.1.0.2/grid/tfa/labn2/tfa_home/ext/tnt/conf/tnt.prop

Configuration group: db

Total message count:            394, from 08-Jul-2014 02:31:50 PM CEST to 07-Aug-2014 01:37:09 PM CEST

Messages matching last ~1 day(s):             74, from 07-Aug-2014 01:36:03 PM CEST to 07-Aug-2014 01:37:09 PM CEST

last ~1 day(s) error count:              0

last ~1 day(s) ignored error count:              0

last ~1 day(s) unique error count:              0

Message types for last ~1 day(s)

Occurrences percent  server name          type

----------- -------  -------------------- -----

74  100.0%  labn2                generic

----------- -------

74  100.0%

Unique error messages for last ~1 day(s)

Occurrences percent  server name          error

----------- -------  -------------------- -----

----------- -------

0  100.0%

tfactl analyze -search „ORA-“ -since 2d

Überprüfung der alert.log Dateien auf “ORA-Fehler” in den letzten beiden Stunden.

Um die Funktion zu testen wurde ein Testfehler ORA-00100 in die alert.log Datei eingetragen.


[oracle@labn1 ~]$ <strong>tfactl analyze -search "ORA-" -since 2d</strong>

INFO: analyzing all (Alert and Unix System Logs) logs for the last 2880 minutes...  Please wait...

INFO: analyzing host: labn1

Report title: Analysis of Alert,System Logs

Report date range: last ~2 day(s)

Report (default) time zone: CET - Central European Time

Analysis started at: 07-Aug-2014 03:02:37 PM CEST

Elapsed analysis time: 2 second(s).

Configuration file: /u01/app/12.1.0.2/grid/tfa/labn1/tfa_home/ext/tnt/conf/tnt.prop

Configuration group: all

Parameter: ORA-

Total message count:          5,352, from 07-Jul-2014 09:50:03 PM CEST to 07-Aug-2014 03:00:00 PM CEST

Messages matching last ~2 day(s):          1,439, from 07-Aug-2014 01:13:14 PM CEST to 07-Aug-2014 03:00:00 PM CEST

Matching regex: ORA-

Case sensitive: false

Match count: 1

[Source: /u01/app/oracle/diag/rdbms/rac/rac1/trace/alert_rac1.log, Line: 3906]

Aug 07 13:36:48 2014

Closing scheduler window

<strong>Closing Resource Manager plan via scheduler window</strong>

<strong>Clearing Resource Manager plan at pdb PDB (3) via parameter</strong>

<strong>ORA-00100 Test Eintrag</strong>

INFO: analyzing all (Alert and Unix System Logs) logs for the last 2880 minutes...  Please wait...

INFO: analyzing host: labn2

Report title: Analysis of Alert,System Logs

Report date range: last ~2 day(s)

Report (default) time zone: CET - Central European Time

Analysis started at: 07-Aug-2014 03:02:40 PM CEST

Elapsed analysis time: 1 second(s).

Configuration file: /u01/app/12.1.0.2/grid/tfa/labn2/tfa_home/ext/tnt/conf/tnt.prop

Configuration group: all

Parameter: ORA-

Total message count:          3,734, from 07-Jul-2014 09:58:05 PM CEST to 07-Aug-2014 03:00:23 PM CEST

Messages matching last ~2 day(s):          1,089, from 07-Aug-2014 01:13:11 PM CEST to 07-Aug-2014 03:00:23 PM CEST

Matching regex: ORA-

Case sensitive: false

Match count: 0

Weitergehende TFA Funktionen

Housekeeping

Der Funktionsumfang beinhaltet auch die Möglichkeit mittels eines “purge” den Füllgrad des Repositories überschaubar zu halten bzw. regelmäßig alte Daten zu löschen.

 


tfactl purge –h

[root@labn1 bin]# <strong>tfactl purge -help</strong>

Usage: /u01/app/12.1.0.2/grid/bin/tfactl purge -older x[h|d]

Remove file(s) from repository that are older than the time specified.

Examples:

/u01/app/12.1.0.2/grid/bin/tfactl purge -older 30d    - To remove file(s) older than 30 days.

/u01/app/12.1.0.2/grid/bin/tfactl purge -older 10h    - To remove file(s) older than 10 hours.

Fazit

Der Tracefile Analyzer ist ein Tool, auf dass die DBA’s lange gewartet haben. Gerade Cluster-Umgebungen sind bei der Fehlersuche, sehr zeitaufwendig. Da dauerte das Zusammentragen von Informationen gerne 1-2 Stunden. Dies gehört nun der Vergangenheit an, denn der TFA bietet enorm viele Möglichkeiten und liefert die Antwort, sobald ein Kommando auf der Befehlszeile eingegeben wurde. Die ersten Tests sind sehr positiv, auch wenn die Analysefunktionen leider erst unter 12.1.0.2 verfügbar sind.

Gerade die Clusterware ist jedoch eine gute Möglichkeit mit einer Umstellung auf 12.1 anzufangen, denn der CRS Softwarestack muss immer den höchsten Software Stand in einem Cluster haben ein Grund mehr, mal ernsthaft über ein Update nachzudenken.

 

Quellen

Oracle MOS Notes (siehe oben)

Oracle Whitepaper http://www.oracle.com/technetwork/database/options/clustering/overview/tracefileanalyzer-2008420.pdf

Advertisements

Über spa

Oracle and Unix Professional, main focus on Oracle HA - Systems also an Exadata enthusiasts
Dieser Beitrag wurde unter Oracle Database abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s