Guaranteed once and only once notifications using databaseOracle adapters

We have seen cases when a standard oracle adapter fails to send notification events for a database insert operation. This occurs rarely and have any of you experienced this problem?

Along with ATCs, the Notifier adapter was introduced. As per ATC docs, one of the advantages for this adapter is that this provides guaranteed once and only once notifications.

This means the standard oracle adapters did not guarantee once and only once notifications for a database insert operation?

What about the intelligent oracle adapters? Whether this gurantees once and only once notifications?

Any comments/suggestions are appreciated

Do you have any patterns of when the failures occur?

One thing you might consider, if you’re not already doing it, is to NOT let the adapter manage the create/drop of the trigger. Get the DBA to do that. If the adapter manages it, it can drop the trigger at inopportune times. Generally speaking, you never want the trigger dropped. As long as the trigger is in place, you’ll not miss out on any insert/update/deletes.

Another thing to check is that the pub seq number can get out of sync between the adapter and the broker. You may have to reset that within the ATCs table.

Nothing in life is guaranteed–even in ATCs. :wink:

Thanks for the tips.
My trigger is managed by the adapter. AFAIK, the trigger or buffer table is dropped when the integration component or the event is disabled. I will get it changed so that dba manages these.
My doubt is whether the trigger is overwritten when the IC is promoted every time? In that case if it cannot drop the triggers, will it throw an error.?

I don’t deal with pub seqn no and hence that is not a problem

“In that case if it cannot drop the triggers, will it throw an error.?” Be sure to clear any and all data in the CREATE and DROP fields of the plug-in. The adapter shouldn’t complain. If it does, let me know. You may have to edit the infoset by hand to get rid of the complaint.

“I don’t deal with pub seqn no and hence that is not a problem”
The notifier does. It uses this for “…and only once” part of guaranteed delivery. From the ATC doc:


In order to guarantee once-only delivery of notification events, the Notifier stores the last publish sequence number used in table. If, for some reason, the Notifier tables are deleted, this publish sequence number will be lost. This will cause the Notifier’s publish sequence number to no longer be synchronized with the Broker’s publish sequence number and will prevent the Notifier from publishing any further events.

If you need to delete the Notifier’s tables, you must also use the ActiveWorks Manager to delete the Notifier’s Broker client. This will cause a new Broker client to be created the next time the Notifier started, which will cause the publish sequence to be reset within the Broker.<!-/Quote-!>