Observation -
Your AWR or ASH report would show 'pipe put' wait event as one of the top user events.
Event Event Class %Activity Avg Active Sessions
pipe put Concurrency 99.97 1.00
The DBMS_PIPE package lets two or more sessions in the same instance communicate. Oracle pipes are similar in concept to the pipes used in UNIX, but Oracle pipes are not implemented using the operating system pipe mechanisms.
Furher details in the AWR report showed the DBMS_PIPE.SEND_MESSAGE procedure witnessed 100pc activity.
PLSQL Entry Subprogram % Activity PLSQL Current Subprogram % Current
UNIXCMD 100.00 SYS.DBMS_PIPE.SEND_MESSAGE 100.00
Solution -
If the issue was abrupt and was working well before, check to clear the existing pipe in use.
SQL > Select * from v$db_pipe;
## Purge Pipe contents.
SQL > exec dbms_pipe.purge('Name of pipe');commit;
## Reset pipe buffer.
SQL > Exec dbms_pipe.reset_buffer;commit;
Reinitiate the sessions/job once done.
Let me know if it helps !
This totally worked. Thanks a lot for the information.
ReplyDeleteAmazing. Thanks you!!!!! Works like a charm.
ReplyDelete