linux:oracle_rac_global_cache_block_lost
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
linux:oracle_rac_global_cache_block_lost [2015/03/28 17:27] – [Netzwerkprobleme auf einen Oracle RAC Interconnect untersuchen - Global Cache Block Lost Events auf Netwerkprobleme zurückführen] gpipperr | linux:oracle_rac_global_cache_block_lost [2015/03/28 17:28] (aktuell) – [Monitoring] gpipperr | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | =====Netzwerkprobleme auf einen Oracle RAC Interconnect untersuchen - Global Cache Block Lost Events auf Netwerkprobleme zurückführen===== | ||
+ | |||
+ | **11g/12c** | ||
+ | |||
+ | |||
+ | In einer RAC Umgebung werden jeden Tag über den OEM zur selben Zeit viele " | ||
+ | |||
+ | Zugleich fallen bei der Untersuchung des Interconnects " | ||
+ | |||
+ | |||
+ | ===Analyse === | ||
+ | |||
+ | |||
+ | siehe auch => Troubleshooting gc block lost and Poor Network Performance in a RAC Environment (Doc ID 563566.1) | ||
+ | |||
+ | |||
+ | Überprüfen mit **ethtool**: | ||
+ | |||
+ | <code bash> | ||
+ | | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | Ring Buffer des Nics prüfen: | ||
+ | <code bash> | ||
+ | | ||
+ | </ | ||
+ | Falls " | ||
+ | |||
+ | |||
+ | Flow Control überpürfen: | ||
+ | <code bash> | ||
+ | ethtool -a eth0 | ||
+ | |||
+ | Pause parameters for eth0: | ||
+ | Autonegotiate: | ||
+ | RX: on | ||
+ | TX: on | ||
+ | </ | ||
+ | Falls off, einschalten mit " | ||
+ | siehe auch => LINUX: POOR RAC-INTERCONNECT PERFORMANCE AFTER UPGRADE FROM RHEL3 TO RHEL4/OEL4 (Doc ID 400959.1) | ||
+ | |||
+ | === " | ||
+ | |||
+ | Eine Lösung bei einer höheren Anzahl vn TX drops (TX-DRP) kann von das Erhöhen der " | ||
+ | |||
+ | |||
+ | Aktuellen Wert überprüfen (Emulex network interface) , falls extra gesetzt: | ||
+ | <code bash> | ||
+ | cat / | ||
+ | 8192 | ||
+ | |||
+ | #setzen in der | ||
+ | cd / | ||
+ | |||
+ | vi be2net.conf | ||
+ | .. | ||
+ | options be2net rx_frag_size=8192 | ||
+ | .. | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | siehe auch => http:// | ||
+ | |||
+ | |||
+ | ===Monitoring=== | ||
+ | |||
+ | |||
+ | Ein Script für das Monitoring erstellen. | ||
+ | Das Script fragt das Netzwerk Interface des Interconnects (bei Bonding das Bond Interface verwenden!) ab und rolliert jeden Tag den Logfile | ||
+ | <code bash> | ||
+ | #!/bin/sh | ||
+ | # | ||
+ | # | ||
+ | # read the interface statistic and write the information to a log file | ||
+ | # | ||
+ | ########## Environment ############## | ||
+ | DAY_OF_WEEK=" | ||
+ | export DAY_OF_WEEK | ||
+ | |||
+ | DAY=" | ||
+ | export DAY | ||
+ | |||
+ | # Home of the scrips | ||
+ | SCRIPTPATH=$(cd ${0%/*} && echo $PWD/ | ||
+ | SCRIPTS=`dirname " | ||
+ | export SCRIPTS | ||
+ | |||
+ | ########## Configuration ############## | ||
+ | INTERFACE=" | ||
+ | HOST=`hostname -a` | ||
+ | |||
+ | |||
+ | ######### Log file Handling ########### | ||
+ | OVERWRITE=" | ||
+ | |||
+ | # check if a new file must be created | ||
+ | if [ ! -e $SCRIPTS/ | ||
+ | OVERWRITE=" | ||
+ | else | ||
+ | # check the age of the file | ||
+ | # if older then one day overwrite | ||
+ | FILEAGE_SECONDS=`date -d "now - $( stat -c " | ||
+ | | ||
+ | if [ -z " | ||
+ | FILEAGE_SECONDS=0; | ||
+ | fi | ||
+ | | ||
+ | if [ " | ||
+ | OVERWRITE=" | ||
+ | fi | ||
+ | | ||
+ | fi | ||
+ | |||
+ | if [ " | ||
+ | echo " | ||
+ | echo " | ||
+ | fi | ||
+ | |||
+ | |||
+ | # get the figures | ||
+ | / | ||
+ | |||
+ | # | ||
+ | </ | ||
+ | |||
+ | |||
+ | Über die Crontab einen Job einrichten der jede Minute das Interface des Interconnects abfragt: | ||
+ | <code bash> | ||
+ | crontab –l | ||
+ | … | ||
+ | #get the network statistic from the interconnect interface | ||
+ | */1 * * * * / | ||
+ | .. | ||
+ | </ | ||
+ | |||
+ | Für die Auswertung werden die Log Files sortiert und per " | ||
+ | |||
+ | Ergibt sich eine Differenz sind Netzwerk Pakete verloren gegangen und der Wert wird protokolliert. | ||
+ | |||
+ | |||
+ | Die erzeugten Logfiles auswerten mit: | ||
+ | <code bash> | ||
+ | |||
+ | #Auswertung mit | ||
+ | cat *.log | awk ' | ||
+ | |||
+ | </ | ||
+ | Verbesserungsvorschlag=> | ||
+ | |||
+ | |||
+ | |||
linux/oracle_rac_global_cache_block_lost.txt · Zuletzt geändert: 2015/03/28 17:28 von gpipperr