PROMPT List all SQL in the library cache cursor referencing a given table
-- Author: weejar
--
-- you need to run this script either as SYS or
-- need to have relevant X$ proxy views created
-- I tested in oracle 11g it worked .
undefine owner
undefine table_name
prompt
accept owner prompt 'Please enter Name of Table Owner : '
accept table_name prompt 'Please enter Table Name to show reference SQLs for: '
column sql_text format a58 word_wrapped
select /*+ ordered use_hash(d) use_hash(c) */
c.kglobt03 sql_id,
sum(c.kglobt13) disk_reads,
sum(c.kglobt14) logical_reads,
sum(c.kglhdexc) executions,
c.kglnaobj sql_text
from
sys.x$kglob o,
sys.x$kgldp d,
sys.x$kglcursor c
where
o.inst_id = userenv('Instance') and
d.inst_id = userenv('Instance') and
c.inst_id = userenv('Instance') and
o.kglnaown = upper(nvl('&Owner',user)) and
o.kglnaobj = upper('&Table_name') and
d.kglrfhdl = o.kglhdadr and
c.kglhdadr = d.kglhdadr
group by
c.kglnaobj,c.kglobt03
order by 3;
/
undefine owner
undefine table_name
clear breaks
reference "老白" article.
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




