Как вы можете получить использование ОЗУ процессов в базе данных oracle11g? - PullRequest
2 голосов
/ 30 августа 2011

Я хочу измерить использование оперативной памяти для оператора SQL (например, простого оператора создания или вставки) в среде базы данных Oracle 11g.

Я пытался получить его с помощью dbms_space, но, похоже, он получает только дисковое пространство.

Я также нашел этот сайт: http://www.dba -oracle.com / m_memory_usage_percent.htm

Но утверждение

select
*
from
v$sql
where sql_text like {my table}

не возвращает оператор create.

1 Ответ

2 голосов
/ 30 августа 2011

См. Комментарий выше:

select operation, 
       options, 
       object_name name,
       trunc(bytes/1024/1024) "input(MB)",
       trunc(last_memory_used/1024) last_mem,
       trunc(estimated_optimal_size/1024) opt_mem, 
       trunc(estimated_onepass_size/1024) onepass_mem, 
       decode(optimal_executions, null, null, 
             optimal_executions||'/'||onepass_executions||'/'||
             multipasses_executions) "O/1/M"
  from v$sql_plan p
     , v$sql_workarea w
 where p.address=w.address(+)
   and p.hash_value=w.hash_value(+) 
   and p.id=w.operation_id(+) 
   and p.address= ( select address
                      from v$sql
                     where sql_text like '%my_table%' )
...