Skip to Main Content

Breadcrumb

Listener hängt nach 2049 Connects

Oracle Datenbank 12c

Oracle 12c Datenbank Listener und nicht englisches Windows - warum soll man sich auch öfter als 2048 mal anmelden können?

Die Frage, die ich mir immer wieder stelle, ist: Warum betreibt man Oracle Datenbanken überhaupt unter Windows? Und wenn es schon nicht anders geht, dann bitte aber mit einem englischen Windows!

Neben vielen anderen Themen wie "nicht funktionierende Performance Daten" (sowohl im Windows Performance Monitor als auch im Oracle Enterprise Manager), langen Wartezeiten bis Patches verfügbar sind aber auch dem Problem, dass man keine zwei Oracle Installationen mit der gleichen Release (also zB: 11.2.0.3 und 11.2.0.4) parallel betreiben kann, gibt es auch immer wieder BUGs, die nur auf Windows (und oft genug nur auf nicht englischem Windows) auftreten.

Alles funktioniert - aber nur kurz!

Nach der Installation der Oracle 12c Datenbank (12.1.0.1) läuft alles perfekt. Man kann sich anmelden, arbeiten,... aber nach einiger Zeit - um genau zu sein: nach 2.048 erfolgreichen Anmeldungen - bleibt der nächste Connect hängen.
Je nach Applikation bekommt man die unterschiedlichsten Reaktionen, oft genug findet man dann irgendwo einen ORA-609 oder einen ORA-1403 in einem Log oder Tracefile.

Die Analyse

Wenn man einen SQL Net Admin Trace einschaltet, findet man folgenden Inhalt (gekürzt!)

...
nttfpwr: socket 4024 had bytes written=188
nttfpwr: exit
nsbasic_bsd: packet dump
...
nsbasic_bsd: 00 00 21 4F 52 41 2D 30 |..!ORA-0|
nsbasic_bsd: 31 34 30 33 3A 20 61 75 |1403:.au|
nsbasic_bsd: 63 75 6E 65 20 64 6F 6E |cune.don|
nsbasic_bsd: 6E E9 65 20 74 72 6F 75 |n.e.trou|
nsbasic_bsd: 76 E9 65 0A |v.e.

Dass Problem ist, dass die Oracle Entwickler im Code wieder einmal HARDCODED auf englische Texte abfragen - in diesem Fall wird die Lokale Operating System Gruppe "Administrators" gesucht.
Oracle hat dies als Bug 17846528 CONNECTIONS THROUGH LISTENER HANG AFTER 2049 ATTEMPTS ON NON-ENGLISH SERVERS dokumentiert.

Betroffene Systeme

Jedes nicht englische Windows (Windows 7, Windows 2008R2, Windows 2012) auf dem Oracle 12c (12.1.0.1) installierbar ist. Mit dem - aktuell noch nicht verfügbaren - 12.1.0.2 Patchset wird dieser Fehler behoben sein.

Workaround

Legen Sie eine LOKALE Gruppe "Administrators" an. Sobald diese Gruppe vorhanden ist, verschwindet das Problem.