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_MESSAGEfunction. Implicit pipes disappear when they are empty. - Explicit
Pipes - These are created using the
CREATE_PIPEfunction. Explicitly created pipes must be removed using theREMOVE_PIPEfunction.
There are two levels of
security for pipes:
- Public
Pipes - These are accessible by any user with
EXECUTEpermission on theDBMS_PIPEpackage. Implicit pipes are always public, but they can also be created explicitly by calling theCREATE_PIPEfunction with theprivateparameter 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