Oracle Fehler für Gurus

Die untenstehenden Fehlermeldung erhalte 4-5 mal täglich. Sie tritt bei einem C++ Programm auf, das mittels OCI 8 über TCP/IP eine Oracle-DB auf einem NT-Host anspricht. Bei anderen (teilweise auch größeren - also mit mehr Usern) Installationen tritt die Meldung nicht auf. Die Oracle Onlinehilfe zu Oracle8 meint folgendes:

ORA-03123: operation would block
Cause: The attempted operation cannot complete now.
Action: Retry the operation later.

was mir nicht wirklich weiterhilft. Also hab´ ich´s im 7-er Handbuch nachgelesen, wo steht:

ORA-03123: network read would block
Cause: This is an internal error message not normally issued. The error indicates that no data is ready for a network operation that was designated as non-blocking. The read operation will be retried later.
Action: No action is necessary. The operation will automatically be retried later.

was - glaube ich - einen Fehler beschreibt, wie er in Oracle8 nicht mehr auftreten kann (Deshalb auch der neue Fehlertext). Vielleicht ist ja die Hilfe im 8er Handbuch - das mir leider nicht zur Verfügung steht - auch etwas ausführlicher. Jedenfalls ist es mehr als lästig und ich bräuchte zumindest eine Idee, wo man da ansetzen kann. Selbstverständlich gebe ich gerne weitere Auskünfte, mir ist aber noch nicht einmal ganz klar, was da alles interessant sein könnte.

Danke,
Martin

Hei,

ich kann Dir nur den untenstehenden Text aus dem Oracle Technet
anbieten. Vielleicht hilfts Dir weiter.

Ciao, Uwe

Restrictions on Connections
When you link a program using the single-task driver, it can only connect to one database at a time, which is implicitly the default database. If another database is desired, it must be explicitly referenced in the OLOG call. Additional connections to the same database, if desired, must be made using OLOG.
There are two communications modes of connecting to an Oracle database, blocking and non-blocking. With the blocking mode, an OCI call returns only when it completes, either successfully or in error. With the non-blocking mode, control is immediately returned to the OCI program if the call could not complete (with ORA-03123 message). In this case, the OCI client can continue to process other statements while waiting to retry the OCI call to the server.

Note: The non-blocking mode is based on a polling paradigm, which means that the client application must check whether the pending call has finished at the server by executing the call again with the same parameters.

See the section „Non-Blocking Mode“ for more information about connection modes.