Schema Validation Oracle Database Adapter Features

Oracle JCA Adapter for Database 9-35 For load balancing purposes, it is dangerous to set the MaxTransactionSize too low in a distributed environment with skip locking disabled where MaxTransactionSize becomes a speed limit. It is best to set the MaxTransactionSize close to the per CPU throughput of the entire business process. This way, load balancing occurs only when you need it. For load balancing purposes, it is dangerous to set the MaxTransactionSize too low in a distributed environment where it becomes a speed limit. It is best to set the MaxTransactionSize close to the per CPU throughput of the entire business process. This way, load balancing occurs only when you need it. If distributed polling is not set, then the adapter tries to process all unprocessed rows in a single polling interval.

9.3.8.1.2 Partition Field In a distributed scenario you will have polling instances on

multiple servers, however per server you will likely also have more than one thread configured. You can configure these activation instances to at least cooperate somewhat by processing separate rows, possibly improving scaling. Simply add the property PartitionField to your db.jca file: property name=PartitionField value=ID If you set activationInstances to 2, then activation instances 1 and 2 or 0 and 1 would respectively execute: SELECT ... WHERE ... AND MOD ID, 2 = 0 FOR UPDATE SKIP LOCKED and SELECT ... WHERE ... AND MOD ID, 2 = 1 FOR UPDATE SKIP LOCKED Activation instance 0 will still conflict with other activation instances with this ID on other servers, but at least it will not conflict with other activation instances with ID 1. Make sure that the partition field is numeric and that applying mod will evenly distribute the rows i.e. in this case make sure all the IDs are not either even or odd. On Oracle Database, you can set the partition field to be rowid by setting db.jca file property PartitionField as follows: property name=PartitionField value=rowid Note: Although you may want to increase MaxTransactionSize, if you increase it too high, you may start to see transaction timeouts. Table 9-2 lists safe values for MaxTransactionSize. Table 9–2 MaxTransactionSize and MaxRaiseSize Values MaxTransactionSize MaxRaiseSize Description 10 1 When using sequential routing. For 10 rows you will have 10 individual instances and 10 XML records passing through SOA. 100 When using parallel routing. = 100 MaxTransactionSize When using the adapter to stream rows through as fast as possible.