如何在oracle11g数据库中获取进程的RAM使用率?

时间:2011-08-30 13:26:08

标签: oracle memory-management ram

我想在oracle 11g数据库环境中测量sql语句的RAM使用情况(例如,简单的create或insert语句)。

我尝试使用dbms_space来获取它,但似乎只获得了磁盘空间。

我也找到了这个网站: http://www.dba-oracle.com/m_memory_usage_percent.htm

但声明

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

不要返回创建语句。

1 个答案:

答案 0 :(得分:2)

见上面的评论:

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