Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Settings of connection timeout for Oracle database

For some period time of inactivity, connection to Oracle database are dropped and this leads to error - > end-of-file on communication channel.

  1. Is there any Oracle settings on client machine (sqlnet.ora or some kind of environment variables) which could specify connection timeout and differs from client to client? Or it could be client settings of some "heartbeat" feature (client sends packets in some interval), which prevent connection to be dropped by firewall?

  2. Where I can find setting on server machine for connection timeout due inactivity? Is it possible to see this setting from SQL developer without acquiring physical access to oracle host?

  3. Is it normal behavior for Oracle SQL Developer to be disconnected from Oracle server due inactivity?

like image 808
user12384512 Avatar asked Aug 19 '12 19:08

user12384512


1 Answers

There is no client setting that would cause a connection to be dropped leading to an ORA-03113 error after some time. And there is no setting on the database server that would cause a connection to be timed out leading to an ORA-03113 error.

The server can enable dead connection detection (DCD) by setting the sqlnet.expire_time setting in the server's sqlnet.ora. That will cause the server to periodically send a probe packet to verify that the client is still up.

Oracle will never drop a connection due to inactivity with an ORA-03113 error. It is possible to configure Oracle to drop idle connections but that would generate a different error. If you are getting an ORA-03113 error, either the firewall is causing the connection to be dropped or there is some other hiccup in the network between the client machine and the server.

like image 150
Justin Cave Avatar answered Nov 17 '22 09:11

Justin Cave