Print Thread
ORA-12170 and 03113
#63819 04/13/22 02:06 PM
Joined: Oct 2000
Posts: 15
Wilmington, DE, USA
D
dgsmith Offline OP
Member
OP Offline
Member
D
Joined: Oct 2000
Posts: 15
Wilmington, DE, USA
We have an intermittent problems with communications between clients and Oracle servers (both Windows.) We may see ORA-12170: TNS:Connect timeout occurred or ORA-03113: end-of-file on communication channel. When this happens there is no error on the Oracle server. We believe it is a network issue but we can't make it happen on demand and haven't been able to diagnose.

Sometimes a multi-user application using a session with ThreadSafe = true just hangs without generating an exception; it seems that the client waits indefinitely, and requests from other threads back up behind it. Should SQLNET.RECV_TIMEOUT and SEND_TIMEOUT help? If we used a TOracleSessionPool with a timeout set, would it terminate the thread?

Thanks or any suggestions.


David Smith
Re: ORA-12170 and 03113
dgsmith #63821 04/14/22 08:35 AM
Joined: Aug 1999
Posts: 22,204
Member
Offline
Member
Joined: Aug 1999
Posts: 22,204
ORA-03113 usually means that the Oracle Server process for the current session has crashed. Can you check if a user trace dump file exist on the database server that corresponds to this ORA-03113 error? Usually you will see an ORA-00600 error here, with some error codes that may help us find the cause of the problem. If it does, can you send it to me?

ORA-12170 might indicate an idle time-out issue. You could implement aa keep-alive function in your application (e.g. perform a "select * from dual" periodically when the application is idle) or check if a firewall or other network component might kill idle network sessions.


Marco Kalter
Allround Automations
Re: ORA-12170 and 03113
Marco Kalter #63822 04/14/22 02:51 PM
Joined: Oct 2000
Posts: 15
Wilmington, DE, USA
D
dgsmith Offline OP
Member
OP Offline
Member
D
Joined: Oct 2000
Posts: 15
Wilmington, DE, USA
Thank you for the response. I don't have access to Oracle server logs, but we spent some time with DBAs on this issue a couple years ago and they said they saw nothing. Network people said they could monitor traffic and see what's going on if I could make it happen on demand, but I can't. I checked with DBAs just now, there is no idle timeout on our application users.

At this point I am not hoping to find a solution, just a way to deal with it that doesn't require extensive rewrites. I modified one app to make all the Oracle calls in separate threads so I could kill them if they took too long. That works, but I'm hoping for something easier to implement.


David Smith

Moderated by  support 

Link Copied to Clipboard
Powered by UBB.threads™ PHP Forum Software 7.7.4
(Release build 20200307)
Responsive Width:

PHP: 7.1.33 Page Time: 0.076s Queries: 15 (0.028s) Memory: 2.5008 MB (Peak: 3.0378 MB) Data Comp: Off Server Time: 2024-04-26 05:05:06 UTC
Valid HTML 5 and Valid CSS