2009-07-16 10 views
1

У меня есть база данных Oracle, которая используется как хранилище для веб-служб. Большую часть времени данные находятся в режиме только для чтения и кэшируются в ОЗУ непосредственно службой. Однако во время запуска системы все данные извлекаются один раз из Oracle, и база данных пытается быть умной и сохраняет данные в ОЗУ (1 ГБ).Как ограничить использование ОЗУ в Oracle 9

Как я могу ограничить/контролировать объем оперативной памяти, доступный для экземпляра Oracle 9?

+1

Не относится ли это к SuperUser? –

+1

Возможно, он принадлежит к ServerFault ... – DCookie

ответ

1

Существует несколько параметров базы данных, которые управляют использованием памяти в Oracle. Here - разумная отправная точка - это не тривиальное упражнение, чтобы понять это правильно. В частности, вы, вероятно, захотите посмотреть DB_CACHE_SIZE.

3

Короткий ответ изменен SGA_MAX_SIZE. Далее следует длинный.

Если вы имеете в виду «данные», вы должны проверить DB_CACHE_SIZE (размер буферов памяти) и связанный с этим SGA_MAX_SIZE (максимальное использование памяти для экземпляра SGA).

Поскольку SGA_MAX_SIZE относится к памяти SGA (буферы, общий пул и буферы повтора), если вы хотите освободить размер буферов, вам также необходимо уменьшить SGA_MAX_SIZE.

Посмотрите на Setting Initialization Parameters that Affect the Size of the SGA или сообщите более подробную информацию.

Смежные вопросы