gc current request等待时间处理

发布时间:2020-08-09 23:59:01 作者:千寻ccxx
来源:ITPUB博客 阅读:191

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

推荐阅读:
  1. java GC笔记
  2. EXCHANGE指定要使用的域控制器、GC

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

current gc request

上一篇:MongoDB开发规范

下一篇:这7大神器, 让你的Python 代码更易于维护

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》