powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / посмотреть открытые курсоры
25 сообщений из 27, страница 1 из 2
посмотреть открытые курсоры
    #34932747
Ixtiander06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проверяю открытые курсоры таким образом:
Код: plaintext
1.
2.
3.
4.
select a.value, s.program, s.username, s.sid, s.serial#
from v$sesstat a, v$statname b, v$session s
where a.statistic# = b.statistic#  and s.sid=a.sid
and b.name = 'opened cursors current'
order by  1  desc
что-то их оказывается у некоторых процессов больше, чем должно быть. Как посмотреть, что это за курсоры (SQL)? v$open_cusor не проходит, там не все фактически открытые, а те которые в кэше сессии. А как тогда?
...
Рейтинг: 0 / 0
посмотреть открытые курсоры
    #34932927
Jannny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ixtiander06что-то их оказывается у некоторых процессов больше, чем должно быть.Это Вы как определяете , что должно быть?

Ixtiander06Как посмотреть, что это за курсоры (SQL)? v$open_cusor не проходит, там не все фактически открытые, а те которые в кэше сессии. А как тогда?Так свяжите с предыдущим запросом :)
...
Рейтинг: 0 / 0
посмотреть открытые курсоры
    #34933037
хрум-хрум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в одной сессии одновременно может быть открыт только один курсор. Все остальные кэшированные.
...
Рейтинг: 0 / 0
посмотреть открытые курсоры
    #34933057
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хрум-хрумв одной сессии одновременно может быть открыт только один курсор. Все остальные кэшированные.RTFM до проподания хруста
...
Рейтинг: 0 / 0
посмотреть открытые курсоры
    #34933062
Дубовая голова
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хрум-хрумв одной сессии одновременно может быть открыт только один курсор. Все остальные кэшированные.

Может, и доказательства приведет благородный дон под "серым" ником ?
...
Рейтинг: 0 / 0
посмотреть открытые курсоры
    #34933264
Ixtiander06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jannny Ixtiander06что-то их оказывается у некоторых процессов больше, чем должно быть.Это Вы как определяете , что должно быть?
я знаю логику приложения, знаю что там стоит ограничение, не позволяющее держать открытыми больше 5 курсоров (только не спрашивайте, почему плиз!). Если хочет открыть больше, должен на старый курсор сделать SQLFreeStmt (это не ODBC, но похоже, всё сводится к EXEC SQL close...). Статистики показывают, что открыто 7 курсоров!!!

JannnyТак свяжите с предыдущим запросом :)
??? пардон, шутку не понял :-(
...
Рейтинг: 0 / 0
посмотреть открытые курсоры
    #34933778
Ixtiander06v$open_cusor не проходит, там не все фактически открытые, а те которые в кэше сессии .
это откуда такая инфа?
...
Рейтинг: 0 / 0
посмотреть открытые курсоры
    #34934115
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поподробнее Ixtiander06v$open_cusor не проходит, там не все фактически открытые, а те которые в кэше сессии . это откуда такая инфа?" в том числе и те, которые"
STFF Кэширование курсоров в PL/SQL
RTFM SESSION_CACHED_CURSORS (FAQ)
...
Рейтинг: 0 / 0
посмотреть открытые курсоры
    #34935136
Ixtiander06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic" в том числе и те, которые"

с уточнением согласен :-). А всё же, назад к моему вопросу бы...
...
Рейтинг: 0 / 0
посмотреть открытые курсоры
    #34935176
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ixtiander06А всё же, назад к моему вопросу бы...Может "лишние" - это служебные того приложения. Смотри по тексту курсоров и по трассе.
А вообще непонятно, зачем это копательство :)
...
Рейтинг: 0 / 0
посмотреть открытые курсоры
    #34935719
Ixtiander06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic Ixtiander06А всё же, назад к моему вопросу бы...Может "лишние" - это служебные того приложения. Смотри по тексту курсоров и по трассе.
А вообще непонятно, зачем это копательство :)
не из любви к искусству :-) Есть система, которая нормально работает в продуктивном режиме. Её же установили для тестирования на другой машине. И некоторые процессы вылетают с maximum open cursors exceeded. Посмотрел статистики - вроде действительно больше, чем open_cursors. Но система нормально работает в продукции и там у процессов "правильное" количество open cursors! Вот и копаюсь...

"Служебные курсоры" - это что-то конкретное имеется в виду или абстрактное предположение? И как посмотреть текст - в этом-то и был мой первый вопрос? Если v$open_cursor не катит?
...
Рейтинг: 0 / 0
посмотреть открытые курсоры
    #34935760
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ixtiander06"Служебные курсоры" - это что-то конкретное имеется в виду или абстрактное предположение ? И как посмотреть текст - в этом-то и был мой первый вопрос? Если v$open_cursor не катит?Почему не катит?
...
Рейтинг: 0 / 0
посмотреть открытые курсоры
    #34935861
Ixtiander06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic Ixtiander06"Служебные курсоры" - это что-то конкретное имеется в виду или абстрактное предположение ? И как посмотреть текст - в этом-то и был мой первый вопрос? Если v$open_cursor не катит?Почему не катит?
??? Потому что хочу увидеть действительно одновременно открытые, а не те, которые ещё не выкинуты из кэша
...
Рейтинг: 0 / 0
посмотреть открытые курсоры
    #34935905
Jannny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ixtiander06??? Потому что хочу увидеть действительно одновременно открытые, а не те, которые ещё не выкинуты из кэшаМного - не мало.

Ixtiander06 JannnyТак свяжите с предыдущим запросом :)
??? пардон, шутку не понял :-(Это не была шутка. Если записей больше, чем Вам нужно, то выберите только те, что Вам нужны, а их Вы знаете по первому запросу :)
...
Рейтинг: 0 / 0
посмотреть открытые курсоры
    #34936076
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ixtiander06Потому что хочу увидеть действительно одновременно открытые, а не те, которые ещё не выкинуты из кэшаЗакэшированные PL/SQL-ем курсоры имеют харатерную схему именования bind-переменных
...
Рейтинг: 0 / 0
посмотреть открытые курсоры
    #34936186
????!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elic Ixtiander06Потому что хочу увидеть действительно одновременно открытые, а не те, которые ещё не выкинуты из кэшаЗакэшированные PL/SQL-ем курсоры имеют харатерную схему именования bind-переменных

а если нет bind-переменных в запросе.
...
Рейтинг: 0 / 0
посмотреть открытые курсоры
    #34936343
Ixtiander06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JannnyЭто не была шутка. Если записей больше, чем Вам нужно, то выберите только те, что Вам нужны, а их Вы знаете по первому запросу :)
имеется в виду запрос из моего первого постинга? Так он только количество открытых курсоров возвращает :-(. Или я опять чего-то не понял?
...
Рейтинг: 0 / 0
посмотреть открытые курсоры
    #34936374
Фотография dmidek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ixtiander06 JannnyЭто не была шутка. Если записей больше, чем Вам нужно, то выберите только те, что Вам нужны, а их Вы знаете по первому запросу :)
имеется в виду запрос из моего первого постинга? Так он только количество открытых курсоров возвращает :-(. Или я опять чего-то не понял?

Здравствуйте, Андрей :-)

А почему Вы не можете добавить в исходный запрос
v$open_cursor ?

Вяжете по sid-у сессии и уже потом анализируете тексты курсоров по sql_text для
сессий ...
...
Рейтинг: 0 / 0
посмотреть открытые курсоры
    #34936570
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
????!а если нет bind-переменных в запросе.А много ли найдётся таких, за которые не нужно выдёргивать ноги? :)
...
Рейтинг: 0 / 0
посмотреть открытые курсоры
    #34938363
Ixtiander06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmidek

А почему Вы не можете добавить в исходный запрос
v$open_cursor ?

Вяжете по sid-у сессии и уже потом анализируете тексты курсоров по sql_text для
сессий ...

можно добавить, а можно - как я делал - просто вытащить и посмотреть с ним в - суть дела не меняется:
есть v$sesstat, который показывают число фактически одновременно открытых курсоров, противоречащее тому, что я знаю о логике приложения, но не показывает текст курсоров. И есть v$open_cursor, который показывает SQL курсоров из кэша, про которые я и без него знаю, что такие команды когда-то сессией исполнялись. Вопрос таким образом остаётся...

То ли я ломлюсь в открытую дверь, то ли эта тема никого до сих пор не интересовала, что удивительно :-(
...
Рейтинг: 0 / 0
посмотреть открытые курсоры
    #34938736
Jannny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ixtiander06И есть v$open_cursor, который показывает SQL курсоровскажем так, его часть, но если это Вас устраивает...

Ixtiander06И есть v$open_cursor, который показывает SQL курсоров из кэшаА Вы понимаете, что сейчас открытый курсор также входит в понятие "курсоров из кеша"?...

Ixtiander06можно добавить, а можно - как я делал - просто вытащить и посмотреть с ним в - суть дела не меняется:Что есть "посмотреть с ним"?
...
Рейтинг: 0 / 0
посмотреть открытые курсоры
    #34939147
Ixtiander06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JannnyА Вы понимаете, что сейчас открытый курсор также входит в понятие "курсоров из кеша"?...
да.
Это уже 20-й постинг, я наверное очень плохо обьясняю чего хочу. Ещё раз: v$sesstat говорит: в настоящий момент открыто Х курсоров. Я хочу посмотреть их - и только их - тексты.

Jannny Ixtiander06можно добавить, а можно - как я делал - просто вытащить и посмотреть с ним в - суть дела не меняется:Что есть "посмотреть с ним"?
сорри! Должно было быть так:
как я делал - просто вытащить SID и посмотреть с ним в V$OPEN_CURSOR - суть дела не меняется
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
посмотреть открытые курсоры
    #40022114
CrazyDiamond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Позвольте воскресить из мёртвых сей пост, но я всё уже перерыл и не понимаю.
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

Сессия изредка крашится по ORA-01000: maximum open cursors exceeded
Лимит как у тракториста - триста.

Кешироваться больше 50ти - не может, если я правильно понимаю
session_cached_cursors 50
Код: plsql
1.
2.
3.
SELECT name, value
FROM v$parameter
WHERE NAME = 'session_cached_cursors'



Сейчас открыто уже 197
opened cursors current 197
Код: plsql
1.
2.
3.
4.
5.
SELECT b.name, a.value
FROM v$sesstat a, v$statname b
WHERE a.statistic# = b.statistic#  
AND b.name = 'opened cursors current'
AND SID = 10523



Как мне посмотреть их SQL-код, опознать их как либо? Я вижу только sql_id закешированных
46 строк, всего одна задублирована
Код: plsql
1.
2.
3.
4.
SELECT sql_id, COUNT(1)
FROM v$open_cursor 
WHERE sid = 10523
GROUP BY sql_id



opened cursors current растёт, а закешированные держаться в пределах 50-ти
Везде где читал сказано: количество открытых курсоров в v$sesstat, но как понять, какой из них не закрывается (остаётся открытым и накапливается) - не сказано нигде.


Заранее спасибо.
...
Рейтинг: 0 / 0
посмотреть открытые курсоры
    #40022115
oragraf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CrazyDiamond,

Код: plsql
1.
select * from v$sql;

?
...
Рейтинг: 0 / 0
посмотреть открытые курсоры
    #40022127
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CrazyDiamond


opened cursors current растёт, а закешированные держаться в пределах 50-ти
Везде где читал сказано: количество открытых курсоров в v$sesstat, но как понять, какой из них не закрывается (остаётся открытым и накапливается) - не сказано нигде.


Ты бы помедитировал/почитал что opened cursors и cached cursors это часы и трусы:

OPEN_CURSORS sets the maximum number of cursors each session can have open , per session.
SESSION_CACHED_CURSORS sets the number of cached closed cursors each session can have.

SY.
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / посмотреть открытые курсоры
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]