Why Oracle DB related error like 'Error - Fatal NI connect error' are getting generated ?
Environment
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
- Oracle DB
Issue
- Oracle team is getting error like below:
Fatal NI connect error 12170.
VERSION INFORMATION:
TNS for Linux: Version 11.2.0.3.0 - Production
Oracle Bequeath NT Protocol Adapter for Linux: Version 11.2.0.3.0 - Production
TCP/IP NT Protocol Adapter for Linux: Version 11.2.0.3.0 - Production
Time: 22-MAY-2014 11:07:05
Tracing not turned on.
Tns error struct:
ns main err code: 12535
TNS-12535: TNS:operation timed out
ns secondary err code: 12560
nt main err code: 505
TNS-00505: Operation timed out
nt secondary err code: 110
nt OS err code: 0
Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=xx.xx.xxx.xx)(PORT=xxxxx))
Resolution
- The error/logs are DB logs only not something generated by RHEL OS.
-
To get the exact meaning of error messages, it is recommended to contact the concerned vendor.
The vendor can assist in generating sql traces and locating listener logs to locate exactly where the connection timed out. -
If the issue has passed and not occurring in the present, packet captures taken at time of issue from both sides of the connection would be needed for Root Cause Analysis.
If no pcaps are taken, a Root Cause analysis will not be possible.
Alternatively you may seek to contact the vendor for gathering Listener logs and switch drop logs. -
After working with the vendor, the following settings have resolved the issue for previous issues and the error messages were no longer seen. These settings will need to coordinated with the vendor.
Adjust the database `sqlnet.ora` file :
SQLNET.EXPIRE_TIME=10
SQLNET.INBOUND_CONNECT_TIMEOUT=60
Tweak the DATASOURCES section :
Login to weblogic console:
Then go to console --> services --> data sources --> [DATASOURCENAME] --> Configuration --> connection pool
confirm default settings for initial,minimum,maximum capacity
initial:1
minimum: 15
maximum capacity: 1
Then click on the advanced link on the same page and set parameters:
inactive connection timeout = 30
uncheck Remove Infected Connections Enabled
This changes the number of seconds of inactivity after which reserved connections will forcibly be released back into the pool. When set to 0 (the default), this feature is disabled.
~~~
Root Cause
- This message indicates that the Client has experienced a timeout connected to the server.
- The message
nt secondary err code: 110
translates to (network transport) for the Linux Operating System
For the Linux operating system: nt secondary err code: 110
ETIMEDOUT 110 Connection timed out
Diagnostic Steps
- For more information about tweaking Oracle Weblogic Servers the following link could be used as a guide but only with more consultation with your vendor
Oracle Tuning Guide
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Comments