Friday, March 21, 2014

Connection lost between oracle server and client.(ORA-03135: connection lost contact,Fatal NI connect error 12170,TNS-12535: TNS:operation timed out,TNS-00505: Operation timed out)

                                 Connection lost between oracle server and client.


#~~#Error :- 
-1-At client side have received error code & message :- ORA-03135: connection lost contact
-2-In alert log file have received below error traces:-
Fatal NI connect error 12170.
  VERSION INFORMATION:
        TNS for Linux: Version 11.2.0.1.0 - Production
        Oracle Bequeath NT Protocol Adapter for Linux: Version 11.2.0.1.0 - Production
        TCP/IP NT Protocol Adapter for Linux: Version 11.2.0.1.0 - Production
  Time: DD-MON-YYYY HH:MM:SS
  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=X.X.X.X)(PORT=XXXX))

Note:- The "nt secondary err code" will be different based on the operating system.
Linux x86 or Linux x86-64: "nt secondary err code: 110"
HP-UX Server: "nt secondary err code: 238"
AIX: "nt secondary err code: 78"
Solaris system: nt secondary err code: 145:

RCA:-These timeouts shown in the alert log above is caused by an unexpected disconnect with the connected client.
There are two cases for this i.e Either the client has terminated the session abnormally or there was a network interruption that terminated the session.
The 110 in the error stack is the Operating System detected error, indicating a problem at the TCP layer.

Solution :-
1_ Check the client seen in the client address to see if the client caused this. If not check the network.
2_ It could be that the client was idle and often there are network devices such as firewalls that terminate idle sessions.
In this case the following can be set in the database sqlnet.ora file in an effort to keep the session alive.
sqlnet.expire_time=1

Ref Next Post :- Resolving Problems with Connection Idle Timeout With Firewall.

No comments:

Post a Comment