Мой вопрос касается конкретно способа узнать, сколько памяти используется экземпляром 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;
чтобы увидеть итоги для каждого из них.