sql >> Databasteknik >  >> RDS >> Oracle

KGXGN polling fel (15)

När du försöker starta den andra instansen i ett RAC-kluster med två noder, kommer den andra instansen inte att starta. Om instansen på nod1 körs kommer instansen på nod2 inte att starta. Om instansen på nod2 körs kommer instansen på nod1 inte att starta. Varningsloggen visar följande:

Error: KGXGN polling error (15)
Errors in file /u01/app/oracle/diag/rdbms/bsp/bsp1/trace/bsp1_lmon_9151.trc:
ORA-29702: error occurred in Cluster Group Service operation
LMON (ospid: 9151): terminating the instance due to error 29702

Tyvärr ger LMON-spårningsfilen bara samma felmeddelanden så inget att gå på där.

Det här felet uppstår på grund av en felaktig konfiguration för kluster-interconnect. Om du tittar på OCR för att se klustrets sammankoppling kan du se att NIC-enheten är eth4.1338:

[oracle@myhost bin]$ oifcfg getif -global
eth2 192.168.33.0 global public
eth4.1338 10.0.0.0 global cluster_interconnect

På en nod är enheten eth4 korrekt. Men på den andra noden är enheten eth5.1338 och OCR delas mellan noderna. OCR förväntar sig att enheten ska vara eth4.1338. Båda servrarna behöver klusteranslutningen för att vara på samma nätverksenhet. Serverns nätverkskonfiguration ändrades så att båda noderna konfigurerades på eth5.1338-enheten. När servrarna konfigurerats identiskt omdefinierade vi OCR-konfigurationen:

[oracle@myhost bin]$ ./oifcfg setif -global eth5.1338/10.0.0.0:cluster_interconnect

När vi tittar på konfigurationen kan vi se att både eth4 och eth5 fortfarande är i OCR:

[oracle@myhost bin]$ ./oifcfg getif -global
eth2 192.168.33.0 global public
eth4.1338 10.0.0.0 global cluster_interconnect
eth5.1338 10.0.0.0 global cluster_interconnect

Så vi tar bort eth4-enheten:

[oracle@myhost bin]$ ./oifcfg delif -global eth4.1338/10.0.0.0

Vi har nu OCR omkonfigurerad. Vi startade om CRS och båda instanserna kom upp på båda noderna!

Detta var ett av de fel där felmeddelandena verkligen inte pekade på en grundorsak till problemet. Istället var jag tvungen att leta runt i de områden som jag kände var de mest troliga bovarna när jag ganska blint upptäckte konfigurationsskillnaderna.


  1. Bästa sättet att testa om en rad finns i en MySQL-tabell

  2. MaxScale Basic Management med MaxCtrl för MariaDB Cluster

  3. Vad är DATALENGTH() i SQL Server?

  4. Hur testar man om en sträng är JSON eller inte?