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

Home -> Community -> Usenet -> c.d.o.misc -> Re: dbms_pipe

Re: dbms_pipe

From: Carlos <miotromailcarlos_at_netscape.net>
Date: 9 Apr 2005 01:15:12 -0700
Message-ID: <1113034512.727436.289180@g14g2000cwa.googlegroups.com>


Godfrey:

I'm at home now, and I only have here an old Oracle 8.1.7 personal, so I'm talking from (my bad) memory ;-).

>>With pack_message it tells me that there is no more room on the pipe.
 Actually, you need to pack_message before you send it. (And it appears that the 'packing area' and the 'pipe area' are the same place, which strikes me as odd.)

No. I think the 'packing area' (and the buffer) is in the PGA, whereas the 'pipe area' is in the SGA.

>>By the way, how do you know about this table?

metalink is your friend ;-)

>>Again, what I think is happening is that Oracle makes note of when a
reader attaches to pipe. It makes note of it ONCE, and doesn't seem to care if the reader goes down or when it 're-attaches'.

Don't think so, at least for public pipes. Pipes are memory areas in the SGA that work in a FIFO manner. Anyone can push in messages, anyone can pull out messages. (BTW the PIPE that you are using is a public one isn't it?)

In my old java app (which I reviewed) what I did was to create a master process that instantiates classes very similiar to 'your process'. This way I could have one, many or zero ('non-listening') PIPE readers dynamically. But the mechanism seems the same that the one you are using: create a connection, open a session and beggining to READ the pipe (and a lot o other tasks: sending mails, notify with pop-ups, and so on...). With the normal error handling, never experienced the problems you are facing.

hth

Carlos. Received on Sat Apr 09 2005 - 03:15:12 CDT

Original text of this message

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