2017-07-27 59 views
0

如果我想捕获/监视/记录/保存我们开发的应用程序的本地SQL命令,那么这些技术是什么?我们有Oracle数据库。 我已经尝试了SQL Developer/Tools/Monitor会话函数,但它不包含我们应用程序的SQL语句。实时SQL监视器功能只包含一部分所需的命令和大量无用的条目......。如何在服务器级别收集应用程序的SQL命令?

实际上我想: - “开启”跟踪功能(例如SQL开发人员或SQL * Plus) - 启动应用程序,并尝试与实际数据的一些功能(如慢查询) - 一旦因为我认为我有足够的测量:“关闭”跟踪功能和...。 - 开始分析/调整SQL命令(例如使用SQL Developer /解释计划等)

+1

这个问题是广泛用于于是,我投票将其关闭。本主题的文档中有一整章,请参见性能调优指南中的[8执行应用程序跟踪](https://docs.oracle.com/database/121/TGSQL/tgsql_trace.htm#TGSQL794)。有一些例子说明如何启用跟踪,如何收集和分析跟踪文件等。 – krokodilko

回答

0

1)您可以随时使用指定时间AWR报告,以了解哪些查询是在给定时间内的数据库运行。

运行awr报告使用;

@$ORACLE_HOME/rdbms/admin/awrrpt.sql 

AWR捕获顶部的SQL,但你可以增加在awr中捕获的SQL数。

2)数据库级跟踪可以捕获所有sqls运行,执行计划&其他统计。您可以手动启动&停止跟踪。一旦跟踪停止,您可以使用tkprof生成可读文件。跟踪总是会导致性能超过空间开销,但在我的经验中并不大。

  • ABHI
相关问题