Ich habe meine maximale Anzahl von Cursorn pro Datenbank 300 von der folgenden Abfrage gefunden:
%Vor%Ich habe versucht, den Betrag auf 1000 zu aktualisieren:
%Vor%Aber ich sehe diesen Fehler:
%Vor%Was ist der richtige Weg, um den open_cursor Wert zu aktualisieren? Danke.
Angenommen, Sie verwenden eine spfile zum Starten der Datenbank
%Vor%Wenn Sie stattdessen eine Datei verwenden, können Sie die Einstellung für die laufende Instanz ändern
%Vor% Sie müssten dann auch die Parameterdatei bearbeiten, um die neue open_cursors
-Einstellung anzugeben. Es wäre in der Regel eine gute Idee, die Datenbank kurz danach neu zu starten, um sicherzustellen, dass die Änderung der Parameterdatei wie erwartet funktioniert (es ist höchst ärgerlich, Monate später beim nächsten Neustart der Datenbank festzustellen, dass sich einige Parameterdateien ändern, als sich niemand an Wasn erinnert) 't richtig gemacht).
Ich hoffe auch, dass Sie sicher sind, dass Sie pro Sitzung mehr als 300 offene Cursor benötigen. Ein großer Teil der Zeit, Menschen, die diese Einstellung anpassen, haben tatsächlich ein Cursor-Leck und sie versuchen einfach, über den Fehler zu packen, anstatt die Ursache anzusprechen.
RN die folgende Abfrage zu finden, wenn Sie spfile ausführen oder nicht:
%Vor%Wenn das Ergebnis "SPFILE" ist, verwenden Sie den folgenden Befehl:
alter Systemsatz open_cursors = 4000 scope = both; --4000 ist die Nummer des geöffneten Cursors
Wenn das Ergebnis "PFILE" ist, verwenden Sie den folgenden Befehl:
%Vor%Sie können hier über SPFILE vs PFILE lesen,
Tags und Links oracle11g