[ТЕМА ЗАКРЫТА]
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 , и вперед
19.04.2007 15:44
OlegON
 
Цитата:
reddevil автор: выставляй ключи /pae /3Gb , и вперед
Автор, кстати, не сказал, сколько у него памяти вообще и какая винда. Так что твой совет не всегда сработает.
20.04.2007 07:52
reddevil
 
Цитата:
OlegON Автор, кстати, не сказал, сколько у него памяти вообще и какая винда. Так что твой совет не всегда сработает.
Ему вообще уже по моему пох. на все =)
20.04.2007 08:04
slava
 
reddevil Ни слова о потребностях базы потому что ОБЩАЯ рекомендация.
Дальше тюнинг и там о потребностях и тд и тп.

olegon Не смог отцетировать - просит авторизоваться
06.06.2013 13:55
HobbytFizmat
 
Возможно тема старая, но в рамках этого поста не нашел ответа на свою проблему. На одной базе практически каждый день возникает такая ошибка.



Windows Server 2003. Оперативной памяти выделили уже 6 ГБ, ключи выставили.
Посмотрел пользователя, под которым такая ошибка возникает чаще всего:

USERNAME SID PGA_USED_MEM_GB PGA_ALLOC_MEM_GB PGA_MAX_MEM_GB
------------------------------ ---------- --------------- ---------------- --------------
KHARLANN 105 .002050635 .00214129 .00802881
KHARLANN 110 .00083501 .001225763 .00400049
KHARLANN 150 .000765123 .000859552 .001375978
KHARLANN 76 .000905112 .001559083 .002535646
KHARLANN 125 .001357951 .001714044 .003878419

А так же у 2х SID этого пользователя:

26 session pga memory max 1302100
25 session pga memory 1302100

26 session pga memory max 2154068
25 session pga memory 1302100

Нашел вот что:

Причина:Собственная память системного процесса исчерпана.

Действие:Попросите администратора базы данных или администратора операционной системы увеличить квоту памяти процессу. В приложении может быть ошибка, которая и приводит к чрезмерному потреблению памяти процесса.


Но что конкретно нужно сделать?? (как это сделать??)

Буду признателен подробному ответу. Если нужна доп инфа, скину.
Миниатюры
Нажмите на изображение для увеличения
Название: image001.png
Просмотров: 609
Размер:	81.3 Кб
ID:	2012  
06.06.2013 14:02
whitewizard
 
битность системы, версия Оракла, Супермага, количество оперативки на сервере?
также покажи сюда
Код:
select value from v$parameter where name = 'sga_max_size'
06.06.2013 14:19
HobbytFizmat
 
Цитата:
whitewizard битность системы, версия Оракла, Супермага, количество оперативки на сервере?
также покажи сюда
Код:
select value from v$parameter where name = 'sga_max_size'
Windows Server 2003 32-битная, Oracle 10g, Супермаг 1.028.2 SP 9. Оперативки на сервере 6 ГБ, ключи выставлены.

Код:
select value from v$parameter where name = 'sga_max_size'
1577058304
06.06.2013 14:25
HobbytFizmat
 
Цитата:
HobbytFizmat Оперативки на сервере 6 ГБ, ключи выставлены.
Хотя Диспетчер задач показывает только 4 гига + файл подкачки 2,46 Г
06.06.2013 14:49
whitewizard
 
много выставил
и почему не поставишь сервис паки
1.028.2 сервис пак 15 есть
2003 Enterprise?
06.06.2013 15:10
HobbytFizmat
 
Цитата:
whitewizard много выставил
и почему не поставишь сервис паки
1.028.2 сервис пак 15 есть
2003 Enterprise?
А сколько нужно выставить?
2003 Standart Edition
Думаешь дело в СМ+ и в версионности сервис паков?
Дело в том, что к этой базе коннектится прога для некоторых самописных отчетов. В ней выходят такие же ошибки. А ведь она не зависит от версий СМ. Только от оракла.
06.06.2013 15:19
Propil
 
методом проб и ошибок на подобной системе я выставил максимально возможную работоспособную цифру - Total SGA Size (MB) 2304
Вру, перечитал - у меня винда энтерпрайз..
06.06.2013 15:27
HobbytFizmat
 
Цитата:
Propil методом проб и ошибок на подобной системе я выставил максимально возможную работоспособную цифру - Total SGA Size (MB) 2304
Вру, перечитал - у меня винда энтерпрайз..
Ошибаться нельзя, база рабочая.
У меня sga_max_size 1504М
06.06.2013 15:37
Propil
 
Automatic Shared Memory Management - Enabled ?
06.06.2013 16:30
whitewizard
 
Standart edition не позволяет нормально память выделить процессу
Хотя бы Enterprise надо
И выставь SGA не больше 1200M
06.06.2013 16:37
HobbytFizmat
 
Цитата:
Propil Automatic Shared Memory Management - Enabled ?
Застали врасплох.
Пытался нагуглить. Нашел лишь отдельные запросы, но что хотел сказать автор - не понял.

Код:
SQL>  SELECT  INST_ID, component, current_size, min_size, max_size
FROM    gv$sga_dynamic_components
WHERE   current_size != 0;

   INST_ID COMPONENT                                                        CURRENT_SIZE   MIN_SIZE   MAX_SIZE
---------- ---------------------------------------------------------------- ------------ ---------- ----------
         1 shared pool                                                         939524096  939524096          0
         1 large pool                                                            8388608    8388608          0
         1 java pool                                                             8388608    8388608          0
         1 DEFAULT buffer cache                                                612368384  603979776          0
Код:
SQL> select inst_id, sum(bytes)
from gv$sgastat
where pool = 'shared pool'
group by inst_id

   INST_ID SUM(BYTES)
---------- ----------
         1  939696108
Код:
SQL> select *
from gv$sgastat
where pool = 'shared pool'
order by bytes desc;

   INST_ID POOL         NAME                            BYTES
---------- ------------ -------------------------- ----------
         1 shared pool  sql area                    279218108
         1 shared pool  free memory                 264074228
         1 shared pool  CCursor                     128875716
         1 shared pool  PCursor                      72443176
         1 shared pool  library cache                40065528
         1 shared pool  kglsim object batch          20815200
         1 shared pool  sql area:PLSQL               20730144
         1 shared pool  Cursor Stats                 18157400
         1 shared pool  kglsim heap                  13406976
         1 shared pool  KGLS heap                    10782736
         1 shared pool  PL/SQL MPCODE                 5674344
Тут сказано:
Цитата:
To switch to ASMM you need to set the initialization parameters SGA_TARGET to a non-zero value which must be less then or equal to value of parameter SGA_MAX_SIZE
У меня:
sga_max_size big integer 1504M
sga_target big integer 1504M
06.06.2013 16:38
HobbytFizmat
 
Цитата:
whitewizard И выставь SGA не больше 1200M
sga_max_size или sga_target?
06.06.2013 17:01
whitewizard
 
java_pool Должен быть не меньше 50М, насколько я помню
ASMM - тру вещь, но не на этой версии системы
И бэкап сделай, пока не началось :)
Оракл точно какой версии?
10.2.0.5 ?
Как сказал бы Олег, поставь оптимайзер :)
06.06.2013 17:09
whitewizard
 
Вот например,
07.06.2013 11:25
HobbytFizmat
 
Спасибо за ссылку. Полезная информация.

Возьмем простейшую ситуацию: 32 битная система без выставленных ключей /3GB /pae. Т.е. процессу выделяется не более 2 ГБ.
Пишут: SGA + PGA + Oracle memory for connection не более 2 ГБ.

sga_max_size (1200) + pga_aggregate_target (194) + ???
Правильно?

И как узнать Oracle memory for connection?

Цитата:
whitewizard Оракл точно какой версии?
10.2.0.5 ?
Oracle Database 10g Release 10.2.0.4.0 - Production
09.06.2013 10:09
Troll
 
Извините, но весь разговор пока сводится к обсуждению подготовки запорожца к ралли.
32-битные системы еще как-то котировались во времена 8 и 9 оракла, сейчас память достаточно дешевая, чтобы собрать нормальную систему для х64. По сути же сейчас ограничить количество подключений можно, shared включить, но вывод, к которому в итоге придет вопрошающий - надо апгрейдиться. Для этого количества пользователей машинка уже слаба. Если 6Гб, то это вполне себе нижняя планка для х64 и, кстати, не винды.
14.06.2013 12:16
cb
 
Подключения dedicated или shared?

У вас падает на hash-join. Hе хватает памяти в pga. Откусите немного от sga и добавьте pga. И проверьте в алерте наличие ошибок. Xватает место в пространстве Темр.


Опции темы


Часовой пояс GMT +3, время: 00:41.

 

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