ORA-01000 oznacza, że liczba otwartych kursorów w ramach sesji przekracza maksymalną dozwoloną wartość - określoną przez parametr open_cursors.
Tak możemy sprawdzić liczbę otwartych kursorów dla poszczególnych sesji:
Natomiast tak sprawdzimy, czy zbliżamy się do wartości określonej parametrem:
Co zrobić? Sprawdzić, czy kursory są poprawnie zamykane. Możliwe, że są. Może po prostu potrzebujemy czasami takiej ilości otwartych kursorów. Wystarczy wówczas zwiększyć wartość parametru:
Cytując fragment dyskusji z Ask Tom:
- Czy wpłynie to na działanie aplikacji?
- Tak. Zacznie działać w miejscach, w których do tej pory mogła się sypać.
- Jakie są zalecane wartości?
- Ustawiamy na 500 - 1000 i zapominamy o problemie. Jeżeli kursory wyciekają, prędzej czy później i tak przekroczą wartość graniczną.
Scope przyjmuje następujące wartości:
- SPFILE (For both static and dynamic parameters, changes are recorded in the spfile, to be given effect in the next restart.)
- MEMORY (For dynamic parameters, changes are applied in memory only. No static parameter change is allowed.)
- BOTH (For dynamic parameters, the change is applied in both the server parameter file and memory. No static parameter change is allowed.)
Polecam:
Monitoring Open and Cached Cursors
Ask Tom - Open cursors exceeded
Setting the Server Parameter File Values
Brak komentarzy:
Prześlij komentarz