Базы данных Oracle - статьи


Oracleautonastr.shtml - часть 5


PROGRAM PGA_USED_MEM PGA_ALLOC_MEM PGA_MAX_MEM ------------------------------ ------------ ------------- ----------- PSEUDO 0 0 0 oracle@janet (PMON) 120463 234291 234291 oracle@janet (DBW0) 1307179 1817295 1817295 oracle@janet (LGWR) 4343655 4849203 4849203 oracle@janet (CKPT) 194999 332583 332583 oracle@janet (SMON) 179923 775311 775323 oracle@janet (RECO) 129719 242803 242803 oracle@janet (TNS V1-V3) 1400543 1540627 1540915 oracle@janet (P000) 299599 373791 635959 oracle@janet (P001) 299599 373791 636007 oracle@janet (TNS V1-V3) 1400543 1540627 1540915 oracle@janet (TNS V1-V3) 22341 1716253 3625241

Здесь мы видим выделенную (pga_alloc_mem), используемую (pga_used_mem) и максимальную (pga_max_mem) память для всех соединений с Oracle. Мы видим запросы памяти для всех фоновых процессов, а также для индивидуальных соединений.

Заметим, запросы памяти конкретными соединениями можно анализировать более детально, соединяя представление v$process с таблицей v$sql_plan.

Использование представления v$sql_workarea_active в Oracle9i

Два новых представления показывают активное пространство рабочих областей: v$sql_workarea и v$sql_workarea_active. Представление v$sql_workarea_active содержит информацию о всех рабочих областях, активных в экземпляре в данный момент. Заметим, небольшие сортировки (меньше 65 535 байтов) из представления исключены.

select to_number(decode(SID, 65535, NULL, SID)) sid, operation_type OPERATION, trunc(WORK_AREA_SIZE/1024) WSIZE, trunc(EXPECTED_SIZE/1024) ESIZE, trunc(ACTUAL_MEM_USED/1024) MEM, trunc(MAX_MEM_USED/1024) "MAX MEM", number_passes PASS from v$sql_workarea_active order by 1,2;

Пример вывода этого запроса:

SID OPERATION WSIZE ESIZE MEM MAX MEM PASS --- --------------------- ----- --------- --------- --------- ---- 27 GROUP BY (SORT) 73 73 64 64 0 44 HASH-JOIN 3148 3147 2437 6342 1 71 HASH-JOIN 13241 19200 12884 34684 1

Здесь видно, что в сеансе 44 (см. столбец SID) выполняется хеш-соединение (hash-join) и его рабочая область обрабатывается в однопроходном режиме (столбец PASS). В этой рабочей области в данное время используется 2 мегабайта памяти PGA (столбец MEM), а до этого было использовано до 6.5 мегабайтов памяти PGA (столбец MAX MEM).

Это представление очень полезно для анализа текущих операций с рабочими областями, для получения более подробной информации о сеансах это представление можно соединять с представлениями v$process и v$session, используя для этого столбец SID.

Анализ использования памяти для конкретных операторов SQL




Начало  Назад  Вперед



Книжный магазин