Announcement

Collapse
No announcement yet.

ORACLE ERROR : toomany OPEN CURSORS : bei 500 immer noch dieser Fehler !?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ORACLE ERROR : toomany OPEN CURSORS : bei 500 immer noch dieser Fehler !?

    DElphi 5.0 ente ORACLE 8.1.5 oci-Zugriff über BDE
    folgende Fehler werden zusammen angezeigt :
    ORA 00604 Fehler auf rekursiver SQL-Ebene 1
    ORA 01000 Maximale Anzahl offener Cursor überschritten Anzeige ESpezifik
    (DbGrid auf TQuery)
    habe in init.ora den Parameter "processes" stufenweise von 200 , 300, 400
    auf jetzt 500 gesetzt : immer noch kommt obige Fehlermeldung !
    Dieselbe Meldung kommt auch bei anderen Programmteilen(Hauptmasken).
    Fehlerwahrscheinlichkeit scheint mit der Benutzeranzahl zu steigen.

    tablespaces nur mit 50% ausgelastet.

    Beim Beeenden jeder Hauptmaske werden alle Queries und die DB geschlossen !

    In Queries ist grundsätzlich immer "default session" gesetzt.

    Jetzt weiß ich garnix mehr... HHHIIILLLFFFFEEE !!!!!

    MfG
    Wolf

  • #2
    Hallo Wolf,

    die Oracle-Hilfe schreibt folgendes:<pre>
    ORA-01000: maximum open cursors exceeded
    Cause: A host language program attempted to open too many cursors. The ini-tialization
    parameter <b>OPEN_CURSORS</b> determines the maximum number of
    cursors per user.
    Action: Modify the program to use fewer cursors. If this error occurs often,
    shut down Oracle, increase the value of OPEN_CURSORS, and then restart
    Oracle.</pre>
    Dein hochsetzen von processes hat also auf die maximale Anzahl von Cursors per User keine Auswirkung. Was sagt den bei dir der Parameter <b>OPEN_CURSORS</b>?

    Gruß Fal
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      nun, einem Forum-Eintrag in den ORACLE-metalinks entnahm ich, daß
      der Wert 'processes' in der init.ora diesem Cursors-Wert entspräche;
      aber vielleicht habe ich das auch falsch verstanden..

      Einem weiteren Beitrag entnahm ich inzwischen, daß die Werte
      HOLD_CURSOR und RELEASE_CURSOR anders gesetzt werden könnten..
      Aber - wie bei anderen ORACLE-Comments- steht nicht, wo es diese Einträge gibt !? in der init.ora stehen sie jedenfalls nicht,
      und beim ORACLE-Entrprise-Manager sehe ich dazu auch nix (noch nicht einmal in irgendeiner Hilfe)

      ???????????????

      Comment


      • #4
        Hallo Wolf,

        ich bin kein Oracle-Admin, deshalb kann ich mich immer nur auf die Oracle-Doku beziehen. Dort hab ich zumindest gefunden das OPEN_CURSORS in der init.ora steht und per default auf 50 gesetzt ist. Für HOLD_CURSOR und RELEASE_CURSOR hab ich keine Hinweise gefunden.

        Gruß Fal
        Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

        Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

        Comment


        • #5
          Hallo, Herr PRüfer,
          und Danke für Antwort !

          Hier gab es Mißverständnisse :
          in meiner init.ora stand n i c h t OPEN_CURSORS ! Aber man kann es hinzufügen wie auch andere Parameter..
          Aufgrund einer Antwort auf einen älteren Forum-Eintrag hatte ich
          den Unterstrich weggelassen, sodaß die Wirkung nicht wie vorgesehen
          eintrten konnte; ein Eintrag in den ORACLE-metalinks sprach in diesem
          Zusammenhang aber von den PROCESSES, was aber offensichtlich so nicht stimmt.
          Der in einem anderen FOrum-Beitrag meinerseits erwähnte BLOB-Error
          bei großen varchar2-Feldern in Verbindung mit TQuery scheint ebenfalls
          mit diesen Einstellungen zusammenzuhängen.

          Habe jetzt eingestellt : OPEN_CURSORS = 200 PROCESSES=200

          mal sehn, was passiert..

          Gruß Wol

          Comment

          Working...
          X