2008-10-05 3 views
7

Wenn Sie sich zum ersten Mal eine Oracle-Datenbank ansehen, lautet eine der ersten Fragen häufig "Wo ist das Warnprotokoll?". Grid Control kann es Ihnen sagen, aber es ist oft nicht in der Umgebung verfügbar.So finden Sie das Oracle-Warnprotokoll und schließen es ab

Ich habe einige Bash- und Perl-Skripte gepostet, um das Alarmprotokoll on my blog vor einiger Zeit zu finden und zu beenden, und ich bin überrascht, dass der Beitrag immer noch viele Treffer bekommt.

Die verwendete Technik besteht darin, background_dump_dest von v $ -Parameter nachzuschlagen. Aber ich habe das nur auf Oracle Database 10g getestet.

Gibt es einen besseren Ansatz als das? Und weiß jemand, ob das in 11g noch funktioniert?

Antwort

8

Bin sicher, es wird in 11g arbeiten, dieser Parameter ist schon seit langer Zeit.

Scheint wie der richtige Weg, um es mir zu finden.

Wenn die background_dump_dest Parameter nicht gesetzt ist, wird der alert.log in $ ORACLE_HOME/RDBMS/Spur gesetzt wird

+1

@cagcowboy hey, danke für den Tipp über das, was passiert, wenn der Parameter nicht gesetzt ist ... die Skripte habe ich nicht berücksichtigt – tardate

3

Sobald Sie das Protokoll geöffnet hast, würde ich mit File::Tail oder File::Tail::App hält es für angezeigt wie es geschrieben wird, anstatt zu schlafen und zu lesen. File::Tail::App ist besonders schlau, weil es die rotierte und wechselnde Datei erkennt und sich daran erinnert, wo Sie zwischen den Aufrufen Ihres Programms waren.

Ich würde auch überlegen, Ihre Cache-Datei vor der Verwendung zu sperren. Die Race-Bedingung mag Sie nicht stören, aber wenn mehrere Leute versuchen, Ihr Programm sofort zu starten, könnte das zu unangenehmen Auseinandersetzungen darüber führen, wer in die Cache-Datei schreiben soll.

Beide sind jedoch Nit-Picks. Mein kurzer Blick auf Ihren Code verrät keine eklatanten Fehler.

+0

@pjf danke .. gute Punkte für Tailing in Perl. Für diese Verwendung wollte ich jedoch innerhalb der Standard-Perl-Module bleiben, die Teil der Oracle-Installation sind. Momentan gehören File :: Tail oder File :: Tail :: App nicht dazu. – tardate

Verwandte Themen