ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 10-16 通过进程ID跟踪一个会话

10-16 通过进程ID跟踪一个会话

原创 Linux操作系统 作者:diggger 时间:2012-09-27 11:49:39 0 删除 编辑
问题:
    你想通过操作系统进程ID来确认并跟踪一个会话。
方法:
   通过操作系统进程ID, 执行alter session(或alter system)set events命令跟踪会话,操作系统进程ID由V$PROCESS视图中spid值显示。该命令的一般格式如下:
alter session set events 'sql_trace {process:pid}';

    下面是由OS PID跟踪会话的步骤:
        1、通过查询v$process视图获取OS进程ID
         SQL> select spid, pname from v$process;
       
         2、一旦确认该用户的SPID,执行以下语句开始跟踪此会话:
         SQL> alter session set events 'sql_trace {process:2714}';
          Session altered.
          SQL>
        
          3、以下方法关闭跟踪:
           SQL> alter session set events 'sql_trace {process:2714} off';
          Session altered.
          SQL>

         你也可以按下面的方式执行set events命令来合并两个进程:
          SQL> alter system set events 'sql_trace {process:2714|2936}';
          System  altered.
          SQL> alter session set events 'sql_trace {process:2714|2936} off';
          System altered.
          SQL>
      当你合并两个进程时,数据库还是产生两个独立的跟踪文件,每个进程一个,如下所示:
      orcl_ora_2714.trc
      orcl_ora_2936.trc
  
   工作原理:
    在Oracle 11g 数据库,alter session set events命令得到了改进,使得通过指定的进程ID(PID),进程名称(PNAME),或Oracle进程ID(ORAPID)跟踪会话进程。你也可以使用基本语法相同的alter system命令。以下是该命令的语法:
alter session set events 'sql_trace {process:pid = , pname = , rapid = } rest of event specification'
    v$process视图包含所有当前活动进程的信息。在v$process视图中,以下列(字段)可以识别这三个相关进程的值:
PID:Oracle进程标识符
SPID:操作系统进程标识符
PNAME:进程名称

    在本秘诀中,我们展示了使用OS进程标识符(V$PROCESS视图中SPID列)怎样产生跟踪文件。你可以通过PID或进程名用同样的语法产生跟踪文件。


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

上一篇: 10-15 跟踪SQL会话
请登录后发表评论 登录
全部评论

注册时间:2012-09-13

  • 博文量
    33
  • 访问量
    45476