Назад | Перейти на главную страницу

Использование памяти экземпляра Oracle 9i?

Мой вопрос касается конкретно способа узнать, сколько памяти используется экземпляром Oracle на сервере UNIX (Solaris).

Например (я собираюсь очень упростить это ...), если я увижу, что используется 8 ГБ ОЗУ, есть ли «простой» метод (через TOAD или какой-либо инструмент UNIX), чтобы определить, какая часть этой памяти является используется конкретным экземпляром Oracle?

Благодаря контакту с инструктором Oracle и поиску на сайте поддержки Sun я смог найти использование команды pmap для получения памяти «anon» для процессов Oracle, но, надеюсь, у кого-то будет альтернативное решение.

В моем распоряжении есть Sun Management Center (если это поможет), и я открыт для любого решения, даже подкуп сервера гамбургерами и пивом. Спасибо всем!

Если Oracle работает с отдельным пользователем, вы можете использовать prstat, чтобы узнать, сколько памяти он использует в целом:

prstat -a

Для экземпляра Oracle есть два типа памяти. SGA - это разделяемая память, а PGA - это память, доступная только для отдельных процессов. Если вы подключаетесь к экземпляру с соответствующими привилегиями (например, DBA или с SELECT_CATALOG_ROLE), вы можете

SELECT SUM(VALUE) FROM V$SGA;

SELECT SUM(PGA_ALLOC_MEM) FROM V$PROCESS;

чтобы увидеть итоги для каждого из них.