最近执行的SQL语句不在V$SQL中。

4
在什么情况下,选择查询语句不会出现在V$SQL视图中?
例如,如果我运行以下命令:
select /*findme*/ * from T ...

然后立即运行以下代码:

select * from v$sql where sql_text like '%/*findme*/%';

在什么情况下会返回0行?在这种情况下,我是否可以强制记录查询信息到V$SQL中?


你是在集群上运行吗?你尝试从 gv$sql 中进行选择了吗? - Matthew McPeak
您的用户拥有自己的对象V$SQL。 - Michael Piankov
@MatthewMcPeak 对我来说是新闻,但显然是的。你能把它添加为答案吗?谢谢! - hmqcnoesy
你确定你在集群上吗?还是你只是尝试了 gv$sql 并且它起作用了?因为这也可能意味着 @MichaelPiankov 猜对了。 - Matthew McPeak
@MatthewMcPeak 这是一个 RAC。虽然我很想知道用户如何拥有自己的对象 V$SQL。正在研究中... - hmqcnoesy
1个回答

7
在什么情况下,查询不会出现在V$SQL视图中?
一种情况是在实际应用集群(RAC)中。在这样的环境下,V$SQL仅包含当前节点的库缓存。要查看所有节点上的库缓存,请从GV$SQL中选择。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接