数据库从10g升级到11g后,后台日志遇到报错ORA-12592。官方解释如下。

即 (Doc ID 1677356.1)

症状
The following error is being intermittently returned to the client: ORA-12592 TNS: Bad Packet. The Alert.log  might also show an ORA-3137 [12333].
在数据库的告警日志文件中显示 ORA-12592 错误或者 ORA-03137 错误。

 Enabling Oracle Net tracing at either the client or the server might clear the error in some cases. Once tracing is turnedoff, the error will likely return.

In the case of a dblink where a recent upgrade to either of these versions took place, the following errors might startappearing:

ORA-02050: transaction 12.113.80208 rolled back, some remote DBs may be in-doubtORA-03150: end-of-file on communication channel for database linkORA-02063: preceding line from MY_LINK

原因:
The cause was identified as unpublished Bug 18841764 ORA-12592 TNS:BAD PACKET OR ORA-3137 (or many other"abort" type error codes).The fix is included in 12.2.x On Windows. Interim patches for this defect are available on most platforms for versions11.2.0.4 and 12.1.0.x.
遇到了bug.

解决:
1. Apply Patch 18841764 available on 11.2.0.4 on various platforms. The patch does not conflict with any 11.2.0.4 PSU, soit can be applied on top of any 11.2.0.4 PSU.

 2. The following workaround has been proven to resolve the issue (in most cases) until the patch can be applied, but witha warning and important note:

Add this parameter to the sqlnet.ora file at BOTH the origin (or client) and at the Database server / instance:

SQLNET.SEND_TIMEOUT=n

* Where n is a value in seconds. The setting itself, and not the value, should resolve this issue, so a relatively high settingshould eliminate this problem but with no impact to normal functions.

E.g.
SQLNET.SEND_TIMEOUT=60000 

如果rac环境,有可能在gi home中打补丁18841764报错(提示没有权限),那么这个补丁可以只打在db home,管用。
02-11 07:37