gccurrentrequest等待时间处理

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

创新互联-专业网站定制、快速模板网站建设、高性价比乐亭网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式乐亭网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖乐亭地区。费用合理售后完善,十年实体公司更值得信赖。

 

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

 

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转换方法,以便以后查看。


本文题目:gccurrentrequest等待时间处理
路径分享:http://ybzwz.com/article/igpgpc.html