如何辨别同台机器多个客户端sql跟踪

经常会碰到客户端多个sqlplus连接oracle服务器,却不知道该如何判断哪个客户端对应哪个trace文件。其实自己之前也很迷茫。在对着文档深入看了v$session何v$process之后,一切问题都迎刃而解。

 

环境:

oracle服务器:sun os5.10,oracle 10.2.0

客户端:xp,开启2个sqlplusw。

 

开启客户端之后,在Solaris上ps -ef|grep ora一下,查看一下相关进程。

 

从上图可以看到一个本地连接(通过sqlplus),两个远程连接(LOCAL=NO),这两个即为在xp上的客户端。

 好了,现在都已经连上了,下面就可以通过查询视图v$session和v$process得到他们生成的trace文件号了。

 

 

不多说了,先跑下这个脚本,看下结果。

 

从图中可以知道目前共有三个用户连接到服务器。其中两个scott用户是通过远端连接的,它们生成的trace文件的进程号分别为5299和5301.区分的关键就是process列,前面的5680和6040就是客户端对应的操作系统进程号(注意是客户端所在的系统的进程号)。打开xp的任务管理器,

这样就可以对应上了。之后的事情就是查看trace文件了,这个就不多说了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值