Oracle ORA-3113:网络繁忙超时

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com

 

问题描述:

====================

已建立的连接间歇性断开。

ORA-03113返回到应用程序。

应用程序必须启动一个新的连接。

数据库alert.log中没有生成错误

解决方案:

=====================

警告:Windows注册表/编辑器使用不当会导致很严重的问题,

可能需要您重新安装操作系统。

Windows 注册表上增加TcpMaxDataRetransmissions 参数

Windows (2000, XP, 2003, Vista, 2008, 2008 R2, Windows 7):

HKEY_LOCAL_MACHINE

      SYSTEM        

        CurrentControlSet          

          Services

            Tcpip              

             Parameters

添加一个“TcpMaxDataRetransmissions”REG_DWORD)键并将其值设置为10

在编辑菜单,单击添加值,然后添加以下值:

      Value Name: TcpMaxDataRetransmissions

      Value Type: REG_DWORD – Number

      Valid Range: 0 – 0xFFFFFFFF

      Default Value: 5 Decimal

      New Value: 10 to  Decimal

值可能会随着动态调整而发生变化。

Windows 95:

HKEY_LOCAL_MACHINE      

   SYSTEM        

     CurrentControlSet          

       Services

            Winsock

添加一个“TcpMaxDataRetransmissions”REG_DWORD)键并将其值设置为10

在编辑菜单,单击添加值,然后添加以下值:

      Value Name: TcpMaxDataRetransmissions

      Value Type: REG_DWORD – Number

      Valid Range: 0 – 0xFFFFFFFF

      Default Value: 5 Decimal

      New Value: 10  Decimal

解决方案说明:

=====================

发送一个特定段内的TCP / IP包时,发送方要等待确认(ACK)才能继续下一任务。

如果重传定时器超时之前没有接收到确认,则重传定时器值加倍,而且要重新发送TCP / IP包。

增量重传计数器,重复该过程,直到重传计数器与TcpMaxDataRetransmissions的值相等。

这时,我们认为网络超时,微软操作系统会关闭其接口。

Oracle SQLNET/Net8追踪将此报告为 ntt2err:SOC XXXX错误以及其他多种Oracle网络传输错误(NT)。

默认初始重传定时器的值设置为3秒。

下一次迭代此值加倍,它的产品也要加倍,

直到迭代与TcpMaxDataRetransmissions的值相等。

总时间至超时默认值如下:

(3s)+(3s*2)+(3s*4)+(3s*8)+(3s*16)=93s OR 1 min 33 seconds to network

  time-out.

如果你看到的东西非常接近下面的的SQL *网络/Net8跟踪文件,最可能的原因是,该网络已超时。

ntt2err SOC错误是真正的错误在此之后出现的所有错误都是次要的或误导性的错误。

ntt2err: soc xxxxx error – operation=5, ntresnt[0]=517, ntresnt[1]=54,

ntresnt[2]=0

ntt2err的表面来看,你可能会看到类似下面的内容。这些错误是根源问题的表征,让我们知道,网络或服务器出现故障只是因为超时。

-<ERROR>- osnqrc:  wanted 1 got 0, type 0

-<ERROR>- osnqper:  error from osnqrc

-<ERROR>- osnqper:    nr err code: 0

-<ERROR>- osnqper:    ns main err code: 12547

-<ERROR>- osnqper:    ns (2)  err code: 12560

-<ERROR>- osnqper:    nt main err code: 517

-<ERROR>- osnqper:    nt (2)  err code: 54

-<ERROR>- osnqper:    nt OS   err code: 0

osnqer: entry

osnqer:  incoming err = 12151

之后你可能会看到以下内容:

osnqer:  returning err = 3113

网络繁忙的明显标志是:

ntt2err: soc xxxx – operation=5,

ntresnt[0]=517, ntresnt[1]=54, ntresnt[2]=0

这个非常一致。

        

ORA-3113告诉我们:

文本:  通信通道文件末尾

你可以查看追踪痕迹,但是找到一个EOF包转储是不可能的。你需要重新查看ORA-3113的第二层含义网络或服务器出现故障。若是网络繁忙、服务器正常运转,就会再次出现误导。

注意:

增加TcpMaxDataRetransmissions只能解决坏的或是压力过大的网络。这一解决办法可以给你一些时间以解决潜在的网络问题。

现在是时候摈弃网络探测器,挖掘问题的深度。

它极有可能随着时间的推移变得越来越糟,尤其是随着网络使用越来越多。

搜索词:

Tcp Max Data Retransmissions

TcpMaxDataRetransmissions

3113

ntt2err: soc error –

operation=5, ntresnt[0]=517,

ntresnt[1]=54, ntresnt[2]=0

ref: {4950.102}    BUG-561277

Comment

*

沪ICP备14014813号-2

沪公网安备 31010802001379号