Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I asked a question earlier about whether DBMS_ALERT works on the RAC. The answer was yes, and I have set up a VMWare test environment and confirmed it.

However, there seems to be a long delay between when the SIGNAL() call is made and the WAITONE() returns when they are different boxes.

My tests are the same as found on http://vitspinka.blogspot.com/2008/04/dbmsalert-on-rac.html

If I run the WAIT script on my RAC2 box, then SIGNAL on RAC1, the triggering can happen anywhere from 0.5 to 5 seconds later.

Strangely, if multiple WAIT scripts running simultaneously on RAC2, then SIGNAL on RAC1, the WAIT scripts do not all trigger simultaneously. They vary between 0.5 to 5 seconds.

Does anyone know of any tuning parameters or any details of how DBMS_ALERT works that can help with this?

I'm using Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi.

share|improve this question
add comment

1 Answer

Problem solved.

A bright spark here noticed that in the logs the time between waiting for a signal and triggering, was always multiple of 5. This is due to the DBMS_ALERT.Wait methods using polling when in shared mode (which is what a RAC remote database instance is). Although the oracle documentation says the polling time is 1 second, it is actually 5 seconds.

Using DBMS_ALERT.SET_DEFAULT(1) reduced the time to 1 second max.

Good enough.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.