How to speed up SQL*Plus over long distances

We are using Oracle 10g on Solaris 10.
We have a customer that is located several thousand miles and is accessing our database using SQL*Plus as well as a custom java app we developed. Any query our customer runs against our database is as much as 500 times slower than run locally. I ran some test queries to see just how much slower it was.
If I run this query:
SELECT id FROM test_data WHERE ROWNUM < 300000;
(The test_data table contains about 1,000,000 rows of sample data and 31 columns)
It takes about 8 seconds on our intranet. It takes about 1 – 1.3 hours for our customer.
I chose this query because I wanted a query that took at least a few seconds locally. Most of our customer’s queries return less rows, and are more complicated, but this query is easily to work with and shows what I think is the problem.
I also made a java test app the runs the same query and it also takes the same amount of time.
If I spool the results of this query to a file, it creates a 4MB file. If I ftp this file to the customer, it takes only 30 seconds. So it seems like just moving the data is not the slow part; although I am not sure this is a fair comparison.
When I run a ping between the customer and me, the average latency is 250ms. It seems like this high latency may be slowing down the transfer of query results.
I need to make the results return faster in both SQL*Plus and Java. It is not necessary to see any of the results until they have all been transferred.
Is there a way to speed this up, like sending the results all at once instead of a piece at a time? Would incressing the size of the buffers or the size of the Session Data Unit have any effect?
I am not greatly experianced with Oracle, am I misunderstanding the way it transfers data to the client?
Any suggestions would be greatly appreciated.
Tom

I have tried running a few qurys from the remote computer both with FLUSH ON and FLUSH OFF. The querys execute in the same amount of time either way.

Similar Messages

  • How to find GUI SQL*Plus command tool in Oracle 8i (version 8.1.7)

    I had installed Oracel 8i Enterprise Edition (version 8.1.7) on my server machine (Windows NT 4.0), I'd like to use Oracle Navigator (GUI SQL*PLUS command tool), but I can not find it from the menu. I know Oracle Navigator is available in Oracle 7. Can anyone tell me where and how to use GUI SQL*PLUS command tool in Oracle 8i Enterprise Edition (version 8.1.7) ?
    thanks a lot.
    David Zhu

    Hi
    Oracle Navigator is part of Personal Oracle7 and Oracle Lite. I don't know is it available in 8i Personal Edition but I am sure that it is not part of Standard and Enterprise Edition.
    Regards
    null

  • How I can run SQL*PLUS?

    On my notebook is instaled Oracle Client and Oracle SQL Developer. It is working correctly. I can connect to the Oracle DB on the Unix server so that my tnsnames.ora is correctly. But I don't know, how I can start SQL*PLUS on my client machine.
    Thanks in Advance :)

    hello
    did you mean to connect only to SQL * or to connect as sysdba?
    if your anwser is to connect only as normal user, then follow the above
    but in case you are looking to connect to the database server (Linux) from your laptop you have to connect to the server firest as root or the db user,
    then you can access oracle sql plus using terminal such as PUTTY (search in google it's free) look at this:
    [applprod@applprod 9.2.0]$ pwd
    /d01/oracle/proddb/9.2.0
    [applprod@applprod 9.2.0]$ sqlplus
    SQL*Plus: Release 9.2.0.6.0 - Production on Wed Oct 10 13:46:18 2007
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
    Enter user-name:
    Now what do you think?
    if you are looking to connect as sysdba, i think must from the termianl
    Regards
    Mohamed Tawfik

  • How do i get sql plus to start in something other than command prompt?

    I have just installed oracle 11g enterprise addition. I am use to a different type of editor for the sql plus, the one I am use to comes up in a white area and has drop downs for file, tools, spool, help and so on. You can also open notepad with a shortcut. I like this better than command prompt how do i get this?

    I think you mean sqlplusw.exe which is a Windows executable delivered until Oracle 10.2 but no more delivered with Oracle 11g.
    Mayb you can have a look to SQL Developer http://www.oracle.com/technology/software/products/sql/index.html

  • How to exit from SQL PlUS

    HI,I came to know that direct exit from SQL Plus without Oracle shutdown causes future issues of ORA-0600 kind of errors. Is it true? If yes could u pls suggest me how to shutdown from user "SYSTEM/manager". Bcoz with this am warned that I dont have previleges.

    Hello,
    HI,I came to know that direct exit from SQL Plus without Oracle shutdown causes future issues of ORA-0600 kind of errors. Is it true?The ORA-00600 is an internal error it can be caused for instance by a Bug, a corruption, ... , and if someday you experience this kind of error, you should open a Service Request to My Oracle Support.
    However, I've never heard that exiting sqlplus could cause this kind of error. Where did you get such information ?
    how to shutdown from user "SYSTEM/manager". To shutdown the database you should be connected with the User SYS (as SYSDBA). You may use the following statement:
    sqlplus /nolog
    connect / as sysdba
    shutdown immediate;
    exitHope this help.
    Best regards,
    Jean-Valentin

  • How to connect from sql*plus to Sql Server

    Dear Profs.
    How I can connect from sql*plus v8 on my local pc(Win XP) to Sql Server Express 2005 light weight installed in same local pc ?
    Thanks,
    Ahmed.

    You'll need to setup heterogeneous services. This is done by creating an init file for the SQL Server db with %ORACLE_HOME%\hs\admin that refers to a DSN for the Sql Server Database. The listener would also need an entry for the SQL Server DB DSN. After that you would create a dblink to SQL Server in your Oracle instance and then could query across the dblink.

  • How to connect to SQL*Plus and issue a query all in one command?

    Hi everyone,
    Does anyone know of a way to connect to a db with SQL*Plus, and issue a simple query, all with one command?
    I know that I can save a .sql script with a query, then do this:
    sqlplus user/pwd@db @myscript.sql
    But I'm wondering if there's any way to put the actual query right into the connect command, something like:
    sqlplus user/pwd@db "select count(*) from dba_tables;"
    Does anyone know of a way to do this?

    you didn't mention windows or unix. so, here's a link with both
    Re: windows sql script
    it also has a link to another thread on how to deal with the parens when using ehco in dos.

  • How to exit from SQL*Plus based on the return value of a SQL select stment?

    Hi
    I have a SQL script executed from SQL*Plus. I would like to know if SQL*Plus
    supports any kind of branching or exiting from script execution based on a
    returned value of a SQL select statement. I am on 9i.
    Regards,
    Tamas Szecsy

    in sqlplus, you have whenever
    ex:
    whenever sqlerror exit failure
    insert into ...
    -- if this fails, then you will be out
    insert into ...
    -- if this fails, then you will be out
    whenever sqlerror continue
    insert into ...
    -- if this fails, this continues
    insert into ...and you have PL/SQL
    declare x number;
    begin
    select count(*) into x from emp;
    if (x=14) then null; end if;
    end;
    /note that you can mix those in some case
    -- exit if there is no row in emp
    whenever sqlerror exit 1
    var dummy number
    exec select count(*) into :dummy from emp having count(*)!=0

  • How to Install 10gr2 SQL Plus client

    Hi All,
    We have oracle database 10gr2 located at our server.
    But in our local machine SQL*PLUS Client, I am getting the below message
    SQL*Plus: Release 9.2.0.1.0 - Production on Tue Mar 1 11:38:33 2011
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
    With the Partitioning, Data Mining and Real Application Testing options
    That means I have Oracle 9i client installed on my local machine and connecting to 10gr2 database.
    So to have 10g client, do I need to install the Oracle 10gr2 database in my local machine. (Download 600+Mb of Software from OTN and install) Or is there any where that I can have 10g client on my Local machine.
    Appreciate your response,
    Regards,
    Madhu K.

    Maddy wrote:
    Hi All,
    We have oracle database 10gr2 located at our server.
    But in our local machine SQL*PLUS Client, I am getting the below message
    SQL*Plus: Release 9.2.0.1.0 - Production on Tue Mar 1 11:38:33 2011
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
    With the Partitioning, Data Mining and Real Application Testing options
    That means I have Oracle 9i client installed on my local machine and connecting to 10gr2 database.
    So to have 10g client, do I need to install the Oracle 10gr2 database in my local machine. (Download 600+Mb of Software from OTN and install) Or is there any where that I can have 10g client on my Local machine.
    Appreciate your response,
    Regards,
    Madhu K.You can continue to use the 9i client, or you can install the 10g client. You do not have to install the 10g database, but I believe you have to download the database media, as the client is not packaged separately. Just choose "client" as an install option.

  • How to issue a SQL*Plus command from PL/SQL program?

    Thanks.

    You can't issue a SQL*PLus command from a PL/SQL program. If you can tell us more about what you are trying to do, perhaps we can offer a substitute.

  • Monitor vibration over long distance ( 300m)

    Hi everyone,
    Currently, I have a project to monitor vibration (16 IEPE channels) from a station that is more than 300m away from monitoring station. Looking at NI's products, I have a few options:
    1. Using ENET-9234:
    - Only 4 channel/module. I need to use 4 modules in total, and need to connect to a router.
    - Ethernet distance is limited at 100m. To reach 300m, I need to use at least 2 repeaters, which are not suitable for my project (off-shore environment)
    2. Using MXI-4 with Fiber Optic: PXI-8336
    - Maximum allowed distance is 200m.NI recommend to add another segment (i.e. add another PXI chassis in between) to extend range to 400m. Or use optical converter to convert between multi-mode fiber to single-mode fiber to extend range
    http://digital.ni.com/public.nsf/allkb/C86BF63CC73C6721862575F2005A246D
    These recommendations are not suitable either due to harsh contion in the sea and difficult maintenance.
    3. Last option is acquire and process data at the site. Then transfer only processed data back to monitoring station over GPIB or RS-485.
    I would like to seek your advices on these options. Is there any way to avoid the repeaters in between?
    If you have any other ideas, please kindly let me know.
    Thank you very much!
    Have a great week ahead!
    PQH

    I also like the cRIO approach.  There are copper to fiber media converters on the market that offer single mode fiber which is what you would need for the longer distance. 
    Check out the following tools to help you get up and running quickly with cRIO:
    This listing is an attempt to list and briefly describe core tools that speed the development of waveform acquisition and analysis applications on the CompactRIO and RT platforms. 
      NI CompactRIO Developers Guide: This is a core developer's guide for a wide range of waveform acquisition and analysis applications.  It provides useful background on CompactRIO and control applications in particular.  It has chapters on waveform acquisition as well as deployment and management of applications on CompactRIO. 
    http://www.ni.com/compactriodevguide/
      Reference Applications for cRIO Waveform Acquisition:  This is the core template for acquiring waveforms for analysis, including vibration, electrical power, and structural monitoring.  It makes a great starting point for waveform applications on cRIO. 
    http://zone.ni.com/devzone/cda/epd/p/id/6206
      cRIO Reference Designs for Structural Health Monitoring:  This reference builds on the waveform acquisition reference and adds scan engine for slowly changing signals as well as TDMS data logging on event.
    http://zone.ni.com/devzone/cda/tut/p/id/9851
      Simple Messaging Reference Library (STM): This tool provides a TCP/IP communications protocol which is used in the benchmarks shown on the waveform acquisition reference page.  It is an excellent tool for efficient communications between cRIO and a host, easily supporting time waveform live streaming.
    http://zone.ni.com/devzone/cda/epd/p/id/2739
      Reference Library for Converting Between LabVIEW and XML Data (GXML):  This reference provides a remote XML configuration tool, to be used for remote configuration of the cRIO LabVIEW application.
    http://zone.ni.com/devzone/cda/epd/p/id/6330
      LabVIEW Syslog Protocol Reference Library: This reference offers a UDP cRIO status monitor to indicate to the host the operational status of the remote cRIO
    http://forums.ni.com/ni/board/message?board.id=Components&thread.id=51
      Reference Applications for cRIO Order Analysis Using a High Speed Tach:   This reference offers tachometer or encoder interpretation in FPGA when the I/O device is in a separate and higher speed loop. 
    http://zone.ni.com/devzone/cda/epd/p/id/6301
      DSA Module Synchronization Reference Design for Multiple cRIO Chassis:  This reference is useful when the timing of I/O needs to be tightly synchronized between two cRIO chassis.  It works with a signal line, as well as with GPS. 
    http://zone.ni.com/devzone/cda/epd/p/id/6146
       Additional NI Systems Engineering Components are listed here:  Additional tools can be found on the Systems Engineering Components discussion forum. 
    http://forums.ni.com/ni/board?board.id=Components
    Hope this helps you get started with cRIO, which is a great choice for industrial oil platform applications for temperature, and Class 1 Div 2 certifications. 
    Preston Johnson
    Principal Sales Engineer
    Condition Monitoring Systems
    Vibration Analyst III - www.vibinst.org, www.mobiusinstitute.com
    National Instruments
    [email protected]
    www.ni.com/mcm
    www.ni.com/soundandvibration
    www.ni.com/biganalogdata
    512-683-5444

  • How to speed up SQL spatial query (spatial index error)

    Hi,
    Im trying to split polylines by points which have a small buffer around them. Currently i have over 370,000 lines and 320,000 nodes and the query is running really slowly (ive left it for 3 days and it still hasnt completed). I have tried forcing a spatial
    index using with (Index(SI_tempPD)) but i get the following error:
    "The query processor could not produce a query plan for a query with a spatial index hint. Reason: Could not find required binary spatial method in a condition. Try removing the index hints or removing SET FORCEPLAN."
    below is the snippet of code that im trying to run when i get the error:
    BEGIN INSERT INTO TempLines ( [linenum] ,[ogr_geometry] ) SELECT lines.[linenum] ,lines.[ogr_geometry].STDifference(points.[ogr_geometry].STBuffer(0.005)) AS ogr_geometry FROM dbo.TemplineData AS lines with(Index(SI_tempPD)) INNER JOIN dbo.[TemplineNodes] AS points ON lines.[ogr_geometry].STIntersection(points.[ogr_geometry]).STDistance(points.[ogr_geometry]) < 1 WHERE (lines.[linenum] <> points.[linenum]) END
     is there anyway i can speed up the query? (I also have a clustered primary key) the execution plan shows that a filter takes up 36% of the cost and the insert takes up 64%
    Any help would be greatly appreciated! (im using SQL Server 2008 (SQL server Management studio 10.50.1600.1))

    SQL Server spatial indexes don't support STDifference or STIntersection, see
    https://technet.microsoft.com/en-us/library/bb895373(v=SQL.105).aspx, which is why you get the error. 
    Your query is doing multiple expensive spatial operations against some fairly good-size tables in a join. You might get better results by either breaking the query into multiple simpler queries (SELECT into a temporary table and move the STDifference and
    STBuffer and INSERT off to a separate statement), and (if possible) rearchitecting the query to use STIntersects (which does support spatial index) rather than STIntersection.
    Hope this helps, Bob

  • Network Management over Long Distances

    I've got a question for you experienced OS X Server Admins out there, as well as for more experienced Network Professionals than myself.
    As my family increasingly moves to Mac, my tech support requests from them have dropped sharply (Hallelujah!), though the complexity of them when they do come in has increased to the point that I can't really troubleshoot them over the phone anymore.  So as I look into getting a Mac Mini, the idea occured that I could use Mac OS X Server and Apple Remote Desktop to manage these remotely in the event of something going wrong, and lock down accounts so they aren't installing apps outside the App Store or Gatekeeper rules.  My problem is the physical distance between the Macs involved, and bandwidth usage:
    1) The Macs I'd manage are located in several states with different family members, all over different connections of varying quality.  A constant VPN option isn't viable, though I need a way to make sure the Mac retains its Security Settings in the event of network connectivity being lost.
    2) For when the Macs can/do connect to the Management Server, I'd need a way to make sure they aren't tunneling all traffic over VPN or some other secure connection to the server. In other words, their Mac would need to be able to send traffic from Netflix or Hulu over their local net connection, without the packets being piped over VPN to travel over my line; they need to do this while being reachable by said server.
    See my dilemma? I want to manage them as if they're all internal devices, yet also make sure they make use of their own network connections and can remain independent rather than depend on VPN/my network connection.
    Is there a feasible solution to this problem, or am I living in a dreamland here?

    Having used TeamViewer at home for my Windows box, I've become unimpressed with how it refuses to let me easily disable the service, eats random amounts of CPU and Memory when not in use, and randomly spins up my hard disks to page data.  I'm also not thrilled with solutions like LogMeIn or Join.Me, nor do they solve the problem at hand.
    Ultimately, I want Domain Admin-like control over these machines at all times, so I can do the routine maintenance, software upgrades, etc that are needed, that way the users (family) can go about their business without trouble.  In essence, I want to be the proverbial man behind the curtain.

  • Can you share your itunes with someone over long distance

    can you share your library with someone that isn't on the same wifi network as you?

    No. Same wifi and same Apple ID is needed.

  • Connect via SQL*Plus taking more time in Oracle 11 than in 10

    Oracle Version
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    PL/SQL Release 11.2.0.3.0 - Production
    CORE    11.2.0.3.0      Production
    TNS for IBM/AIX RISC System/6000: Version 11.2.0.3.0 - Production
    NLSRTL Version 11.2.0.3.0 - Productioncurrently migrating from
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
    PL/SQL Release 10.2.0.4.0 - Production
    CORE    10.2.0.4.0      Production
    TNS for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Productio
    NLSRTL Version 10.2.0.4.0 - ProductionOS is AIX 5.3 for Oracle 10 and AIX 6.1 for Oracle 11.
    We are currently in the process of migrating some applications from Oracle 10 to 11. Our admins have setup a new development system for us with an Oracle 11 instance. Regarding performance the new system behaves more or less the same than our old, e.g. when executing SQLs we notice hardly any performance differences and those we find are slightly in favour of the new system.
    But now we discovered that the time it takes to establish a database connection via SQL*Plus is longer on the Oracle 11 system. Running the following code
    sqlplus -s user/pw@database <<END
    quit
    ENDa thousand times takes ~60s under Oracle 10 but ~140s under Oracle 11. This may not seem much but we are running a test framework consisting of a bunch of shell scripts where several thousand connections are openend via SQL*Plus to execute some SQLs, so that even this small time difference results in rather huge difference in total runtime. The SQLs themself require roughly the same time in both databases, as already mentioned above they are in fact slightly faster in Oracle 11.
    To analyze the time difference I ran a trace for the connect with the following parameters in sqlnet.ora
    TRACE_LEVEL_CLIENT=4
    TRACE_UNIQUE_CLIENT=ONand found out that there is a time difference of about 70ms during the connect handshake:
    Oracle 10
    [22-MAR-2013 12:13:09:595] nscon: doing connect handshake...
    [22-MAR-2013 12:13:09:595] nscon: sending NSPTCN packet
    [22-MAR-2013 12:13:09:621] nscon: got NSPTRS packet
    [22-MAR-2013 12:13:09:621] nscon: sending NSPTCN packetOracle 11
    (1) [22-MAR-2013 12:15:26:812] nscon: doing connect handshake...
    (1) [22-MAR-2013 12:15:26:812] nscon: sending NSPTCN packet
    (1) [22-MAR-2013 12:15:26:906] nscon: got NSPTRS packet
    (1) [22-MAR-2013 12:15:26:906] nscon: sending NSPTCN packetUnder Oracle 10 there are 26ms between sending the NSPTCN packet and getting the NSPTRS packet, whereas under Oracle 11 this takes 94ms. I ran the trace again, this time with
    TRACE_LEVEL_CLIENT=16and got the following results for the critical interval:
    Oracle 10:
    [22-MAR-2013 13:17:37:638] nscon: sending NSPTCN packet
    [22-MAR-2013 13:17:37:638] nspsend: entry
    [22-MAR-2013 13:17:37:638] nspsend: plen=218, type=1
    [22-MAR-2013 13:17:37:638] nttwr: entry
    [22-MAR-2013 13:17:37:638] nttwr: socket 9 had bytes written=218
    [22-MAR-2013 13:17:37:638] nttwr: exit
    [22-MAR-2013 13:17:37:638] nspsend: packet dump
    <<packet dump removed>>
    [22-MAR-2013 13:17:37:638] nspsend: 218 bytes to transport
    [22-MAR-2013 13:17:37:638] nspsend: normal exit
    [22-MAR-2013 13:17:37:638] nscon: exit (0)
    [22-MAR-2013 13:17:37:638] nsdo: nsctxrnk=0
    [22-MAR-2013 13:17:37:638] nsdo: normal exit
    [22-MAR-2013 13:17:37:638] nsdo: entry
    [22-MAR-2013 13:17:37:638] nsdo: cid=0, opcode=68, *bl=512, *what=9, uflgs=0x0, cflgs=0x3
    [22-MAR-2013 13:17:37:638] nsdo: rank=64, nsctxrnk=0
    [22-MAR-2013 13:17:37:638] nsdo: nsctx: state=2, flg=0x4005, mvd=0
    [22-MAR-2013 13:17:37:638] nsdo: gtn=10, gtc=10, ptn=10, ptc=2011
    [22-MAR-2013 13:17:37:638] nscon: entry
    [22-MAR-2013 13:17:37:638] nscon: recving a packet
    [22-MAR-2013 13:17:37:638] nsprecv: entry
    [22-MAR-2013 13:17:37:638] nsprecv: reading from transport...
    [22-MAR-2013 13:17:37:638] nttrd: entry
    [22-MAR-2013 13:17:37:665] nttrd: socket 9 had bytes read=8
    [22-MAR-2013 13:17:37:665] nttrd: exit
    [22-MAR-2013 13:17:37:665] nsprecv: 8 bytes from transport
    [22-MAR-2013 13:17:37:665] nsprecv: tlen=8, plen=8, type=11
    [22-MAR-2013 13:17:37:665] nsprecv: packet dump
    [22-MAR-2013 13:17:37:665] nsprecv: 00 08 00 00 0B 00 00 00  |........|
    [22-MAR-2013 13:17:37:665] nsprecv: normal exit
    [22-MAR-2013 13:17:37:665] nscon: got NSPTRS packetOracle 11
    (1) [22-MAR-2013 13:33:40:504] nscon: sending NSPTCN packet
    (1) [22-MAR-2013 13:33:40:504] nspsend: entry
    (1) [22-MAR-2013 13:33:40:504] nspsend: plen=205, type=1
    (1) [22-MAR-2013 13:33:40:504] nttwr: entry
    (1) [22-MAR-2013 13:33:40:504] nttwr: socket 8 had bytes written=205
    (1) [22-MAR-2013 13:33:40:504] nttwr: exit
    (1) [22-MAR-2013 13:33:40:504] nspsend: packet dump
    <<packet dump removed>>
    (1) [22-MAR-2013 13:33:40:505] nspsend: 205 bytes to transport
    (1) [22-MAR-2013 13:33:40:505] nspsend: normal exit
    (1) [22-MAR-2013 13:33:40:505] nscon: exit (0)
    (1) [22-MAR-2013 13:33:40:505] snsbitts_ts: entry
    (1) [22-MAR-2013 13:33:40:505] snsbitts_ts: acquired the bit
    (1) [22-MAR-2013 13:33:40:505] snsbitts_ts: normal exit
    (1) [22-MAR-2013 13:33:40:505] nsdo: nsctxrnk=0
    (1) [22-MAR-2013 13:33:40:505] snsbitcl_ts: entry
    (1) [22-MAR-2013 13:33:40:505] snsbitcl_ts: normal exit
    (1) [22-MAR-2013 13:33:40:505] nsdo: normal exit
    (1) [22-MAR-2013 13:33:40:505] nsdo: entry
    (1) [22-MAR-2013 13:33:40:505] nsdo: cid=0, opcode=68, *bl=2048, *what=9, uflgs=0x0, cflgs=0x3
    (1) [22-MAR-2013 13:33:40:505] snsbitts_ts: entry
    (1) [22-MAR-2013 13:33:40:505] snsbitts_ts: acquired the bit
    (1) [22-MAR-2013 13:33:40:505] snsbitts_ts: normal exit
    (1) [22-MAR-2013 13:33:40:505] nsdo: rank=64, nsctxrnk=0
    (1) [22-MAR-2013 13:33:40:505] snsbitcl_ts: entry
    (1) [22-MAR-2013 13:33:40:505] snsbitcl_ts: normal exit
    (1) [22-MAR-2013 13:33:40:505] nsdo: nsctx: state=2, flg=0x4005, mvd=0
    (1) [22-MAR-2013 13:33:40:505] nsdo: gtn=10, gtc=10, ptn=10, ptc=8155
    (1) [22-MAR-2013 13:33:40:505] nscon: entry
    (1) [22-MAR-2013 13:33:40:505] nscon: recving a packet
    (1) [22-MAR-2013 13:33:40:505] nsprecv: entry
    (1) [22-MAR-2013 13:33:40:505] nsprecv: reading from transport...
    (1) [22-MAR-2013 13:33:40:505] nttrd: entry
    (1) [22-MAR-2013 13:33:40:618] nttrd: socket 8 had bytes read=8
    (1) [22-MAR-2013 13:33:40:618] nttrd: exit
    (1) [22-MAR-2013 13:33:40:618] nsprecv: 8 bytes from transport
    (1) [22-MAR-2013 13:33:40:618] nsprecv: tlen=8, plen=8, type=11
    (1) [22-MAR-2013 13:33:40:618] nsprecv: packet dump
    (1) [22-MAR-2013 13:33:40:618] nsprecv: 00 08 00 00 0B 00 00 00  |........|
    (1) [22-MAR-2013 13:33:40:618] nsprecv: normal exit
    (1) [22-MAR-2013 13:33:40:618] nscon: got NSPTRS packetAny ideas what could be the reason for this time difference? Something in our network configuration or something else?

    With local connections - I do not think a TCP packet send from an IP to the same IP, leaves the interface as an actual wire protocol/signal. If I'm correct, then running local connection tests will be mostly useless in checking the actual network infrastructure.
    Tests 3 and 4 should be showing the same connection times as the same physical network infrastructure is used - only the direction is reversed in the tests.
    I would assume that port settings on the switches and interface settings on the routers treat packets equally in both directions between 2 servers. But this could in part explain the problem if this is not the case. In a case of a router for example, the 1st test's ingress interface is the egress interface of the 2nd test (and vice versa). Configurations can differ substantially between interfaces on the same router. Likewise if there is a firewall - as different rule sets are applied in each test and these rule sets could differ.
    So I would not be too quick to state that this is definitely not a network problem. But I agree that based on the small percentage difference (assuming comparable tests), it does not look like a network issue.
    The next step is to determine what the delay is between the listener accepting the client connection, and the connection being serviced by a dedicated server process.
    This will require listener tracing - tracing the time from when the listener accepted the connection (and parsed the TNS connection string), to handing off the connection to the dedicated server process.
    As a comparison test, you can also test shared server connections. Dispatcher processes (of the db instance) register themselves with the listener. The shared server client hand off is thus done to an existing server process - no need for the Listener to make a kernel call to load and initialise an executable image.
    Shared connections are typically faster than dedicated connections in this respect.
    If there is a major time difference, then it means some kind of issue with the listener dealing with dedicated servers as oppose to dispatcher hand off's. As both connections would have had very similar network transit time - which means the connection time difference is related directly to dealing with a dedicated server connection request and hand off.
    You can also substitute the oracle executable with a wrapper - and troubleshoot the actual dedicated server startup. I've only done this with Oracle XE 10.2 though and with local IPC connections. Unsure how robust this will be for testing purposes via TCP using 11g.

Maybe you are looking for