Hallo tomh! Hallo Michael!
hi!
ohne source-code-einsicht (was ist los, martin? ich bin
enttäuscht :
falls _normaler_ sql-zugriff:
in der init.ora-datei gibt’s den parameter max_open_cursors,
wenn du den auch nur ein bißchen erhöhst (kannst ruhig ein
paar hunderter drauflegen), ist die fehlermeldung weg (danach
kannst du den parameter anpassen, falls die db mucken macht
bzw. die performance den bach runter geht)
Jetzt bin ich aber von dir enttäuscht, tom ! Das könnte zwar (unter Umständen) den Fehler verstecken, beheben tut es ihn aber eher nicht (ausser das Script ist schon richtig und nur der max_open_cursors ist zu niedrig, was meiner Erfahrung nach nicht so oft der Fall ist).
Folgendes Script bringt dir den Fehler aber mit Sicherheit immer, egal wie hoch du max_open_cursors setzt:
begin
declare cCur INTEGER;
begin
LOOP
cCur := DBMS\_SQL.OPEN\_CURSOR();
END LOOP;
end;
end;
Deshalb auch mein Hinweis: Ohne Sourcecode ist der Fehler nicht 100 %-ig lokalisierbar.
falls du aber nicht per _normalen_ sql zugreifst, sondern
durch bsp. java, mußt du aufpassen, daß sämtliche cursor
geschlossen werden
Nicht nur dann, wie ich meine…
Gruß,
Martin