考试网 >> IT认证 >> Oracle >> Oracle指导 >> 获得应用程序所执行的SQL语句

获得应用程序所执行的SQL语句

发布时间:2006-06-28 09:48     点击:
分页:[1] 2 3  下一页

  我们在确定应用程序性能的时候,更多地会关注其中SQL语句的执行情况。通常应用的性能瓶颈会在数据库这边,因此数据库的sql语句是我们优化的重点。

  

  要对sql语句进行优化,首先要知道应用程序执行了哪些SQL语句。下面我介绍三种方法来获得应用程序所执行的SQL语句。

  

  方法一:如果你采用的数据库是oracle的话,那么可以利用oracle本身的10046事件跟踪SQL语句。步骤如下:

  

  1、首先获得spid、sid、serial#,machine为你的机器名

  

  SQL> select b.spid,a.sid,a.serial#,a.machine from v$session a,v$process b where a.paddr = b.addr and a.machine=’yz’;

  

  SPID        SID  SERIAL# MACHINE

  

  9497         49    3406   yz

  

  2、利用10046事件开始跟踪

  

  SQL>execute sys.dbms_system.set_ev(49, 3406,10046,1,’’);

  PL/SQL procedure successfully completed.

  

  3、这时候你可以运行应用程序,对于web 应用你就可以打开你认为性能比较差页面。

  

  4、如果你要查看这段时间执行了哪些sql语句,可以执行下面的语句结束跟踪

  

  SQL>execute sys.dbms_system.set_ev(49,3406,10046,0,’’);

  

  PL/SQL procedure successfully completed.

  

  5、SQL trace 工具会收集这个过程中执行的SQL的性能状态数据,记录到一个跟踪文件中.这个跟踪文件提供了许多有用的信息,例如解析次数.执行次数,CPU使用时间等。

  

  6、这时候你可以通过下面的语句获得产生的跟踪文件所在的目录

  

  SQL> select value from v$parameter where name = ’user_dump_dest’;
分页:[1] 2 3  下一页
版权申明:未经书面授权请勿转载本站信息!!作品版权归所属媒体与作者所有!!
发表评论: 匿名发表 用户名: 查看评论
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容
本站提醒:不要进行人身攻击。谢谢配合。
在本站搜索相关信息
2003-2005 Ksw123.com All Rights Reserved. - TOP
Copyright © 2006 Ksw123.com. All rights reserved.中国考题网 版权所有