【发布时间】:2017-05-11 08:16:04
【问题描述】:
我的这个 Java 应用程序仍在通过 JDBC 代码与 Oracle 11g 通信。话虽如此,想在 Oracle 历史记录中检查此应用程序的查询(如果已存在)。
要查看的关键项目:
- 完整查询(带有参数值(已解析而不是
?),通过java.sql.PreparedStatement传递) - 查询时间
- 使用的架构
- 用户发起了查询
预期结果:
- 通过 SQL Developer 运行的 SQL 查询(具有或不具有 SYSDBA 权限)返回所有关键项的键
尝试使用下面的查询,但它没有返回上面列出的关键项目:
select * from v$sql order by last_load_time desc
【问题讨论】:
-
查看 V$SQL_BIND_CAPTURE 和 V$SQLAREA
-
可以查询oracle历史视图。查询 v$active_session_history:这需要大约 1 小时的数据。对于较长时间的数据查询 dba_hist_active_sess_history。 sql 文本位于 dba_hist_sql_text 上。对于绑定变量,dba_hist_sqlbind 也会有所帮助。
-
有什么快捷方式吗?还是要查看的确切查询?