09.12.2012 Views

Advanced Queuing - Oracle

Advanced Queuing - Oracle

Advanced Queuing - Oracle

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Maximum number of bytes propagated in a window<br />

Average number of messages propagated in a window<br />

Average size of propagated messages<br />

JMS Propagation<br />

Average time to propagated a message<br />

<br />

These statistics have been designed to provide useful information to the queue<br />

administrators for tuning the schedules such that maximum efficiency can be<br />

achieved.<br />

Propagation has built-in support for handling failures and reporting errors. For<br />

example, if the database link specified is invalid, or the remote database is<br />

unavailable, or the remote topic/queue is not enabled for enqueuing, then the<br />

appropriate error message is reported. Propagation uses an exponential backoff<br />

scheme for retrying propagation from a schedule that encountered a failure. If a<br />

schedule continuously encounters failures, the first retry happens after 30 seconds,<br />

the second after 60 seconds, the third after 120 seconds and so forth. If the retry time<br />

is beyond the expiration time of the current window then the next retry is<br />

attempted at the start time of the next window.<br />

A maximum of 16 retry attempts are made after which the schedule is automatically<br />

disabled. When a schedule is disabled automatically due to failures, the relevant<br />

information is written into the alert log. At anytime it is possible to check if there<br />

were failures encountered by a schedule and if so how many successive failure<br />

were encountered, the error message indicating the cause for the failure and the<br />

time at which the last failure was encountered. By examining this information, an<br />

administrator can fix the failure and enable the schedule.<br />

During a retry if propagation is successful then the number of failures is reset to 0.<br />

Propagation has built-in support for Real Application Clusters and is transparent to<br />

the user and the administrator. The job that handles propagation is submitted to the<br />

same instance as the owner of the queue table where the source topic resides. If at<br />

anytime there is a failure at an instance and the queue table that stores the topic is<br />

migrated to a different instance, the propagation job is also automatically migrated<br />

to the new instance. This will minimize the pinging between instances and thus<br />

offer better performance. Propagation has been designed to handle any number of<br />

concurrent schedules.<br />

Note that the number of job_queue_processes is limited to a maximum of 36<br />

and some of these may be used to handle non-propagation related jobs.Hence,<br />

propagation has built in support for multi-tasking and load balancing. The<br />

propagation algorithms are designed such that multiple schedules can be handled<br />

by a single snapshot (job_queue) process. The propagation load on a job_queue<br />

Creating Applications Using JMS 12-91

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!