ORA-04031, а собственно почему?

AntonGart
Дата: 12.12.2007 14:20:38
Всем, привет.
Я тут похоже переоптимизировал "свободный" поиск в приложении: выкинул бинды, задумав помочь оптимайзеру, но не дооценил количество запросов. В итоге имеем сейчас ORA-04031: unable to allocate 20836 bytes of shared memory ("shared pool","unknown object","sga heap(1,0)","session param values"). Грешу на себя, буду переписывать снова с биндами для столбцов с нормально распределенными данных.
Но так и не понимаю почему оракл просто не выкидывает по LRU старые запросы из разделяемого пула (на что я надеялся), а выдает 04031?
Viewer
Дата: 12.12.2007 14:46:36
Выкидывает, но пул видимо сильно фрагментирован, не может выделить непрерывного участка
AntonGart
Дата: 12.12.2007 15:08:13
Ясно, плюс видимо остальные прелести, выданные мне в поиске по 04031. Буду разбираться. Спасибо.
Destined
Дата: 12.12.2007 18:26:12
Эммм, а можно вопрос: а в чем собственно заключается оптимизация при выкидывании биндов?
andrey_anonymous
Дата: 12.12.2007 19:51:26
Destined
Эммм, а можно вопрос: а в чем собственно заключается оптимизация при выкидывании биндов?

Примерно в том же, в чем заключалась хрущевская оптимизация сельского хозяйства (замена большинства сельхозкультур кукурузой )
И закончилось также - разрухой и упадком.
зы
Дата: 12.12.2007 19:53:43
Destined
Эммм, а можно вопрос: а в чем собственно заключается оптимизация при выкидывании биндов?

наверное автор хотел сказать, что у него "перекос" даных...