Σε αυτό το σημείο θα ήθελα να κάνω μια σύνοψη για τις επιλογές
εμφάνισης των περιεχομένων του alert log στην 11g, καθώς παρουσιάζονται
εμπλουτισμένες σε σχέση με προηγούμενες εκδόσεις.
Καταρχήν, η τυποποιημένη text μορφή του βρίσκεται όπως πάντα στη διαδρομή που υποδεικνύεται από την βασική παράμετρο background_dump_dest, ως εξής:
select value from v$parameter where name = 'background_dump_dest';
Υπάρχει όμως και η XML εκδοχή αυτού του αρχείου, που μπορεί να μας διευκολύνει στην ανάλυση. Αυτή θα τη βρούμε σε ποιο κατάλογο βρίσκεται με το ακόλουθο statement:
select value from v$diag_info where name='Diag Alert';
Σε αυτό τον κατάλογο, γίνονται archive τα alert logs και έχουν το ονομασία log.xml για το τρέχον, και log_.xml
για τα αποθηκευμένα. Εξαιτίας του ότι αυτά τα αρχεία περιγράφονται σε
XML, μπορούν να γίνουν αντικείμενο ανάλυσης με την χρήση XPath ή XQuery
ώστε να απομονώσουμε, υπό συνθήκες, τα περιεχόμενά τους. Ένα παράδειγμα
αναζήτησης κειμένου Oracle λαθών (ORA-xxxxx) σε αυτόν τον κατάλογο, που
αφορούν την χθεσινή ημέρα, θα μπορούσε να είναι το εξής (σε Linux):
find . -mtime -1 | xargs grep -B20 "ORA-" | grep -A20 `date --date='yesterday' +"%Y-%m-%d"`
Η εντολή θα τυπώσει τις 20 γραμμές που προηγούνται του λάθους, και τις επόμενες 20 που ακολουθούν, εφόσον αφορούν την χθεσινή ημέρα.
Ένας τρίτος τρόπος, μας προσφέρεται από το command-line interface του Automatic Diagnostic Repository (ADR) ώστε να μπορούμε να κάνουμε spool, tail ή αναζήτηση στο alert log μέσω του ADRCI (http://docs.oracle.com/cd/E11882_01/server.112/e22490/adrci.htm#SUTIL700)
Τέλος, αν δεν έχουμε φυσική πρόσβαση στον database server, τότε υπάρχει και το καταφύγιο της SQL. Με την ακόλουθη εντολή μπορούμε να δούμε τις σημερινές εγγραφές στο alert log.
select message_text from X$DBGALERTEXT where trunc(originating_timestamp) = trunc(sysdate) order by originating_timestamp asc;
Καταρχήν, η τυποποιημένη text μορφή του βρίσκεται όπως πάντα στη διαδρομή που υποδεικνύεται από την βασική παράμετρο background_dump_dest, ως εξής:
select value from v$parameter where name = 'background_dump_dest';
Υπάρχει όμως και η XML εκδοχή αυτού του αρχείου, που μπορεί να μας διευκολύνει στην ανάλυση. Αυτή θα τη βρούμε σε ποιο κατάλογο βρίσκεται με το ακόλουθο statement:
select value from v$diag_info where name='Diag Alert';
Σε αυτό τον κατάλογο, γίνονται archive τα alert logs και έχουν το ονομασία log.xml για το τρέχον, και log_
find . -mtime -1 | xargs grep -B20 "ORA-" | grep -A20 `date --date='yesterday' +"%Y-%m-%d"`
Η εντολή θα τυπώσει τις 20 γραμμές που προηγούνται του λάθους, και τις επόμενες 20 που ακολουθούν, εφόσον αφορούν την χθεσινή ημέρα.
Ένας τρίτος τρόπος, μας προσφέρεται από το command-line interface του Automatic Diagnostic Repository (ADR) ώστε να μπορούμε να κάνουμε spool, tail ή αναζήτηση στο alert log μέσω του ADRCI (http://docs.oracle.com/cd/E11882_01/server.112/e22490/adrci.htm#SUTIL700)
Τέλος, αν δεν έχουμε φυσική πρόσβαση στον database server, τότε υπάρχει και το καταφύγιο της SQL. Με την ακόλουθη εντολή μπορούμε να δούμε τις σημερινές εγγραφές στο alert log.
select message_text from X$DBGALERTEXT where trunc(originating_timestamp) = trunc(sysdate) order by originating_timestamp asc;
No comments:
Post a Comment