powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-04031 unable to allocate bytes of shared memory
20 сообщений из 20, страница 1 из 1
ORA-04031 unable to allocate bytes of shared memory
    #32166527
Фотография Barracuda UA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cause: More shared memory is needed than was allocated in the shared pool.

Всё это конечно хорошо - ну вкину я ему ещё 64 метра в LARGE_SHARED_POOL, а где гарантия что оно через неделю опять не вылезет.

Прошу высказать своё ИМХО, кв. ALL.
...
Рейтинг: 0 / 0
ORA-04031 unable to allocate bytes of shared memory
    #32166535
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
QLWKS> show parameter LARGE_
NAME                                TYPE    VALUE
 ----------------------------------- ------- ------------------------------
 
large_pool_size                     строка   0            


Нет такого - значит у тебя 9i. Увы.
...
Рейтинг: 0 / 0
ORA-04031 unable to allocate bytes of shared memory
    #32166562
Фотография RedPank
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня сегодня тоже такая гадасть выскочила! Пришлось Oracle перегружать. Хорошо, что сервер тестовый.
...
Рейтинг: 0 / 0
ORA-04031 unable to allocate bytes of shared memory
    #32166640
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Прошу высказать своё ИМХО

ИМХО патчи у тебя не стоят.
...
Рейтинг: 0 / 0
ORA-04031 unable to allocate bytes of shared memory
    #32167296
Фотография Barracuda UA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
SQL> show parameter LARGE_

NAME                                 TYPE    VALUE
 ------------------------------------ ------- ----------
 
large_pool_size                      string   157286400 


У меня 8.1.7.
Тогда естественный встречный вопрос - откель качнуть патчи ?
...
Рейтинг: 0 / 0
ORA-04031 unable to allocate bytes of shared memory
    #32167310
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Barracuda UA:
Ты тогда с вопросом определись. Какой параметр тебя интересует LARGE_SHARED_POOL или large_pool_size?
...
Рейтинг: 0 / 0
ORA-04031 unable to allocate bytes of shared memory
    #32167352
Фотография Barracuda UA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2softbuilder@inbox.ru - виноват, перепутал. LARGE_POOL_SIZE конечно.
...
Рейтинг: 0 / 0
ORA-04031 unable to allocate bytes of shared memory
    #32167398
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По поводу 8i могу сказать, что large_pool_size не является обязательным параметром. Он используется в достаточно специфических случаях.

Поэтому не совсем понятно что-ты перед этим вообще делаешь?

И потом с чего ты взял, что это вообще этот параметр имеется ввиду?
В сообщении об ошибке про него не сказано: "More shared memory is needed than was allocated in the shared pool. "

В данном случае идёт речь просто о разделяемом пуле и у меня такое подозрение, что large_pool_size тут вообще не причём.
...
Рейтинг: 0 / 0
ORA-04031 unable to allocate bytes of shared memory
    #32167555
Фотография Barracuda UA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот что меня привело к этому параметру:


ORA-04031 unable to allocate string bytes of shared memory
("string","string","string","string")
Cause: More shared memory is needed than was allocated in the shared pool.
Action: If the shared pool is out of memory, either use the
DBMS_SHARED_POOL package to pin large packages, reduce your use of
shared memory, or increase the amount of available shared memory by
increasing the value of the initialization parameters
SHARED_POOL_RESERVED_SIZE and SHARED_POOL_SIZE. If the large
pool is out of memory, increase the initialization parameter
LARGE_POOL_SIZE .
...
Рейтинг: 0 / 0
ORA-04031 unable to allocate bytes of shared memory
    #32167580
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"increase the amount of available shared memory by
increasing the value of the initialization parameters
SHARED_POOL_RESERVED_SIZE and SHARED_POOL_SIZE. If the large
pool is out of memory, increase the initialization parameter
LARGE_POOL_SIZE"


Пока не пойму твою логику.

Ответь на такой вопрос, почему из трёх указанных параметров, которые советуют увеличить, ты решил что нужно увеличить именно LARGE_POOL_SIZE???

Прошу обратить внимание, что написано "If the large
pool is out of memory......" - ключевое слово в этой фразе - if .
Так как ты определил что у тебя именно "out of memory, increase the initialization parameter LARGE_POOL_SIZE"?
...
Рейтинг: 0 / 0
ORA-04031 unable to allocate bytes of shared memory
    #32167618
Фотография Barracuda UA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошо, ладно - сдаюсь ;)
Пойдём с конца - If the large
pool is out of memory
- как это узнать ?

PS: вопрос про патч актуален ;)
...
Рейтинг: 0 / 0
ORA-04031 unable to allocate bytes of shared memory
    #32167624
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделай запрос:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
select * from v$sga;

NAME                      VALUE
 -------------------- ----------
 
Fixed Size                 73888 
Variable Size           29966336 
Database Buffers        50331648 
Redo Buffers              532480 


и этот
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
select * from v$sgastat;

SQL> select * from v$sgastat;

POOL        NAME                            BYTES
 ----------- -------------------------- ----------
 
            fixed_sga                        73888 
            db_block_buffers              50331648 
            log_buffer                      524288 
shared pool free memory                     670660 
shared pool miscellaneous                   442136 
shared pool db_block_buffers                835584 
shared pool KGFF heap                         6472 
shared pool java static objs                 30560 
shared pool db_files                         72496 
shared pool table columns                    20156 
shared pool KQLS heap                       607748 
shared pool latch nowait fails or sle        37632 
shared pool transactions                     36572 
shared pool fixed allocation callback          320 
shared pool sessions                         81928 
shared pool KGK heap                          4064 
shared pool State objects                    57224 
shared pool PLS non-lib hp                    2096 
shared pool trigger source                     324 
shared pool SYSTEM PARAMETERS                63112 
shared pool trigger defini                     392 
shared pool trigger inform                     268 
shared pool enqueue_resources                27648 
shared pool LRMPD SGA Table                  28224 
shared pool PL/SQL MPCODE                   289004 
shared pool dictionary cache                841960 
shared pool kcb where/why stats array        29376 
shared pool table definiti                      80 
shared pool character set memory             31788 
shared pool db_block_hash_buckets           229384 
shared pool library cache                  1240440 
shared pool sql area                       3674272 
shared pool errors                             656 
shared pool PL/SQL DIANA                    336928 
shared pool message pool freequeue          116176 
shared pool event statistics per sess       131936 
java pool   free memory                   20000768 

 37  rows selected.
...
Рейтинг: 0 / 0
ORA-04031 unable to allocate bytes of shared memory
    #32167647
Фотография Barracuda UA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
SQL> select * from v$sga;

NAME                      VALUE
 -------------------- ----------
 
Fixed Size                 75804 
Variable Size          240201728 
Database Buffers       163840000 
Redo Buffers               77824 


Замечательно, следует ли из этого что "pool is out of memory" ?
Может вопрос и тупой - но лучше уж я спрошу если нет возражений ;)
...
Рейтинг: 0 / 0
ORA-04031 unable to allocate bytes of shared memory
    #32167662
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Actually, in many cases it is not size but rather fragmentation is causing ORA-04031. Another words there is plenty of free space but none of the chunks is equal or larger than reuested amount. And the lack of space could be in shared pool or in library cache. Issue:

Код: plaintext
1.
2.
3.
SELECT free_space, avg_free_size, used_space, 
avg_used_size, request_failures, last_failure_size 
FROM    v$shared_pool_reserved;


If REQUEST_FAILURES is > 0 and LAST_FAILURE_SIZE is > SHARED_POOL_RESERVED_MIN_ALLOC the issue is related to shared pool fragmentation. If REQUEST_FAILURES is > 0 and LAST_FAILURE_SIZE is < SHARED_POOL_RESERVED_MIN_ALLOC or REQUEST_FAILURES is 0 and LAST_FAILURE_SIZE is < SHARED_POOL_RESERVED_MIN_ALLOC the issue is related to library cache fragmentation.

Check MetaLink Doc ID: 146599.1 Diagnosing and Resolving Error ORA-04031

SY.
...
Рейтинг: 0 / 0
ORA-04031 unable to allocate bytes of shared memory
    #32168386
Фотография Barracuda UA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2SY - спасибо большое. Всё это многое объяснияет но всё же не решает проблемы, ну предположим фрагментация и ? Флушить SHARED_POLL постоянно руками ?

2softbuilder@inbox.ru - хотелось бы продолжить плодотворное обсуждение.
...
Рейтинг: 0 / 0
ORA-04031 unable to allocate bytes of shared memory
    #32168390
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты не опубликовал
select * from v$sgastat;
Хотелось бы посмотреть на что у тебя идёт SGA конкретно.
И есть ли действительно свободные фрагментированные блоки.
...
Рейтинг: 0 / 0
ORA-04031 unable to allocate bytes of shared memory
    #32168459
Фотография Barracuda UA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виноват, моментально исправляюсь.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
SQL> select * from v$sgastat;

POOL        NAME                            BYTES
 ----------- -------------------------- ----------
 
            fixed_sga                        75804 
            db_block_buffers             163840000 
            log_buffer                       66560 
shared pool free memory                    2859116 
shared pool miscellaneous                  4627636 
shared pool DML locks                      2906400 
shared pool db_block_hash_buckets           451144 
shared pool PLS non-lib hp                    2096 
shared pool fixed allocation callback          640 
shared pool ktlbk state objects            2591540 
shared pool state objects                   732520 
shared pool KGFF heap                         6552 
shared pool messages                        880000 
shared pool VIRTUAL CIRCUITS               8897112 
shared pool sessions                      11868780 
shared pool enqueue_resources              1819008 
shared pool State objects                  5795760 
shared pool db_handles                     2500000 
shared pool PL/SQL DIANA                    326376 
shared pool PL/SQL MPCODE                    33928 
shared pool table columns                    19228 
shared pool transactions                   5401060 
shared pool dictionary cache               1384004 
shared pool branches                       1453440 
shared pool KGK heap                         17532 
shared pool library cache                  1166772 
shared pool db_block_buffers               2720000 
shared pool sql area                        471532 
shared pool processes                      4040000 
shared pool KQLS heap                       470768 
shared pool SEQ S.O.                        484440 
shared pool event statistics per sess     18937200 
large pool  free memory                  152932572 
large pool  session heap                   4353828 
java pool   free memory                      32768 

SQL> SELECT free_space, avg_free_size, used_space, 
   2   avg_used_size, request_failures, last_failure_size 
   3   FROM    v$shared_pool_reserved;

 -----------    -----------   --------   --------  --------  --------
 
    1171748         1171748         0             0           0            0 
...
Рейтинг: 0 / 0
ORA-04031 unable to allocate bytes of shared memory
    #32168489
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Barracuda UA:

Поскольку ты мне так и не обьяснил для чего ты используешь large_pool_size, могу посоветовать для начала следующее:
закомментарить параметр large_pool_size в файле параметров и перезапустить экземпляр.

Формально у тебя в shared pool практически нет свободной памяти. Ты всю память отдал под большой пул, который используется в специфических ситуацих.
...
Рейтинг: 0 / 0
ORA-04031 unable to allocate bytes of shared memory
    #32168960
Elsid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Размеры LARGE_POOL_SIZE совершенно не причем.
Это некорректная работа Oracle c виндами, ну памяти не хватет.
Скорее всего имеет место memory leak.

Совет дают правильный надо накатить патч 8.1.7.4.1, а затем до ~ 8.1.7.4.6 не помню какой последний.
Если Оракле купленый, то с металинка, если нет, то у знакомых.
Если Вам это поможет, то я Вам послал по почте статью по диагностике данной ошибки. И если вы указали правильный адрес , то письмо дойдет.
Статья большая, но на английском.
...
Рейтинг: 0 / 0
ORA-04031 unable to allocate bytes of shared memory
    #32168988
Фотография Barracuda UA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Статью получил, большое спасибо.
После прочтения понял что начать надо с патча. Ушёл на Металинк за патчем, спасибо друзi за советы ;)
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-04031 unable to allocate bytes of shared memory
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]