![]() ![]() If none of the active schedules handled by a process has messages to be propagated, then that job queue process is released. If the system is overloaded (all schedules are busy propagating), depending on availability, then additional job queue processes are acquired up to one fewer than the total number of job queue processes. If the number of active schedules is more than half the number of job queue processes, after acquiring half the number of job queue processes, then multiple active schedules are assigned to an acquired job queue process. If the number of active schedules is fewer than half the number of job queue processes, then the number of job queue processes acquired corresponds to the number of active schedules. The scheduling algorithm uses the job queue processes as follows (for this discussion, an active schedule is one that has a valid current window): Hence, it is important to use the following guidelines to get the best results from the scheduling algorithm. While propagation tries to make the optimal use of the available job queue processes, the number of job queue processes to be started also depends on the existence of jobs unrelated to propagation, such as replication jobs. The algorithm can handle an unlimited number of schedules and various types of failures. The algorithm optimizes available job queue processes and minimizes the time it takes for a message to show up at a destination after it has been enqueued into the source queue, thereby providing near- OLTP action. In setting the number of JOB_QUEUE_PROCESSES, DBAs should be aware that this number is determined by the number of queues from which the messages must be propagated and the number of destinations (rather than queues) to which messages must be propagated.Ī scheduling algorithm handles propagation. In particular, associating propagation jobs with different resource groups can allow for fairness in scheduling which may be important in heavy load situations. The resource manager may be used to have better control over the scheduling decisions. ![]() ![]() ![]() Since the scheduler optimizes for throughput, if the system is heavily loaded, it may not run some propagation jobs. Oracle Scheduler will start the required number of job queue processes for the propagation schedules. The administrator may choose a schedule that best meets the application performance requirements. This mode makes more efficient use of available resources, while still providing a fast response time. This may be used when propagation can be run in a batched mode.Īn event based system in which propagation is started when there are messages to be propagated. This mode provides the lowest propagation latencies.Ī periodic schedule in which the propagation runs periodically for a specified interval. Propagation may be scheduled in these ways.Ī dedicated schedule in which the propagation runs forever or for a specified duration. For example, when exporting a non-sharded multiconsumer queue table, the following tables are automatically exported:ĪQ$_ queue_table _T (the time-management IOT)ĪQ$_ queue_table_S (the subscriber table)įor sharded queues, the following tables are automatically exported:ĪQ$_ queue_name_T (time-management table)ĪQ propagation jobs are run by the Oracle Scheduler. In table mode, queue tables, all related tables, and primary object grants are exported automatically. However, doing a user-level export from one schema to another using the FROMUSER TOUSER clause is not supported. In user mode, queue tables, all related tables, and primary object grants are exported automatically. In full database mode, queue tables, all related tables, system-level grants, and primary and secondary object grants are exported automatically. Incremental exports on queue tables are not supported. However, if another problem is encountered while doing the import (such as running out of rollback segment space), then you should correct the problem and repeat the import.Įxporting operates in full database mode, user mode, and table mode. This message can be ignored, because the queuing system automatically corrects the obsolete ROWIDs as a part of the import operation. See Export Modes.īecause the metadata tables contain ROWIDs of some rows in the queue table, the import process generates a note about the ROWIDs being made obsolete when importing the metadata tables. These tables are exported automatically during full database mode, user mode and table mode exports. Sharded queues are associated with the following objects: For non-sharded queues, a queue table that supports multiple recipients is associated with the following tables: ![]()
0 Comments
Leave a Reply. |