• 脚本:监控并行进程状态


    脚本正文:
    col username for a12
    col "QC SID" for A6
    col "SID" for A6
    col "QC/Slave" for A8
    col "Req. DOP" for 9999
    col "Actual DOP" for 9999
    col "Slaveset" for A8
    col "Slave INST" for A9
    col "QC INST" for A6
    set pages 300 lines 300
    col wait_event format a30
    select
    decode(px.qcinst_id,NULL,username, 
    ' - '||lower(substr(pp.SERVER_NAME,
    length(pp.SERVER_NAME)-4,4) ) )"Username",
    decode(px.qcinst_id,NULL, 'QC', '(Slave)') "QC/Slave" ,
    to_char( px.server_set) "SlaveSet",
    to_char(s.sid) "SID",
    to_char(px.inst_id) "Slave INST",
    decode(sw.state,'WAITING', 'WAIT', 'NOT WAIT' ) as STATE,     
    case  sw.state WHEN 'WAITING' THEN substr(sw.event,1,30) ELSE NULL end as wait_event ,
    decode(px.qcinst_id, NULL ,to_char(s.sid) ,px.qcsid) "QC SID",
    to_char(px.qcinst_id) "QC INST",
    px.req_degree "Req. DOP",
    px.degree "Actual DOP"
    from gv$px_session px,
    gv$session s ,
    gv$px_process pp,
    gv$session_wait sw
    where px.sid=s.sid (+)
    and px.serial#=s.serial#(+)
    and px.inst_id = s.inst_id(+)
    and px.sid = pp.sid (+)
    and px.serial#=pp.serial#(+)
    and sw.sid = s.sid  
    and sw.inst_id = s.inst_id   
    order by
      decode(px.QCINST_ID,  NULL, px.INST_ID,  px.QCINST_ID),
      px.QCSID,
      decode(px.SERVER_GROUP, NULL, 0, px.SERVER_GROUP), 
      px.SERVER_SET, 
      px.INST_ID
    /
    
    set pages 300 lines 300
    col wait_event format a30
    select 
      sw.SID as RCVSID,
      decode(pp.server_name, 
             NULL, 'A QC', 
             pp.server_name) as RCVR,
      sw.inst_id as RCVRINST,
    case  sw.state WHEN 'WAITING' THEN substr(sw.event,1,30) ELSE NULL end as wait_event ,
      decode(bitand(p1, 65535),
             65535, 'QC', 
             'P'||to_char(bitand(p1, 65535),'fm000')) as SNDR,
      bitand(p1, 16711680) - 65535 as SNDRINST,
      decode(bitand(p1, 65535),
             65535, ps.qcsid,
             (select 
                sid 
              from 
                gv$px_process 
              where 
                server_name = 'P'||to_char(bitand(sw.p1, 65535),'fm000') and
                inst_id = bitand(sw.p1, 16711680) - 65535)
            ) as SNDRSID,
       decode(sw.state,'WAITING', 'WAIT', 'NOT WAIT' ) as STATE     
    from 
      gv$session_wait sw,
      gv$px_process pp,
      gv$px_session ps
    where
      sw.sid = pp.sid (+) and
      sw.inst_id = pp.inst_id (+) and 
      sw.sid = ps.sid (+) and
      sw.inst_id = ps.inst_id (+) and 
      p1text  = 'sleeptime/senderid' and
      bitand(p1, 268435456) = 268435456
    order by
      decode(ps.QCINST_ID,  NULL, ps.INST_ID,  ps.QCINST_ID),
      ps.QCSID,
      decode(ps.SERVER_GROUP, NULL, 0, ps.SERVER_GROUP), 
      ps.SERVER_SET, 
      ps.INST_ID
    /
    
    
    
    set pages 300 lines 300
    col "Username" for a12
    col "QC/Slave" for A8
    col "Slaveset" for A8
    col "Slave INST" for A9
    col "QC SID" for A6
    col "QC INST" for A6
    col "operation_name" for A30
    col "target" for A30
    
    select
    decode(px.qcinst_id,NULL,username, 
    ' - '||lower(substr(pp.SERVER_NAME,
    length(pp.SERVER_NAME)-4,4) ) )"Username",
    decode(px.qcinst_id,NULL, 'QC', '(Slave)') "QC/Slave" ,
    to_char( px.server_set) "SlaveSet",
    to_char(px.inst_id) "Slave INST",
    substr(opname,1,30)  operation_name,
    substr(target,1,30) target,
    sofar,
    totalwork,
    units,
    start_time,
    timestamp,
    decode(px.qcinst_id, NULL ,to_char(s.sid) ,px.qcsid) "QC SID",
    to_char(px.qcinst_id) "QC INST"
    from gv$px_session px,
    gv$px_process pp,
    gv$session_longops s 
    where px.sid=s.sid 
    and px.serial#=s.serial#
    and px.inst_id = s.inst_id
    and px.sid = pp.sid (+)
    and px.serial#=pp.serial#(+)
    order by
      decode(px.QCINST_ID,  NULL, px.INST_ID,  px.QCINST_ID),
      px.QCSID,
      decode(px.SERVER_GROUP, NULL, 0, px.SERVER_GROUP), 
      px.SERVER_SET, 
      px.INST_ID
    / 
    
    示例输出:
    Username     QC/Slave SlaveSet SID    Slave INS STATE    WAIT_EVENT                     QC SID QC INS Req. DOP Actual DOP
    ------------ -------- -------- ------ --------- -------- ------------------------------ ------ ------ -------- ---------- 
    SCOTT      QC                923    1         WAIT     db file sequential read        923
     - p003      (Slave)  1        935    1         WAIT     PX Deq Credit: send blkd       923    1             4          4
     - p001      (Slave)  1        961    1         WAIT     PX Deq: Execution Msg          923    1             4          4
     - p002      (Slave)  1        1035   1         WAIT     PX Deq: Execution Msg          923    1             4          4
     - p004      (Slave)  1        977    1         WAIT     PX Deq Credit: send blkd       923    1             4          4
     - p006      (Slave)  2        609    1         WAIT     PX Deq: Execution Msg          923    1             4          4
     - p007      (Slave)  2        642    1         WAIT     PX Deq: Execution Msg          923    1             4          4
     - p008      (Slave)  2        970    1         WAIT     PX Deq: Execution Msg          923    1             4          4
     - p005      (Slave)  2        953    1         WAIT     PX Deq: Execution Msg          923    1             4          4
    SCOTT      QC                1003   1         WAIT     SQL*Net message from client    1003
     - p015      (Slave)  1        608    1         WAIT     PX Deq Credit: send blkd       1003   1             8          8
     - p011      (Slave)  1        639    1         WAIT     PX Deq Credit: send blkd       1003   1             8          8
     - p012      (Slave)  1        1115   1         WAIT     PX Deq: Execution Msg          1003   1             8          8
     - p000      (Slave)  1        1253   1         WAIT     PX Deq Credit: send blkd       1003   1             8          8
     - p010      (Slave)  1        1420   1         WAIT     PX Deq: Execution Msg          1003   1             8          8
     - p009      (Slave)  1        1421   1         WAIT     PX Deq Credit: send blkd       1003   1             8          8
     - p014      (Slave)  1        1417   1         WAIT     PX Deq: Execution Msg          1003   1             8          8
     - p013      (Slave)  1        1180   1         WAIT     PX Deq: Execution Msg          1003   1             8          8
     - p020      (Slave)  2        1422   1         WAIT     PX Deq: Execution Msg          1003   1             8          8
     - p023      (Slave)  2        1423   1         WAIT     PX Deq: Execution Msg          1003   1             8          8
     - p018      (Slave)  2        1424   1         WAIT     PX Deq: Execution Msg          1003   1             8          8
     - p021      (Slave)  2        1426   1         WAIT     PX Deq: Execution Msg          1003   1             8          8
     - p019      (Slave)  2        1428   1         WAIT     PX Deq: Execution Msg          1003   1             8          8
     - p016      (Slave)  2        1429   1         WAIT     PX Deq: Execution Msg          1003   1             8          8
     - p022      (Slave)  2        1427   1         WAIT     PX Deq: Execution Msg          1003   1             8          8
     - p017      (Slave)  2        1425   1         WAIT     PX Deq: Execution Msg          1003   1             8          8 
    
  • 相关阅读:
    【洛谷3214】[HNOI2011] 卡农(思维)
    【洛谷2609】[ZJOI2012] 数列(高精度)
    【洛谷4501】[ZJOI2018] 胖(二分+RMQ)
    【洛谷4726】【模板】多项式指数函数(多项式 exp)
    uC/OS-II之入门与介绍20160525
    [转]Delphi 关键字详解
    [转]单元文件结构
    Delphi ComboBox的属性和事件、及几个鼠标事件的触发
    Delphi 用ToolButton和MonthCalendar实现DateTimePicker的功能
    Delphi 动态改变Rzsplitter的Orientation(方向)属性
  • 原文地址:https://www.cnblogs.com/macleanoracle/p/2967259.html
Copyright © 2020-2023  润新知