Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Which Protocol to use?

Re: Which Protocol to use?

From: Mark Bole <makbo_at_pacbell.net>
Date: Fri, 13 Aug 2004 01:09:53 GMT
Message-ID: <vxUSc.3952$rb6.1927@newssvr27.news.prodigy.com>


Ana C. Dent wrote:

> Frank van Bortel <fvanbortel_at_netscape.net> wrote in
> news:cfcq7f$isp$1_at_news3.tilbu1.nb.home.nl: 
> 
> 

>>Syltrem wrote:
>>
>>>Both BEQ and TCP should give the same performance, but BEQ for
>>>clients on the same machine as your db server may be a better choice.
>>>BEQ is a "more direct" way to communicate. I don't know what
>>>principle it uses on Unix (OpenVMS is my religion) but if you use TCP
>>>you get in concurrence with all other TCP traffic. On heavily loaded
>>>networks, this may impact your Oracle throughput.
>>>
>>>Here for local clients I use BEQ, for all others I use TCP.
>>>I once had a performance problem (in the beginning) and had to set
>>>TCP.NODELAY=TRUE in PROTOCOL.ORA, but after that I had the exact same
>>>performance using either one.
> 
> 
> The ONLY difference between TCP & BEQ is that BEQ does NOT require a 
> listener. Keep in mind the listener ONLY comes into play upon the initial
> connection request. After the initial connection has been made the same 
> code path is used by both protocols.

The OP asked about performance, which could require some benchmark testing. What is the performance goal? Probably TCP/IP, even locally, could meet the goal on modern hardware, with the benefit of consistent service definitions across your organization.

I saw one mention of IPC (interprocess communication) earlier in the thread. I have used IPC protocol with the listener for the remote end of a database link when the local database was on the same server. (Solaris and Linux, ver 8i onward).

What is the difference (other than syntax) between BEQ and IPC? I've always wondered and found one proffered explanation:

[untested] "IPC uses Unix Domain Sockets to communicate between the client-side and server-side processes, where BEQ uses Unix pipes".

Another search, however, makes a different claim. Does it make sense to define a service using BEQ in the listener.ora file at any time? Does a local login to SQL*Plus or other client tools use the BEQ protocol by default if no connect string is specified and you are on the local machine? (example: nid target=sys/passwd dbname=nnn ... note no connect string is specified).

--Mark Bole Received on Thu Aug 12 2004 - 20:09:53 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US