@pixik

Как ограничить потребление памяти в Oracle db 11g EE?

Доброго времени!
На тестовом сервере (linux) почти 4 гига RAM, при запуске базы (Oracle Database 11g Enterprise Edition Release 11.2.0.4.0) занимается 1.2G. После очереди запросов (10-20к) остается около 40 мб свободной оперативы и сервер перестает отвечать. Подскажите куда копать, какие логи посмотреть, что подкрутить?
Можно как нибудь сделать так, чтобы лучше база отвечала медленнее, но не съедала всю возможную память на сервере?
  • Вопрос задан
  • 39 просмотров
Пригласить эксперта
Ответы на вопрос 3
  • Lorien_Elf
    @Lorien_Elf
    Keep clear
    При старте в алерт логе база пишет параметры не по умолчанию. Выложите их сюда. В первую очередь интересуют значения sga_target, pga_aggregate_target, memory_target, sga_max_size, memory_max_size.

    Алер лог лежит где-то в /u01/app/oracle/diag/rdbms/db_name/db_name/trace/alrert_db-name.log
    Ответ написан
  • Это для Oracle 9, но думаю разница не большая
    RAM=4G: (если на сервере запущен один экземпляр)
    SHARED_POOL_SIZE=512M
    DB_CACHE_SIZE=2G
    LARGE_POOL_SIZE=16M
    PGA_AGGREGATE_TARGET=128M

    Посмотреть значения параметров можно так:
    select name, value/1024/1024||' Mb' from v$parameter where name in ('shared_pool_size', 'db_cache_size', 'large_pool_size', 'pga_aggregate_target');
    Ответ написан
  • @andreev_aa
    Если после запуска БД память остается, а исчезает после начала работы, значит ее съедают либо пользовательские сессии, тогда нужно смотреть в сторону уменьшения параметра pga_aggregate_target. Также при таком небольшом объеме памяти, сервер можно начать активно использовать swap раздел. В любом случае для анализа нужен алерт лог БД.
    Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы