DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Ошибка ORA-04031 в Oracle 7.3 и более поздних версиях


Вероятность того, что произойдет ошибка ORA-04031, существенно снижа­ется в Oracle 7.3 и последующих версиях. Это связано с тем, что для них были внесены изменения в алгоритм распределения памяти в коллективном пуле. До появления версии Oracle 7.3, если объект имел размер %s байтов, то для его раз­мещения в коллективном пуле требовалось "%s непрерывно распределенных байтов". Если сделать это не удавалось, генерировалась ошибка ORA-04031. С появлением Oracle 7.3 требуется просто найти %s байтов свободной памяти и объекты, которые могут быть вытеснены.
До появления Oracle 8.0, помимо нормального использования коллектив­ного пула для размещения операторов SQL, в тех случаях, когда подключение пользователя производилось в режиме MTS, он использовался как место для размещения таких компонентов PGA, как пространство стека и состояние кур­сора. Это еще более усиливало фрагментацию коллективного пула. В последних выпусках Oracle 7.3 опция Parallel Query сильно увеличила конкуренцию за про­странство в коллективном пуле, а в 8.0 на шею коллективному пулу уселся еще и RMAN.
Для смягчения данной проблемы в Oracle 8.0 появился параметр инициализации LARGE_POOL_SI.ZE. Если этот параметр конфигурирован, такие опции,
как        для выполнения своих действий будут испо-
льзовать пространство, распределенное большому пулу, а не область коллектив­ного пула, как это предполагается умолчанию, что дополнительно снижает частоту возникновения ошибки ORA-04031. Конечно, ни одно из этих усовер­шенствований не могло помочь справиться с вопросами динамического или не-регламентированного SQL или с плохим кодированием.
Чтобы не столкнуться с такой ситуацией, необходимо быть уверенным, что у вас имеется достаточное количество акров (акр - мера площади, равная 4050 кв. м. -

Прим пер.) для 

постройки торгового центра, а также провести некоторое зони­рование. Вот почему вступают в игру параметры
SIZE вместе с SHARED POOL RE SERVEDM IN ALLOC, а также LARGE. POOL_SIZE. Эти параметры позволяют АБД установить лимиты того, кто и в ка­кую часть коллективного пула может попасть. Кроме того,
больших объектов в памяти не позволяет маленьким маль­чикам сжевать отведенное большим объектам место. Просто установите размер резервного пула исходя из суммы размеров объектов, которые желательно за­крепить в памяти.
 


известная бижутерия







jAntivirus