在我们基于Oracle的产品数据库上,我想查看被触发的查询数量。Oracle的查询执行计数
背后的原因是,我们希望看到我们制作的网络电话的数量以及防火墙如果将其移至云系统时可能产生的影响。
select sum(EXECUTIONS)
from v$sql
where last_active_time >= trunc(sysdate)-2
and (parsing_schema_name like '%\_RW%' escape '\' or parsing_schema_name = 'TEMP_USER')
and module not in ('DBMS_SCHEDULER')
and sql_text not like '%v$sql%';
上面的查询看起来不是很可靠,因为SQL被推出内存,这是上面的返回。
有什么方法可以从数据库本身获取我们在Oracle数据库上进行的调用次数吗?从所有应用程序登录目前不是一个可行的选择。
谢谢!
您是否在使用企业数据库?你有AWR吗? – alexgibbs
我们正在使用企业数据库,我们有AWR。 – instanceOfObject
感谢instanceOfObject。很高兴听到。我想知道AWR视图是否可能达到您的目标 - 例如,'DBA_HIST_SQLSTAT'包含许多关于SQL工作负载的数据(例如'EXECUTIONS_DELTA'),最近和累积的基础上,每个SQL语句每个模式。负载,cpu等在那里,可以'总结'等,并绑定到'parsing_schema_name'。通过选择不同的'DBA_HIST_SNAPSHOT',可以在一天中的不同时间查看工作负载。我想知道这是否是您要查找的数据? – alexgibbs