zoukankan      html  css  js  c++  java
  • 昨天出现gc current request等待事件,介绍p1,p2,p3转换方法

    昨天有个session 运行查询 一直出现 gc current request 这个等待事件

    该等待事件表示资源从远程实例读取到本地实例所花费的时间。出现该事件并不能说明什么问题,如果等待时间过长,可能表示内联网络存在问题或者有严重的块争用。

    SQL> select name,parameter1,parameter2,parameter3 from v$event_name where name='gc current request';

    NAME                 PARAMETER1           PARAMETER2           PARAMETER3

    -------------------- -------------------- -------------------- --------------------

    gc current request   file#                block#               id#

    该等待事件 p1 表示 文件号,p2表示块号,p3表示v$waitstat中的class

    昨天的 p1=20009,p2=2915028  p3=33554433

    于是作如下查询:

    SQL> SELECT tablespace_name, file_name FROM dba_data_files WHERE file_id = 20009;

    TABLESPACE_NAME                FILE_NAME

    ------------------------------ -------------------------------------------------------------------------------

    查询不到数据文件,于是更换查询条件:

    SQL> SELECT tablespace_name, file_name FROM dba_temp_files f, v$parameter p WHERE p.name='db_files' AND f.file_id+p.value = 20009;

    TABLESPACE_NAME                FILE_NAME

    ------------------------------ --------------------------------------------------------------------------------

    TEMP                           +DGDATA01/adw1d/tempfile/temp.596.683026963

    p3我们可以这样转换:

    SQL> select power(2,25)+1 from dual;

    POWER(2,25)+1

    -------------

         33554433

    SQL> select rownum,class from v$waitstat;

        ROWNUM CLASS

    ---------- ------------------

             1 data block

             2 sort block

             3 save undo block

             4 segment header

             5 save undo header

             6 free list

             7 extent map

             8 1st level bmb

             9 2nd level bmb

            10 3rd level bmb

            11 bitmap block

            12 bitmap index block

            13 file header block

            14 unused

            15 system undo header

            16 system undo block

            17 undo header

            18 undo block

    18 rows selected

    p3表示等待的是data block,因为power函数后面加的是1

    之后我又查看了等待事件的p1,p2,p3,发现p1变成了20011

    SQL> SELECT tablespace_name, file_name FROM dba_temp_files f, v$parameter p WHERE p.name='db_files' AND f.file_id+p.value = 20011;

    TABLESPACE_NAME                FILE_NAME

    ------------------------------ --------------------------------------------------------------------------------

    TEMP                           +DGDATA01/adw1d/tempfile/temp.655.715787593

    内联网络应该不会出现问题,那么这个问题应该是等待临时文件有严重的争用,由于当时下班重忙,没有仔细检查,

    现在写这篇博客,主要记录gc current request 等待事件的 p1,p2,p3转换方法,以便以后查看。

  • 相关阅读:
    linux的别名(alias/unalias)
    asp.net <%%> <%#%><%=%><%@%><%$%>用法与区别
    SQL获取刚插入的记录的自动增长列ID的值
    包和继承
    面对对象编程(封装)
    面对对象编程(上)
    数组(下)
    java数组-如何在一堆数据中使用数组!
    Request和Response学习笔记5
    Request和Response学习笔记4
  • 原文地址:https://www.cnblogs.com/hehe520/p/6330599.html
Copyright © 2011-2022 走看看