zoukankan      html  css  js  c++  java
  • SQL*Net break/reset to client等待事件

    一般情况下无法从动态视图(v$session/v$session_wait)看到这个等待事件,因为它十分短暂。其本质从字面意思上来解释的话,是一种网络等待(network issue); 举例而言,如果运行的代码中包含某种可能的错误,且在调用中触发了的话,服务器端本地的服务进程有义务对远程客户端告知该信息,这个告知的过程中服务进程就处于SQL*Net break/reset to client等待中,直到客户端收到问题信息为止。与一般意义上的Sever-client模式一样,使用dblink时也可能出现该种等待事件。 下面我们来尝试演示该种等待事件:
    SQL>  create table tv (t1 int unique);
    
    Table created.
    
    SQL> insert into tv values(1);
    
    1 row created.
    
    SQL> commit;
    
    Commit complete.
    
    SQL> oradebug setmypid;
    Statement processed.
    SQL>  oradebug event 10046 trace name context forever,level 8;
    Statement processed.
    SQL> insert into tv values(1);
    insert into tv values(1)
    *
    ERROR at line 1:
    ORA-00001: unique constraint (SYS.SYS_C009343) violated
    
    SQL>  oradebug event 10046 trace name context off;
    Statement processed.
    SQL> select event, total_waits from v$session_event where event like '%break%' and sid =(select distinct sid from v$mystat);
    
    EVENT                                                            TOTAL_WAITS
    ---------------------------------------------------------------- -----------
    SQL*Net break/reset to client                                              2
    
    可以看到出现了2次SQL*Net break/reset to client ,进一步分析trace文件可以发现以下记录:
    EXEC #2:c=8000,e=9020,p=0,cr=10,cu=9,mis=0,r=0,dep=0,og=1,plh=0,tim=1279117896316991
    ERROR #2:err=1 tim=1279117896317039
    STAT #2 id=1 cnt=0 pid=0 pos=1 obj=0 op='LOAD TABLE CONVENTIONAL  (cr=0 pr=0 pw=0 time=0 us)'
    WAIT #2: nam='SQL*Net break/reset to client' ela= 33 driver id=1413697536 break?=1 p3=0 obj#=-1 tim=1279117896317323
    WAIT #2: nam='SQL*Net break/reset to client' ela= 521 driver id=1413697536 break?=0 p3=0 obj#=-1 tim=1279117896317915
    WAIT #2: nam='SQL*Net message to client' ela= 5 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=1279117896317964
    
    2次SQL*Net break/reset to client分别为33us和521us; 设计不良的应用程序或者程序中存在较多未安置的exception都可能导致SQL*Net break/reset to client等待事件。
  • 相关阅读:
    Linked List Cycle leetcode java (链表检测环)
    Remove Duplicates from Sorted List II leetcode java
    Remove Duplicates from Sorted List leetcode java
    Merge Two Sorted Lists leetcode java
    Swap Nodes in Pairs leetcode java
    Median of Two Sorted Array leetcode java
    阿里云最便宜的四种域名注册
    nohup和&后台运行,进程查看及终止
    ipv6转ipv4 NAT64与DNS64基本原理概述
    ros使用pppoe拨号获取ipv6,并且下发IPV6的dns到客户机win7
  • 原文地址:https://www.cnblogs.com/macleanoracle/p/2967458.html
Copyright © 2011-2022 走看看