13.04.2007 14:12
dmware
 
При попытке выполнить запрос к БД пишет следующее:
ORA-04030: выход за пределы памяти процесса при попытке выделить 942592 байт (cursor work he,kllcqas:kllsltba)
С чем это может быть связано?
13.04.2007 14:15
OlegON
 
В Windows операционная система ограничивает память процесса. При настройке параметров базы постарайся, чтобы она у тебя за пределы 1.2Гб не вылазила (память).
13.04.2007 14:22
dmware
 
Ограничение на объем в настройках оракла или ос?
13.04.2007 14:25
dmware
 
Цитата:
dmware Ограничение на объем в настройках оракла или ос?
получается во время выполнения запроса процессу сразу же отводится слишком большое количество памяти? Как мне не выходить за этот лимит?
К тому же не понятно: ошибка появляется через раз-два. Иногда запрос выполняется нормально...
13.04.2007 14:28
OlegON
 
В настройках оракла. Что-то задрал вверх. Повезло - не упала сразу, а на грани оказался. При подключении выделяется дополнительная память, вот ты грань и перешел.
13.04.2007 14:34
dmware
 
Цитата:
olegon В настройках оракла. Что-то задрал вверх. Повезло - не упала сразу, а на грани оказался. При подключении выделяется дополнительная память, вот ты грань и перешел.
Правильно ли я понял, что существует лимит памяти на какое-то количество коннектов (память выделяется под каждый) и если в СОВОКУПНОСТИ в процессе работы пользователей со стороны сервера превышен установленный лимит, то будет такая вот ситуация?
13.04.2007 15:33
OlegON
 
Нет, безотносительно к коннектам, рассматриваешь только занимаемую своим экземпляром память. Занимается она в основном SGA, буфферами и пулом. Под коннекты отводится мелочь, для регулировки твоей проблемы SGA и надо патронить.
15.04.2007 20:12
paul
 
возможно выделяется много памяти на каждый пользовательский процесс.
Чему равен sort_area_size?
Скока коннектов держит база?
19.04.2007 09:19
slava
 
По нашим наблюдениям хороший результат дает:
1.Объем памяти под Oracle от 0.5 до 0.75(с ключем 3Gb) от общего объема оперативной.
2. Память под Oracle треть shared_pool_size две трети db_block_buffers*db_block_size.

При таком раскладе и твоей ошибке можеш уменьшать shared_pool_size пока она не исчезнет.
19.04.2007 15:38
reddevil
 
Цитата:
slava По нашим наблюдениям хороший результат дает:
1.Объем памяти под Oracle от 0.5 до 0.75(с ключем 3Gb) от общего объема оперативной.
2. Память под Oracle треть shared_pool_size две трети db_block_buffers*db_block_size.

При таком раскладе и твоей ошибке можеш уменьшать shared_pool_size пока она не исчезнет.
И опять почему ни слова о потребноостях базы, количестве пользователей и проч.
А автор вообще куда то пропал.

OlegON " Windows операционная система ограничивает память процесса. При настройке параметров базы постарайся, чтобы она у тебя за пределы 1.2Гб не вылазила (память)." До 3гб спокойно (пять же на 32битной платформе)

автор: выставляй ключи /pae /3Gb , и вперед
Часовой пояс GMT +3, время: 18:23.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.