How Database Events Work with Multiple Sessions
When the DBMS receives the event from a sending application, it checks to see which applications are registered for that event and sends the event to those applications. Because the DBMS perceives each database session in an application as a separate application, a multiple-session application receives a database event from the DBMS in the same session in which the register dbevent statement for that event was issued. The application receives all database events for which it registered in any currently open session even if the application is not currently working in the session.
When the application receives a database event, OpenROAD ultimately dispatches it to the frame or frames that are registered to receive that event. When the event reaches the top of the frame's event queue, OpenROAD processes it. To execute the event block for the event, the frame must be working at this time in the session in which the event was registered. If the frame is working in a different session when the event reaches the top of the frame's event queue, OpenROAD discards the event.