Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 v$sql  [new]
raz1
Guest
Здравствуйте!

Смотрю в v$sql курсор, у которого используемая память аж за 10GB, большое время выполнения. Просьба прояснить несколько моментов, пожалуйста.
1. Правильно понимаю, что в v$sql показывается кумулятивная статистика для курсора (память, время выполнения)? Т.е. возможно он когда-то "раздулся" в следствие, к примеру, изменения плана? И продолжает держать область памяти.

2. С помощью dbms_shared_pool.PURGE "удалил" его. При следующем выполнении в v$sql снова 10GB, время выполнения (приемлемое) начинает увеличиваться с каждым запуском. Получается реально курсор не удаляется. Работает session_cached_cursor ? Если так, то как освободить память в OPEN mode?

3. Можно как-то узнать, в какой момент и почему он так раздулся, если в dba_hist_sqlstat он уже большой?
10 сен 13, 15:56    [14820886]     Ответить | Цитировать Сообщить модератору
 Re: v$sql  [new]
raz1
Guest
Oracle DB 11.2.0.3
10 сен 13, 15:57    [14820891]     Ответить | Цитировать Сообщить модератору
 Re: v$sql  [new]
new_one
Member

Откуда:
Сообщений: 4443
Для каждого плана будет своя строка
Там есть поле child number
Ты на какую колонка смотришь?
10гб это очень много для запроса
Если у тебя там hash join то область памяти для него определяется настройками
10 сен 13, 21:34    [14822681]     Ответить | Цитировать Сообщить модератору
 Re: v$sql  [new]
xtender
Member

Откуда: Мск
Сообщений: 5704
raz1
Смотрю в v$sql курсор, у которого используемая память аж за 10GB
как-то совсем не понятно откуда 10GB взялось? Какой столбец смотрел?
покажи вывод http://blog.tanelpoder.com/files/scripts/curheaps.sql по нему.
10 сен 13, 23:59    [14823207]     Ответить | Цитировать Сообщить модератору
 Re: v$sql  [new]
xtender
Member

Откуда: Мск
Сообщений: 5704
собственно, если вывод скрипта подтвердит, что какой-то heap раздуло, то попробуй purge именно этого heap'a.
11 сен 13, 00:02    [14823213]     Ответить | Цитировать Сообщить модератору
 Re: v$sql  [new]
new_one
Member

Откуда:
Сообщений: 4443
Да не может быть курсора на гигабаты
Там неоткуда такому объему взяться
11 сен 13, 07:19    [14823956]     Ответить | Цитировать Сообщить модератору
 Re: v$sql  [new]
new_one
Member

Откуда:
Сообщений: 4443
Т.е purge делать бесполезно
Может быть темпа или Андо на гига, но не в шарад пуле
Или это баг
11 сен 13, 07:20    [14823957]     Ответить | Цитировать Сообщить модератору
 Re: v$sql  [new]
ORA__SQL
Member

Откуда: Moscow
Сообщений: 1774
new_one
Для каждого планакурсора будет своя строка
11 сен 13, 09:42    [14824278]     Ответить | Цитировать Сообщить модератору
 Re: v$sql  [new]
raz1
Guest
Извиняюсь, коллеги. Моя невнимательность, использовал скрипт для обращения к v$sql, не удостоверившись, как именно он режет байты (10Gb превратились в 10 Mb) :(
11 сен 13, 11:50    [14825062]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить