Gerade in einem Umfeld mit vielen Datenbanken treten naturgemäß auch mehr Fehler auf. Von daher ist notwendig, diese schnell zu analysieren und Maßnahmen einzuleiten.
In diesem Beitrag möchte ich versuchen darzustellen, wie man durch einfache Handgriffe sich dabei die Arbeit etwas erleichtern kann und somit auch die Arbeit des EM etwas besser versteht. Zu letzterem aber erst weiter unten.
Von einer Datenbank werden mehrere Fehler gemeldet. Ist man auf dem System angemeldet, kann es schon schwierig werden, die „gravierenden“ Fehler der Datenbank von denen der Anwendung zu unterscheiden, die teilweise auch im alert.log protokolliert werden. Um dies zu erleichtern, gibt es u.a. das Tool ADRCI = Automatic Diagnostic Repository Command Interpreter.
Die Oracle Dokumentation zu ADRCI eignet sich gut zum nachlesen der einzelnen Optionen der Kommandos.
Eine sehr gute Einführung und beispielhafte Nutzung von ADRCI geben sowohl Sebastian Solbach wie auch Use Hesse, die dann auch noch auf andere Aspekte, wie dem Purgen von tracefiles, etc. eingehen.
ADRCI kann sowohl unter Linux wie auch unter Windows eingesetzt werden. Im folgenden habe ich Linux gewählt. Die Zeilen, die mit einem # beginnen, habe ich eingestreut, um so die Kommandos besser erklären zu können.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [oracle@by-srs1 ~]$ adrci ADRCI: Release 11.2.0.4.0 - Production ON Thu Aug 27 10:48:00 2015 Copyright (c) 1982, 2011, Oracle AND/OR its affiliates. ALL rights reserved. ADR base = "/opt/oracle" adrci>; # # zeigt alle ADR Homes unterhalb ADR Base an adrci> SHOW homes ADR Homes: diag/tnslsnr/tstserver/lsnr_test diag/rdbms/test/TEST # # setzt das ADR Home adrci> SET home diag/rdbms/test/TEST # # setzt das Flag AUTOSHELL, damit unbekannte Kommandos # als HOST Kommandos an das OS abgesetzt werden adrci> SET autoshell ON |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | # # zeigt alle PROBLEMS an # ein PROBLEM kann 1 bis n INCIDENT haben # jedes INCIDENT ist das gravierender Fehler adrci> SHOW problem ADR Home = /opt/oracle/diag/rdbms/test/TEST: ************************************************************************* PROBLEM_ID PROBLEM_KEY LAST_INCIDENT LASTINC_TIME -------------------- ----------------------------------------------------------- -------------------- ---------------------------------------- 2 ORA 7445 [kopp2upic()+1056] 88554 2014-05-19 17:28:06.200000 +02:00 3 ORA 445 88146 2014-06-23 16:15:09.816000 +02:00 4 ORA 7445 [kokliihdl()+407] 93342 2015-01-19 11:40:36.031000 +01:00 6 ORA 7445 [kghfrh_internal()+40] 102936 2015-04-12 13:57:30.916000 +02:00 7 ORA 600 [qkaffsindex3] 103452 2015-04-28 22:01:34.244000 +02:00 5 ORA 7445 [kokacau()+1005] 103092 2015-06-18 23:13:22.172000 +02:00 1 ORA 4030 146199 2015-08-27 00:06:42.382000 +02:00 7 ROWS fetched |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | # damit wissen wir jetzt, dass es um 7 verschiedene Arten von gravierenden Fehlern geht. # Und wann diese zuletzt auftraten. # # Miitels SHOW incident kann man sich die letzten (MAX 50) anzeigen adrci> SHOW incident ADR Home = /opt/oracle/diag/rdbms/test/TEST: ************************************************************************* INCIDENT_ID PROBLEM_KEY CREATE_TIME -------------------- ----------------------------------------------------------- ---------------------------------------- 93342 ORA 7445 [kokliihdl()+407] 2015-01-19 11:40:36.031000 +01:00 93710 ORA 4030 2015-02-13 13:16:50.757000 +01:00 93711 ORA 4030 2015-02-13 13:16:59.020000 +01:00 93712 ORA 4030 2015-02-13 13:17:05.376000 +01:00 93713 ORA 4030 2015-02-13 15:51:28.294000 +01:00 93714 ORA 4030 2015-02-13 15:51:34.862000 +01:00 93715 ORA 4030 2015-02-13 15:51:41.277000 +01:00 98069 ORA 7445 [kokacau()+1005] 2015-03-20 11:15:18.954000 +01:00 97989 ORA 4030 2015-03-23 08:04:07.084000 +01:00 97990 ORA 4030 2015-03-23 08:04:11.861000 +01:00 97991 ORA 4030 2015-03-23 08:04:15.993000 +01:00 97992 ORA 4030 2015-03-23 08:04:19.930000 +01:00 97993 ORA 4030 2015-03-23 08:04:23.853000 +01:00 98261 ORA 4030 2015-03-23 13:10:09.957000 +01:00 98262 ORA 4030 2015-03-23 13:10:14.004000 +01:00 98263 ORA 4030 2015-03-23 13:10:17.959000 +01:00 98264 ORA 4030 2015-03-23 13:10:21.873000 +01:00 98265 ORA 4030 2015-03-23 13:10:25.838000 +01:00 98309 ORA 7445 [kokacau()+1005] 2015-03-30 04:30:17.743000 +02:00 102932 ORA 4030 2015-04-12 13:57:14.612000 +02:00 102933 ORA 4030 2015-04-12 13:57:18.374000 +02:00 102934 ORA 4030 2015-04-12 13:57:22.822000 +02:00 102935 ORA 4030 2015-04-12 13:57:26.850000 +02:00 102936 ORA 7445 [kghfrh_internal()+40] 2015-04-12 13:57:30.916000 +02:00 103452 ORA 600 [qkaffsindex3] 2015-04-28 22:01:34.244000 +02:00 103092 ORA 7445 [kokacau()+1005] 2015-06-18 23:13:22.172000 +02:00 146195 ORA 4030 2015-08-27 00:05:03.428000 +02:00 146196 ORA 4030 2015-08-27 00:05:29.669000 +02:00 146197 ORA 4030 2015-08-27 00:05:53.933000 +02:00 146198 ORA 4030 2015-08-27 00:06:18.540000 +02:00 146199 ORA 4030 2015-08-27 00:06:42.382000 +02:00 31 ROWS fetched |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # # Um nun eine Analyse zum Problem 1 ORA-4030) mit allen Incidents # erstellen zu können, erzeugt das folgende Kommando direkt aus # dem PROBLEM 1 ein IPS Package # - mit allen zugehörigen Incidents # - und deren tracefiles # - sowie der alert.log # und legt diese IN /tmp ab adrci> ips pack problem 1 correlate ALL IN /tmp Generated package 5 IN file /tmp/ORA4030_20150827111250_COM_1.zip, mode complete # # zeigt die Datei adrci> ls -l /tmp/ORA4030_20150827190950_COM_1.zip -rw-r--r-- 1 oracle dba 26906119 Aug 27 11:12 /tmp/ORA4030_20150827111250_COM_1.zip |
Wenn wir nun im Broweser nun auf die Seite Diagnostic Tools Catalog (Doc ID 559339.1) gehen, erscheint das folgende Fenster:
Entsprechend unseres Fehlertyps ORA-4030 wählen wir den Link ORA-4030 Troubleshooting Tool aus. Damit kommen wir zu folgendem Fenster.
Hier klicken wir rechts auf den Button „Next“.
Durch Anklicken von „Durchsuchen“ können wir die eben erzeugte Datei auswählen. Mit einem Klick auf den Button „Upload“ wird diese hochgeladen. Ist dieses geschehen, erscheint rechts neben der Datei deren Größe – so wie auf diesen Fenster:
Wenn wir jetzt rechts oben wieder auf „Next“ klicken, wird die Analyse des IPS Packages gestartet. Anschliessend erscheint ein Fenster mit den Empfehlungen von Oracle, wie man die Ursache beseitigen kann, und in der Mitte welche Ursachen das haben könnte.
Zusammenfassung
- Mit Hilfe des adrci haben wir uns schnell einen Überblick über zuletzt aufgetretene gravierenden Fehler verschafft
- Für jeden Fehler (hier exemplarisch für einen ORA-4030) haben wir eine Datei mit allen relevanten Informationen durch ein Kommando zusammengafasst
- Wir haben eine erste Analyse der Tracefile innerhalb weniger Minuten bekommen
- Bis hierher ist weder SR erstellt noch ist eine Person tätig geworden. In vielen Fällen können diese Empfehlungen durchaus hilfreich und ausreichend sein.
- Sollte die Empfehlungen nicht ausreichen, können wir jetzt leicht einen SR erstellen
Doch sollten diese Informationen von Oracle zu den Tracefiles nicht weiterhelfen, das Problem zu lokalisieren und zu beseitigen, kann man sich entscheiden, gleich hier und mit allen Daten einen SR zu erstellen.
Dazu gehört lediglich, unten im Feeback-Bereich auf „No“ klicken, optional einen Kommentar einzugeben und rechts unten auf „Create SR“ zu klicken.
Danach erscheint das folgende Fenster, um letzte Informationen einzugeben:
Hier kann man den Titel des SR erweitern, um ihn sprechender / eindeutiger zu machen und man muss neben seinem Support Identifier noch das OS auswählen.
Ein weiteres „Create SR“ und der SR wird erstellt.
Am Ende des letzten Fensters wird dann dargestellt, wie
- der SR erstellt
- alle Dateien diesem angehängt
- und Feedback verssendet
wird.
Doch wie kann uns der EM dabei unterstützen:
Eine detailierte Einführung dazu findet sich unter anderem hier: EM – ADRCI
Wählt man eine Datenbank aus, so sieht man unter Alerts beispielhaft solche Fehler:
Klickt man dann auf eins der Meldungen und danach auf „Alle Probleme anzeigen“, landet in der Support Workbench zu dem PROBLEM, Klickt man dann unter Details auf „Anzeigen“, so werden alle INCIDENTs zu diesem PROBLEM dargestellt – wie z.B. in folgendem Fenster:
Via „Packages“ kann man es dann direkt an Oracle hochladen …
Viel Erfolg.
Rainer