问题描述
有时我想捕获一个进程正在运行的SQL,通常最快的方法是使用Toad,SqlDeveloper中的会话浏览器工具,或者直接使用v $ session和v $ sql表。然而,我显然看到的是:
现在我知道我可以启用跟踪并查看绑定,但是有什么方法可以从v $ 表中获取它们?v $ sql_bind_capture似乎是在第一次运行时捕获的那些 (偷看绑定?)
是否有任何v $ view (或其他) 表示此会话在此时运行此sql_id时使用了这些绑定?
谢谢
Select something From my_table t Where t.value = :1
现在我知道我可以启用跟踪并查看绑定,但是有什么方法可以从v $ 表中获取它们?v $ sql_bind_capture似乎是在第一次运行时捕获的那些 (偷看绑定?)
Select /*JK123*/ * From dual where dummy = :1; Select * From V$SQL WHERE sql_text like '%JK123%'; Select * From V$SQL_BIND_CAPTURE where sql_id='auac7nd4vqhx6';
是否有任何v $ view (或其他) 表示此会话在此时运行此sql_id时使用了这些绑定?
谢谢
专家解答
我们捕获 * 一些 * 绑定信息,但不是全部-它是采样的,而不是每次执行 (这样做太昂贵的开销)
v $ sql_bind_capture
v $ sql_plan.other_xml
还有
v $ sql_bind_data
v $ sql_bind_metadata
但是它们是特定于会话的
如果您已获得许可 (Diag调优),则还可以使用V $ SQL_MONITOR.BIND_XML进行实时sql监视伞下的查询
v $ sql_bind_capture
v $ sql_plan.other_xml
还有
v $ sql_bind_data
v $ sql_bind_metadata
但是它们是特定于会话的
如果您已获得许可 (Diag调优),则还可以使用V $ SQL_MONITOR.BIND_XML进行实时sql监视伞下的查询
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




