Oracle DBA:有什么方法可以查看我的 ASP.NET 应用程序正在运行哪些查询?
我有一个 ASP.NET 应用程序,它使用 Oracle 进行持久性并通过 ADO.NET 和存储过程对其进行查询。
我拥有完整版的 TOAD 和数据库的管理权限。
有什么方法可以查看应用程序在过去 10 分钟内发出的所有查询吗?
I have an ASP.NET application that uses Oracle for persistence and queries it via ADO.NET and stored procedures.
I have the full version of TOAD and administrative rights to the database.
Is there any way to view all queries issued by the application over the last 10 minutes?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我不知道过去 10 分钟的情况,但是如果您使用会话浏览器(关闭工具栏,或数据库菜单 -> 监视器 -> 会话浏览器),您可以查看已连接用户的当前语句(展开 w3wp .exe,然后按计算机名称排序以找到正确的连接),然后在浏览应用程序时按住刷新按钮即可。
摆脱 TOAD GUI 的限制,您可以尝试手动查询 v$sqlarea:
I don't know about over the past 10 minutes, but if you use the Session Browser (off the toolbar, or Database Menu -> Monitor -> Session Browser) you can view the current statement of a connected user (expand w3wp.exe, then sort by machine name to find the correct connections), then just keep pressing the refresh button as you navigate through your app.
Breaking away from the confines of the TOAD GUI, you could try manually querying v$sqlarea:
您可能不知道应用程序用户会话的 SID。但您当然知道应用程序正在访问的对象的架构所有者。
要按时间限制结果,可以使用 awr 快照。 (自动工作负载存储库)
有关 AWR 的更多信息:http ://download.oracle.com/docs/cd/B19306_01/server.102/b14211/autostat.htm#PFGRF02601
You maybe don't know the SID of your applications user session. But you certainly know the schema owner of the objects, the applications is accessing.
To restrict your result by time you can use awr snapshots. (automatic workload repository)
More about AWR: http://download.oracle.com/docs/cd/B19306_01/server.102/b14211/autostat.htm#PFGRF02601
这是我用来检查慢速查询的查询:(可能会让您开始)
Here is a query I use to examine slow queries: (Might get you started)