oracle 怎么查看 消耗内存最多的一条SQL。。。。。。。。。。。。。。。。。。。。。。。。。。。。

q994539183 2013-11-13 04:13:33
RT


在网上看到有人说 根据v$sql中的disk_reads大小来判断,是这样么?

另外,v$sql中不是有三个内存的字段么,SHARABLE_MEM占用的共享内存大小,PERSISTENT_MEM生命期内的固定内存大小,RUNTIME_MEM执行期内的固定内存大小.可以用着三个来判断么????



贵求高手解答!!!!!!


...全文
1085 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 9 楼 q994539183 的回复:
oracle中的视图中存放sql相关数据 像v$sql,v$sqlarea,v$sqltext.这里有sql语句 版主出来看下啊
shared pool中有library cache和data dictionary cache,你说的这些视图对象存放在dictionary里,sql语句存放在library cache里,sql语句取出来的数据块存放在database buffer cache里
q994539183 2013-11-20
  • 打赏
  • 举报
回复
oracle中的视图中存放sql相关数据 像v$sql,v$sqlarea,v$sqltext.这里有sql语句 版主出来看下啊
  • 打赏
  • 举报
回复
我只知道database buffer cache和shared pool的共享sql区里面有存放sql数据
q994539183 2013-11-19
  • 打赏
  • 举报
回复
楼上的使用buffer_gets来判断的吧。。。 感觉不太靠谱, 有大神详细解释下么
  • 打赏
  • 举报
回复

select b.username username,
       a.buffer_gets gets,
       a.executions exec,
       a.buffer_gets / decode(a.executions, 0, 1, a.executions) get_exec_ratio,
       a.sql_text Statement
  from v$sqlarea a, dba_users b
 where a.parsing_user_id = b.user_id
 order by a.buffer_gets desc;
楼主可以看下,http://blog.csdn.net/managergh/article/details/6914279
ADC_VN 2013-11-15
  • 打赏
  • 举报
回复
知识帖啊!
buryMyLove 2013-11-15
  • 打赏
  • 举报
回复
引用 3 楼 q994539183 的回复:
这张表查询起来好慢啊 我要找的是最小号内存的SQL,怎么确定那个sql是什么呢 [quote=引用 2 楼 buryMyLove 的回复:] select * from user_object_size; 执行时占用多少内存,查看code_size列 编译时占用多少内存,查看(source_size+parsed_size)列
[/quote] 呃,排序一下不可以么?
q994539183 2013-11-14
  • 打赏
  • 举报
回复
这张表查询起来好慢啊 我要找的是最小号内存的SQL,怎么确定那个sql是什么呢
引用 2 楼 buryMyLove 的回复:
select * from user_object_size; 执行时占用多少内存,查看code_size列 编译时占用多少内存,查看(source_size+parsed_size)列
buryMyLove 2013-11-13
  • 打赏
  • 举报
回复
select * from user_object_size; 执行时占用多少内存,查看code_size列 编译时占用多少内存,查看(source_size+parsed_size)列
q994539183 2013-11-13
  • 打赏
  • 举报
回复
额。。。。。。我先自己顶一个吧

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧