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

Posted on 2002-04-03
Last Modified: 2008-02-07
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
Question by:mortenmo

Expert Comment

ID: 6917149
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)

Expert Comment

ID: 6917241
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.



Expert Comment

ID: 6919781
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--?
Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.


Expert Comment

ID: 6921037
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

LVL 17

Accepted Solution

k_murli_krishna earned 300 total points
ID: 6947423
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

Expert Comment

ID: 6956378
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
LVL 17

Expert Comment

ID: 7044871

Please close this question if you are through.

--- k_murli_krishna

Expert Comment

ID: 7068918
Finalized by Moondancer - EE Moderator

Featured Post

Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Oracle SQL Select unique values from two columns 4 81
add more rows to hierarchy 3 35
Migration from sql server to oracle 5 38
Select the 2 most recent visit dates 5 15
Checking the Alert Log in AWS RDS Oracle can be a pain through their user interface.  I made a script to download the Alert Log, look for errors, and email me the trace files.  In this article I'll describe what I did and share my script.
Using SQL Scripts we can save all the SQL queries as files that we use very frequently on our database later point of time. This is one of the feature present under SQL Workshop in Oracle Application Express.
This video explains at a high level about the four available data types in Oracle and how dates can be manipulated by the user to get data into and out of the database.
Via a live example, show how to take different types of Oracle backups using RMAN.

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question