В пуле буферов нет свободного буфера - PullRequest
0 голосов
/ 26 ноября 2018

Я пытался создать таблицу, содержащую миллионы данных, но получил следующую ошибку:

SQL Error: ORA-00379: no free buffers available in buffer pool DEFAULT for block size 8K

00379. 00000 -  "no free buffers available in buffer pool %s for block size %sK"
*Cause:    All buffers in the specified buffer pool for the specified block size
           are in use and no free buffers are available.
*Action:   Increase the number of buffers in the specified pool for the specified
           block size

Как увеличить размер буфера.

Ответы [ 2 ]

0 голосов
/ 08 января 2019

У меня возникает та же проблема с большой базой данных (160 гигабайт) при выполнении ряда запросов из C # (сборка экспорта).

1002 * client_result_cache_size большого число 0
db_16k_cache_size большого числа 0
db_2k_cache_size большого число 0
db_32k_cache_size большого числа 0
db_4k_cache_size большого число 0
db_8k_cache_size большого числа 0
db_cache_size большогоцелое число 0
db_flash_cache_size большое целое число 0
db_keep_cache_size большое целое 0
db_recycle_cache_size большое целое 0

Из прочтения выше "0" означает, что оно автоматически управляется AMM (автоматическое управление памятью)Однако, похоже, что Oracle не собирает мусор во время запросов.

Я думаю, что на рисунках ниже показана память Oracle, используемая AMM.

memory_max_target большое целое число 2512M memory_target большое целое число 2512M

Я не думаю, что ручная установка памяти - это ответ, но каков ответ?

0 голосов
/ 26 ноября 2018

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

Подключение к экземпляру базы данныхкак пользователь sys и запустите команду

Изменить системный набор db_cache__size = 8M или 16M scope = оба;

...