Many processes have been designed to run in parallel in order to
speed execution. For example, the billing process in Oracle Utilities
Customer Care and Billing can be executed so that bills are produced
in multiple "threads" (and multiple threads can execute at the same
time).
Note: The detailed description in the metadata for each
batch control provided with the system should indicate if it may be
run in parallel.
By default the system distributes the data for the multiple threads
using the primary key of the main table of the process. For example,
if you are running BILLING in Oracle Utilities Customer Care and Billing
with multiple threads, the batch process distributes the accounts
across the multiple threads. The Account ID is 10 digits long so if
you run it with 4 threads, the records are processed as follows:
- Thread 1: Account IDs 0000000001 - 2500000000
- Thread 2: Account IDs 2500000001 - 5000000000
- Thread 3: Account IDs 5000000001 - 7500000000
- Thread 4: Account Ids 7500000001 - 9999999999
Note that the multi-threading logic relies on the fact that primary
keys for master and transaction data are typically system generated
random keys.
Note:
Overriding the thread ranges. Your implementation
has the ability to override the thread ranges if certain data in your
system takes longer to process. For example, imagine you have a single
account in Oracle Utilities Customer Care and Billing that has thousands
of service agreements (maybe the account for a large corporation or
a major city). You may want to set up the thread ranges to put this
large account into its own thread and distribute the other accounts
to the other threads. To do this, you should create the appropriate
batch thread records ahead of time in a status of Thread Ready ( 50) with the key ranges pre-populated.
Note that the base product does not provide the ability to add batch
thread records online. If you are interested in more information about
this technique, contact Customer Support.
Copyright © 2007, 2016, Oracle and/or its affiliates. All rights reserved. Documentation build: 2.5.2016 10:21:45 [T1_1454696505000]