如果自己搞不定可以找诗檀软件专业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