Einzelnen Beitrag anzeigen

jmy0123445

Registriert seit: 17. Mär 2010
9 Beiträge
 
#1

Oracle ORA-12637 XE7/FireDAC

  Alt 22. Mär 2021, 10:38
Datenbank: Oracle • Version: AWS • Zugriff über: FireDAC
Hallo,

1.Vorpann
erstmal nach sehr langer Zeit ein fröhliches 'Hallo' in die Runde. Und danke an alle Aktiven als stiller Mitleser. In den letzten Jahren gab es nur wenig Probleme mit unseren DELPHI Applikationen. Einige unserer Projekte laufen nun seit Beginn von DELPHI 32 Bit. Also feiern jetzt silberne Hochzeit. Die Applikationen könnten mich glatt noch in die Rente begleiten, was ich damals nie gedacht hätte. Vor allem bei der zwischenzeitlichen Entwicklung von DELPHI.

2. Systemumgebung

Aktuelle Konfiguration
* Betriebssystem Window 10 20H2 (nativ und Remotedesktop)
* Entwicklungsumgebung DELPHI XE7 mit FireDAC
* Oracle Datenbank 12C, in Rechenzentrum gehostet und über Zscaler v3.1.x erreichbar

Zukünftige Konfiguration (nativ und Remotedesktop)
* Betriebssystem Window 10 20H2
* Entwicklungsumgebung DELPHI XE7 mit FireDAC
* Amazon RDS for Oracle (AWS), Amazon Cloud und über ZScaler v3.1.x erreichbar

Wir haben eine recht komplexe Datenbankanwendung unterwegs, die aktuell mit einer Oracle Datenbank 12c R2 arbeitet. Die Anwendung hat nun besagte 25 Jahre auf dem Buckel. Die Client Anwendung greift über FireDAC auf die Oracle Datenbank zu. Entwicklungsumgebung ist Delphi XE7. Eine Aktualisierung auf die neuen DELPHI Versionen will der Kunde aktuell nicht durchführen, auch wenn es mir lieber wäre. Allerdings gibt es ein paar Komponenten, die wir immer wieder anpassen müssen, da der Vendor nicht mehr existiert. das kann manchmal aufwändig sein, vor allem auf Grund des Testings.
Die Anwendung lief bis 2015 unter Windows XP. Der Datenbankzugriff erfolgte über die BDE. Im Rahmen einer Windows 7/10 Umstellung wurde die Anwendung angepasst und die BDE durch FireDAC ersetzt. Auch wenn nicht alles optimal geworden ist, so hat damals die Umstellung erstaunlich gut geklappt. Auch wenn viele Strukturen historisch gewachsen sind und man es heute nicht mehr so implementieren würde.933

3- Problem
Die Datenbank Oracle 12C R2 soll in die Cloud migriert werden. Dies hat soweit funktioniert. Zugriff über DBeaver und Oracle SQL Developer scheinen sauber ohne Fehlermeldung zu funktionieren. Mit einer älteren ZScaler Version (3.0.x) kam es auch dort zu den unten beschriebenen Fehlern.
Unsere Datenbankanwendung erzeugt beim Starten so ca. jedes 10. mal den Fehler ORA-28547. Dann startet die Anwendung gar nicht. Damit könnten wir leben, ist aber auch unschön.
Deutlich häufiger tritt aber der Fehler ORA-12637 - packet received failed auf. Er scheint zunächst keinerlei Auswirkungen zu haben, in seltenen Fällen stürzt das Programm aber ab. Meine Debugging Möglichkeiten sind aktuell begrenzt (IT Einschränkungen).

Meine Frage:
Ist dieser Fehler ORA-12637 bei jemandem schon mal aufgetreten?
Gibt es da vielleicht Möglichkeiten, im Connection String Timeout Werte zu setzen?
Gibt es da möglicherweise Möglichkeiten. dies in den FireDAC Komponenten zu erledigen?
Habt ihr da vielleicht Empfehlungen oder andere sachdienliche Hinweise?
Ist der Fehler vielleicht

Ich stehe mit den verantwortlichen bei Amazon und dem datenbankteam in direktem Kontakt (direkter Kontakt, nicht irgendwelche telefonischer Support, es sind die Personen, die auch die Migration durchgeführt haben), ebenso mit der verantwortlichen IT. Aber auch da komme ich nicht wirklich weiter. Bei Embarcadero habe ich auch schon angefragt, bisher aber noch nichts gehört.

Mein Bauchgefühl ist, dass die Kommunikation über den ZScaler manchmal verzögert abläuft, so dass Antworten vom Datenbankserver stark verzögert werden und im Client quasi ein Timeout erezeugen. Unter ZScaler 3.0.x war eine Kommunikation gar nicht möglich, auch nicht mit dem SQL Developer. Aktuell ist es mir nicht möglich, die Anwendung zu debuggen bzw. eine spezielle Version mit mehr Debug Meldungen zu erzeugen. Da die Datenbankzugriffe auf Grund der alten Sourcen teilweise sehr verteilt sind, wäre es auch schwierig, da einen Fehler exakt zu bestimmen.

Ich danke euch für die Unterstützung. Sourcen kann ich aktuell nicht beisteuern, da ich nicht weiß, wo und wann der Fehler auftritt. Er tritt immer unvermittelt auf und nicht bei bestimmten Operationen oder Funktionen.

Sorry für den vielen Text. Sollte ich anderweitig eine Problemlösung finden, werde ich die hier auf jeden Fall weitergeben.

Gruß
Martin
  Mit Zitat antworten Zitat