2

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.

Scott Pack
  • 14,717
  • 10
  • 51
  • 83
ftkalcevic
  • 21
  • 1

1 Answers1

0

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.

ftkalcevic
  • 21
  • 1