Wait for unread message on broadcast channel - Blocking Sessions

What is Wait for unread message on broadcast channel wait event?

Wait for unread message on broadcast channel is a wait event where source destination communication is involved and the database is waiting for a reply from remote party.
Mostly this wait is seen related to data pump export (expdp) or import (impdp) operations.
Although categorized in idle wait class "Wait for unread message on broadcast channel" can become the blocking session for some other sessions.
Common causes for stuck sessions waiting on this wait event includes,
  • Broken databases links, where remote database is not responding.
  • Abnormally killed remote processes causing the sessions to wait.
When a session is waiting on "Wait for unread message on broadcast channel" it can become a blocking session for dependent sessions. Most probably these sessions will be waiting on "library cache pin" or related concurrency wait events. The blocking_session column of (g)v$session view will have the session id of the sessions waiting on "Wait for unread message on broadcast channel".

Below query can be used to identify the sessions which are blocked by other sessions,
 set lines 1000  
 col username format a15  
 col event format a50  
 col machine format a40  
 select inst_id,sid, state, status, event, sql_id,machine,blocking_session, username from gv$session   
 where blocking_session is not null;  

Example for session waiting for Wait for unread message on broadcast channel  event,

wait for unread message on broadcast channel example


Above cloud control screen is from Oracle 12c database where couple of sessions were on Wait for unread message on broadcast channel and putting multiple other sessions blocking with library cache pin waits.

Solution for Wait for unread message on broadcast channel waits

The approach should be to resolve the remote dependency which is causing the session to wait. If this is due to external condition such as network failure, it is possible to kill the sessions, which in return will release the dependent sessions which are blocked.

Comments

Popular posts from this blog

ORA-16433: The database or pluggable database must be opened in read/write

Oracle Multitenant - Create new service for PDB using DBMS_SERVICE