我看不到所有带有v$sql_monitor
or的查询gv$sql_monitor
。我可以看到一些查询,但都没有/*+ MONITOR */
. 我用 MONITOR 测试了一个查询,但它仍然没有显示。我认为这可能只是一个很大的解释问题,所以我调整了我的会话:
ALTER SESSION SET "_SQLMON_MAX_PLAN"=4020;
ALTER SESSION SET "_SQLMON_MAX_PLANLINES"=4000;
select first_refresh_time, last_refresh_time,
status, sql_text
from v$sql_monitor
order by last_refresh_time desc;
,但没有帮助。我想做的是查看通过应用程序提交的查询。查询有效,所以我知道它正在访问数据库。我根本看不到 Oracle 中的查询。
我究竟做错了什么?如果这很重要,我正在使用 SQL Developer。
如果存在以下条件之一,将触发 SQL 监控:
/*+ MONITOR */
查询中存在提示换句话说,如果您的查询速度非常快,没有并行运行并且没有 MONITOR 提示,则不会对其进行监控。
Oracle在其官方文档中解释了V$SQL_MONITOR视图。
看起来它只将记录保留一两分钟,或者直到它需要空间来显示其他查询。