开发者

How can you get the RAM usage of processes in an oracle11g database?

I want to measure the RAM usage of an sql statement (开发者_Go百科e.g. a simple create or insert statement) in an oracle 11g database environment.

I tried to get it by using dbms_space, but it seems like that only gets the disk space.

I also found this site: http://www.dba-oracle.com/m_memory_usage_percent.htm

But the statement

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

dont return the create statement.


See comment above:

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%' )
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜