How TIBCO iProcess Engine (Oracle) relies on Oracle AQ Events.

How TIBCO iProcess Engine (Oracle) relies on Oracle AQ Events.

book

Article ID: KB0093930

calendar_today

Updated On:

Products Versions
TIBCO iProcess Engine (Oracle) -
Not Applicable -

Description

Resolution:
TIBCO iProcess Engine uses a pub/sub event mechanism to handle inter-process tasks. In case of UNIX Oracle versions, these events are handled using Oracle AQ's publish/subscribe interface. Some of the inter-process communication that uses Oracle AQ pub/sub event mechanism can be the following:

- Synchronize process startup and shutdown
- Synchronize process status
- Synchronize Mboxes - Mboxes also utilize Oracle queues for the transactional mechanism
- Synchronize User changes
- Enable/Disable debug
- Notify processes to update cache

If Oracle AQ stops responding while iProcess is still running, the following functionality will not be impacted:

- Login of Users
- SPO Server receiving client connections
- Messages being processed by iProcess processes via Mbox tables

Note that when Oracle AQ mechanism stops responding, iProcess engine can still remain running. The impact will be known only when one of the Oracle AQ related functions is used.

Oracle AQ callback mechanism is handled by EMON background processes on the Oracle database instance. The following is a description of the EMON processes from Oracle documentation (http://docs.oracle.com/cd/E11882_01/server.112/e40402/bgprocesses.htm#REFRN104).Ā 

======================
EMNC

EMON Coordinator Process - Coordinates database event management and notifications

EMNC coordinates event management and notification activity in the database, including Streams Event Notifications, Continuous Query Notifications, and Fast Application Notifications.

Ennn

EMON Slave Process - Performs database event management and notifications

The database event management and notification load is distributed among the EMON slave processes. These processes work on the system notifications in parallel, offering a capability to process a larger volume of notifications, a faster response time, and a lower shared memory use for staging notifications.
======================

Oracle DBAs / Oracle Support will need to determine why these oracle processes stopped responding.

How to detect Oracle AQ Events have stopped responding?

Please note iProcess communication with Oracle AQ can also be impacted by changes on the firewall. The following utilities are available to detect the status of Oracle AQ Events from the TIBCO iProcess Engine server -

Option 1 - swsvrmgr STATUS -

If Oracle AQ Events are responsive, this will return -

[pro@arlrh5 ~]$ $SWDIR/util/swsvrmgr STATUS
Current System Status : 'RUNNING'

When Oracle AQ Events stop responding, this command will return -

[pro@arlrh5 ~]$ $SWDIR/util/swsvrmgr STATUS
Timed out waiting for system status response

Option 2 - swadm EVLOOPBACK

From TIBCO iProcess Engine v11.4.1, a utility has been added to test the events mechanism.

[pro@arlrh5 i1141o]$ $SWDIR/util/swadm EVLOOPBACK
Attempting to test event:
Events working correctly. Received loopback message in 1 second(s).

When Oracle AQ Events stop responding, this command will return -

[pro@arlrh5 i1141o]$ $SWDIR/util/swadm EVLOOPBACK
Attempting to test event:
WARNING: Failed to receive the message in 10 seconds.

Following errors are logged by iPE processes in sw_error log file -

2015/04/01 00:00:00.000000(PROCMGR:2:13490:2::::pro:/aqiel.c:82467:313): 1878-AQ PubSub - Function loci_unsubscribe_event, Error Message OCISubscriptionUnRegister() failed, OCI Error Error - OCI_INVALID_HANDLE.

2015/04/01 00:00:00.000000(SWSVRMGR:13535:13535:2::::ustibbpm:/aqiel.c:82467:306): 1878-AQ PubSub - Function loci_unsubscribe_event, Error Message OCISubscriptionUnRegister() failed, OCI Error ORA-24950: unregister failed, registration not found

Issue/Introduction

How TIBCO iProcess Engine (Oracle) relies on Oracle AQ Events.

Additional Information

TIBCO iProcessĀ® Engine Architecture Guide
Oracle Documentation - http://docs.oracle.com/cd/E11882_01/server.112/e40402/bgprocesses.htm#REFRN104