The
DBMS_PIPE
package provides a non-secure mechanism for
inter-session messaging. It is considered non-secure because messages can be
lost from the pipe if the instance crashes or is shutdown before they are
processed. Advanced
Queues are
arguably a better mechanism when secure messaging and greater flexibility are
required.
There are two types of pipes:
- Implicit
Pipes - These are created automatically when a message is sent with an
unknown pipename using the
SEND_MESSAGE
function. Implicit pipes disappear when they are empty. - Explicit
Pipes - These are created using the
CREATE_PIPE
function. Explicitly created pipes must be removed using theREMOVE_PIPE
function.
There are two levels of
security for pipes:
- Public
Pipes - These are accessible by any user with
EXECUTE
permission on theDBMS_PIPE
package. Implicit pipes are always public, but they can also be created explicitly by calling theCREATE_PIPE
function with theprivate
parameter set to FALSE. - Private Pipes - These are only accessible by sessions with the same ownerid as the pipe creator, stored programs owned by the pipe creator or by users connected as SYSDBA.
No comments:
Post a Comment