
Das IT-Magazin der ORDIX AG mit Fachbeiträgen zu Datenbanken, Unix und Java/XML.
Der Default ergibt sich vermutlich daraus, dass Oracle den "uname" der Maschine abfragt und diesen als "gethostbyname" oder "getaddrbyname" verifiziert und dann als Verbindung zwischen den beiden Instanzen festlegt.
Im folgenden wird anhand eines HP-Systems gezeigt, wie ein zusätzlicher Interconnect "gesehen" und konfiguriert werden kann.
Zunächst wird geschaut, welche Verbindungen zur Verfügung stehen.
| netstat -i | |||||
| Name | Mtu | Network | Address | Ipkts | Opkts |
| lan2 | 1500 | 10.154.64.0 | ora1 | 40107732 | 45326123 |
| lan1 | 4352 | 192.168.100.0 | ora1hb | 1779587 | 2032602 |
| lo0 | 4136 | 127.0.0.0 | localhost | 254220 | 254221 |
| lan4 | 4352 | 192.168.101.0 | ora1ic | 3512 | 963 |
Der Rechner ora1 ist so konfiguriert, dass auf lan1 der Heartbeat (ora1hb) und auf lan4 der Interconnect (ora1ic) liegt.
Anschließend wird über den Befehl "lanscan" nochmals die Hardware Konfiguration gescannt und die Verbindung verifiziert (siehe Abb. 1: Durch den Befehl "lanscan" erzeugte Ausgabe.).
Es gibt einen konfigurierten Interconnect für Oracle RAC auf lan4, der jedoch nicht genutzt wird.
Über verschiedene Netzwerk-Befehle, wie z. B. den "lanadmin", kann man erkennen, dass kein Verkehr auf der Verbindung läuft.
Über den oradebug Aufruf unter sqlplus kann man endgültig prüfen, welcher Interconnect von Oracle genutzt wird. Man startet sqlplus und verbindet sich als Benutzer sys.
Über die folgenden oradebug Befehle bekommt man eine Tracedatei, in der der Interconnect genannt wird.
oradebug setmypid oradebug ipc oradebug tracefile_name
Dem Auszug aus dem Dump vom oradebug (siehe Abb. 2: Auszug aus dem Dump vom oradebug.) kann man entnehmen, dass der Datentransfer zwischen den Instanzen zur Zeit über das LAN (IP: 10.154.64.209) läuft.
Der Interconnect kann über den init.ora Parameter cluster_interconnects explizit konfiguriert werden. Über diesen Parameter wird die Interconnect Adresse auf die dafür vorgesehene Verbindung gelegt.
auf der ora1
cluster_interconnects = 192.168.101.1
auf der ora2
cluster_interconnects = 192.168.101.2
Nach dem Restart der Datenbank ergibt die erneute Auswertung des oradebug, wie zu erwarten war, die neue Adresse aus (siehe Abb. 3: Auswertung des oradebug nach der Rekonfiguration.).
Über verschiedene Netzwerk-Befehle kann der Datenverkehr von RAC auf dem explizit dafür vorgesehenen Interface sehr detailliert verifiziert werden.
Wie oben schon erwähnt, wird von Oracle sehr viel Wert auf die Performance des sogenannten High Speed Interconnect gelegt. Relevant wird ein eigener Interconnect vor allem dann, wenn das "normale" LAN extrem unter Last gerät, wie beispielsweise bei Datensicherungen, etc.
Bei Datenbank-Lasttests zeigt sich, dass eher die CPUs und vor allem der Platten I/O zum Engpass werden als der Interconnect, wenn er - wie oben konfiguriert - explizit für Oracle zur Verfügung steht. Zu diesen Ergebnissen werden wir dann in der nächsten ORDIX News ausführlich berichten.
Christoph Lafeld (info@ordix.de).