ITPub博客

首页 > 数据库 > Oracle > RAC 一节点查询ASM视图夯分析处理

RAC 一节点查询ASM视图夯分析处理

原创 Oracle 作者:jason_yehua 时间:2023-03-15 10:43:26 0 删除 编辑

环境: Release 11.2.0.4.0 Production

故障描述:RAC环境2个节点,节点2查询asm视图正常返回结果,节点1查询asm视图就会一直hang.


以下是分析和处理过程

su - grid

$ sqlplus / as sysasm

set linesize 200

col event for a40 

col machine for a30

col program for a30

SELECT inst_id,sid,serial#,event,username,sql_id,machine,program,blocking_session from gv$session where wait_class<>'Idle'; 

   INST_ID     SID    SERIAL# EVENT                   USERNAME    SQL_ID        MACHINE       PROGRAM                        BLOCKING_SESSION     BLOCKING_INSTANCE

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

         1       1        229 enq: DD - contention    SYS         fxdyd5rygqhry dcpddb01      sqlplus@dcpddb01 (TNS V1-V3)               1800                     1

         1     126        217 enq: DD - contention    SYS         fxdyd5rygqhry dcpddb01      sqlplus@dcpddb01 (TNS V1-V3)               1800                     1

         1     188        217 enq: DD - contention    SYS         fxdyd5rygqhry dcpddb01      sqlplus@dcpddb01 (TNS V1-V3)               1800                     1

         1     250        213 enq: DD - contention    SYS         fxdyd5rygqhry dcpddb01      sqlplus@dcpddb01 (TNS V1-V3)               1800                     1

         1     312        225 enq: DD - contention    SYS         fxdyd5rygqhry dcpddb01      sqlplus@dcpddb01 (TNS V1-V3)               1800                     1

         1     374        211 enq: DD - contention    SYS         fxdyd5rygqhry dcpddb01      sqlplus@dcpddb01 (TNS V1-V3)               1800                     1

         1     436        213 enq: DD - contention    SYS         fxdyd5rygqhry dcpddb01      sqlplus@dcpddb01 (TNS V1-V3)               1800                     1

         1     498        217 enq: DD - contention    SYS         fxdyd5rygqhry dcpddb01      sqlplus@dcpddb01 (TNS V1-V3)               1800                     1

         1     560        215 enq: DD - contention    SYS         fxdyd5rygqhry dcpddb01      sqlplus@dcpddb01 (TNS V1-V3)               1800                     1

         1     622        215 enq: DD - contention    SYS         fxdyd5rygqhry dcpddb01      sqlplus@dcpddb01 (TNS V1-V3)               1800                     1

         1     684        215 enq: DD - contention    SYS         fxdyd5rygqhry dcpddb01      sqlplus@dcpddb01 (TNS V1-V3)               1800                     1

         1     746        215 enq: DD - contention    SYS         fxdyd5rygqhry dcpddb01      sqlplus@dcpddb01 (TNS V1-V3)               1800                     1

         1     808        217 enq: DD - contention    SYS         fxdyd5rygqhry dcpddb01      sqlplus@dcpddb01 (TNS V1-V3)               1800                     1

         1     870        217 enq: DD - contention    SYS         fxdyd5rygqhry dcpddb01      sqlplus@dcpddb01 (TNS V1-V3)               1800                     1

         1     932        213 enq: DD - contention    SYS         fxdyd5rygqhry dcpddb01      sqlplus@dcpddb01 (TNS V1-V3)               1800                     1

         1     994        211 enq: DD - contention    SYS         fxdyd5rygqhry dcpddb01      sqlplus@dcpddb01 (TNS V1-V3)               1800                     1

         1    1056        207 enq: DD - contention    SYS         fxdyd5rygqhry dcpddb01      sqlplus@dcpddb01 (TNS V1-V3)               1800                     1

         1    1118        221 enq: DD - contention    SYS         fxdyd5rygqhry dcpddb01      sqlplus@dcpddb01 (TNS V1-V3)               1800                     1

         1    1180        209 enq: DD - contention    SYS         fxdyd5rygqhry dcpddb01      sqlplus@dcpddb01 (TNS V1-V3)               1800                     1

         1    1243        217 enq: DD - contention    SYS         fxdyd5rygqhry dcpddb01      sqlplus@dcpddb01 (TNS V1-V3)               1800                     1

         1    1304        215 enq: DD - contention    SYS         fxdyd5rygqhry dcpddb01      sqlplus@dcpddb01 (TNS V1-V3)               1800                     1

         1    1366        369 enq: DD - contention    SYS         fxdyd5rygqhry dcpddb01      sqlplus@dcpddb01 (TNS V1-V3)               1800                     1

         1    1428        319 enq: DD - contention    SYS         fxdyd5rygqhry dcpddb01      sqlplus@dcpddb01 (TNS V1-V3)               1800                     1


查看等待事件为"enq: DD - contention"的都是被1800会话阻塞,1800会话的event是rdbms ipc reply空闲等待


SQL> SELECT inst_id,sid,serial#,event,username,sql_id,machine,program,blocking_session from gv$session where sid=2730;


   INST_ID        SID    SERIAL# EVENT                  USERNAME     SQL_ID        MACHINE     PROGRAM                        BLOCKING_SESSION   BLOCKING_INSTANCE

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

         1       1800        265 rdbms ipc reply         SYS          fxdyd5rygqhry dcpddb01    sqlplus@dcpddb01 (TNS V1-V3)               1356                   1


1800会话又是被1367会话阻塞,1356会话的event是GPnP Get Item


SQL> SELECT inst_id,sid,serial#,event,username,sql_id,machine,program,blocking_session from gv$session where sid=1356;


   INST_ID        SID    SERIAL# EVENT                  USERNAME     SQL_ID        MACHINE     PROGRAM                        BLOCKING_SESSION   BLOCKING_INSTANCE

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

         1       1356        145 GPnP Get Item           SYS                        dcpddb01    oracle@newdb2 (RBAL)           1356                   1


最终的被1356会话在等待:GPnP Get Item .

查询MOS就可以匹配到 - Diskgroup Mount Hangs with RBAL Waiting on 'GPnP Get Item' and 'enq: DD - contention' (Doc ID 1375505.1)

This is caused by non-published bug:12398300 which is a duplicate of bug:12356910 (also non-published). 


最终处理方式如下:

[oracle@dcpddb01_W1DC ~]$ps -ef | grep gpnpd.bin

grid   17122 23407  0 10:11 pts/0    00:00:00 grep --color=auto gpnpd.bin

grid     41358     1  0 01:00 ?        00:00:43 /u01/app/11.2.0.4/grid/bin/gpnpd.bin

[grid@dcpddb01_W1DC ~] kill -9  17122

You have mail in /var/spool/mail/root

[grid@dcpddb01_W1DC ~] 

[grid@dcpddb01_W1DC ~] ps -ef | grep gpnpd.bin

grid     16338 23407  0 10:20 pts/0    00:00:00 grep --color=auto gpnpd.bin

grid     22368     1  0 01:00 ?        00:00:44 /u01/app/11.2.0.4/grid/bin/gpnpd.bin


su - grid

$ sqlplus / as sysasm

SQL> SELECT inst_id,sid,serial#,event,username,sql_id,machine,program,blocking_session from gv$session where wait_class<>'Idle'; 


no rows selected


SQL> select name,state from v$asm_diskgroup;


NAME                           STATE

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

DATA_DG                        MOUNTED

BAK_DG                         MOUNTED

VOTE_DG                        MOUNTED

ARC_DG                         MOUNTED


SQL>                    

再次验证查询v$asm_disk已经恢复正常,故障解决。


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

请登录后发表评论 登录
全部评论

注册时间:2019-05-22

  • 博文量
    122
  • 访问量
    99612