ITPub博客

首页 > Linux操作系统 > Linux操作系统 > client端的sql语句跟踪

client端的sql语句跟踪

原创 Linux操作系统 作者:傻瓜和尚 时间:2012-05-01 18:10:48 0 删除 编辑

        鉴于有时候客户会反映业务处理很慢,所以我们有必要学习如何追踪他们的sql语句,了解他们到底慢在哪里。下面是我在学习过程中的一些体会,由于本人纯属菜鸟,以下内容如有不妥,敬请各位大牛指点。

以下主要针对多用户使用共同账户连接服务器的情况。

1、首先获取client的IP、端口等信息  ipconfig/ifconfig
2、在服务器端查看具体哪个进程为客户端连接服务:  $netstat -anp    //具体含义 $man netstat(在window下c:>netstat --help)
3、根据客户提供的IP和端口号,找到对应的进程信息PID   //这里,对应列的含义:Proto--协议  local address--本机IP 
                                                     //foreign address--外连进来的IP   PID/Program--进程号
   找到后,可以通过$ps -ef | grep ***     查看相关信息
4、通过动态性能视图v$process,查看对应进程的详细信息,主要是该进程的内存地址。
   SQL>select addr,spid,username from v$process where spid='进程号';
5、因为需要跟踪sql语句,所以需要先查看当前哪个用户正在执行哪些事务,有哪些sql,借助v$session、v$transaction
   SQL>select addr,sid,username,s.status,process,sql_address,prev_sql_addr from v$session s,v$transaction t
       where s.saddr=t.ses_addr and paddr='进程地址';
6、查询结果显示出对应用户的事务和sql语句的内存地址,接下来就可以根据v$sql视图进一步了解具体是哪些sql语句
   SQL>select sql_text,address,hash_value from v$sql where address='sql语句地址';
7、查询结果显示具体sql语句内容,此时,SQL语句跟踪基本完成,可以把结果反映给客户,进行优化

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26715705/viewspace-722514/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2012-05-01

  • 博文量
    1
  • 访问量
    4686