Slow to connect to oracle w/ JDBC & SQLPLUS over network

We're having a problem where it takes up to 12 seconds to establish a new connection over network to a Oracle Database (running on a 16 processor HP box). The Client runs on Win2k. Both JDBC and SQLPLUS takes 8-12 seconds to connect to Oracle, but after the connection is established, the queries are lightning fast (so the problem is solely in the connect area).

I assume it can be the TNS listner. Running tcp sniffers we can see the connection is trying to be established. The client sends a TCP message "ACK TOO LONG" then Oracle responds with keep alive. Nothing happens for about 6-10 seconds before Oracle asks to retransmit and at that time a new connect is sent.

Does anyone know what can be wrong? Could it help to setup a seperate TNSListner for this? Is there an ultimate setup? Could it be something else than the TNS listner?

Any help would be appriciated greatly!

- Morten
Who is Participating?
k_murli_krishnaConnect With a Mentor Commented:
1) Decrease the number of existing connections i.e. the number of schemas or the clients configured to connect to existing schemas. This will decrease connection time a lot.

2) For connection pooling use oci8 and not thin drivers.

3) As the previous experts mentioned dedicated server mode which is default should be retained.

4) Make sure clients either oracle or middle end application servers disconnect as soon as work is over.

5) The CPU, primary and secondary memory of clients, servers and network load other than oracle also matter a lot.

6) If connections are made and closed within a method which are multi-threaded, make sure the methods are not synchronized.

7) If it is a MAN/WAN, the oracle server should be a proxy/firewall OR direct IP's should be configured which will be faster than a VPN secure connections based oracle connection.

8) Remove all extra objects, jobs etc. running on the server.

9) Try to see available protocols and viability and speed in your network.

10) Make sure number of client windows/connections are kept the minimum and restart services and database to check if open/inconsistent connections termination can improve connectivity.

--- k_murli_krishna
are you using the oracle MTS - the shared server mode for the DB connections, if that is the case then inital connection takes a bit longer than the dedicated server mode (which is oracle default)
As arun04 suggested above, if you are using the MTS or even connection pooling, you will experience delays in connecting. The "ultimate" setup for you would be to have dedicated connections and do away with MTS. But obviously you would need more resources on the server to manage this. Alternatively you can create a separate entry in tnsnames file for dedicated connections and use them for "special" cases.


Never miss a deadline with

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

Few things:

If you login the HP box, connect to database there using sql*plus (sqlplus usrname/passwd@tns_alias), does the connection show similar pattern of slowness?

Can you post the version of your
OS (HP-UX 11?) and Oracle (8.1.7?). Also
if the OS is 64bit and Oracle is 32bit?

Can you check if /etc/hosts has the
permission -rw-r--r--?
Are you using names resolution using an Oracle names server or DNS etc? Use a plain IP address in your tnsnames.ora file and see if that helps.

Is the network you mentioned a LAN or a WAN

ADMINISTRATION WILL BE CONTACTING YOU SHORTLY.  Moderators Computer101 or Netminder will return to finalize these if still open in seven days.  Please post closing recommendations before that time.

Question(s) below appears to have been abandoned. Your options are:
1. Accept a Comment As Answer (use the button next to the Expert's name).
2. Close the question if the information was not useful to you, but may help others. You must tell the participants why you wish to do this, and allow for Expert response.  This choice will include a refund to you, and will move this question to our PAQ (Previously Asked Question) database.  If you found information outside this question thread, please add it.
3. Ask Community Support to help split points between participating experts, or just comment here with details and we'll respond with the process.
4. Delete the question (if it has no potential value for others).
   --> Post comments for expert of your intention to delete and why
   --> YOU CANNOT DELETE A QUESTION with comments; special handling by a Moderator is required.

For special handling needs, please post a zero point question in the link below and include the URL (question QID/link) that it regards with details.
Please click this link for Help Desk, Guidelines/Member Agreement and the Question/Answer process.

Click you Member Profile to view your question history and please keep them updated. If you are a KnowledgePro user, use the Power Search option to find them.  

Questions which are LOCKED with a Proposed Answer but do not help you, should be rejected with comments added.  When you grade the question less than an A, please comment as to why.  This helps all involved, as well as others who may access this item in the future.  PLEASE DO NOT AWARD POINTS TO ME.

To view your open questions, please click the following link(s) and keep them all current with updates.

*****  E X P E R T S    P L E A S E  ******  Leave your closing recommendations if this item remains inactive another seven (7) days.  If you are interested in the cleanup effort, please click this link 
POINTS FOR EXPERTS awaiting comments are listed here ->
Moderators will finalize this question if in @7 days Asker has not responded.  This will be moved to the PAQ (Previously Asked Questions) at zero points, deleted or awarded.
Thank you everyone.
Moderator @ Experts Exchange

Please close this question if you are through.

--- k_murli_krishna
Finalized by Moondancer - EE Moderator
All Courses

From novice to tech pro — start learning today.