Database Tuning Tips for EIM - DB2 UDB
Use DB2 load replace option when loading EIM tables and turn off table logging if possible.Use separate tablespaces for EIM tables and the base tables.Use larg
Use DB2 load replace option when loading EIM tables and turn off table logging if possible.Use separate tablespaces for EIM tables and the base tables.Use larg
Prior to running EIM it is important to clean up fragmented objects, especially those that will be used during the EIM processing. The following SQL statement can be used to identify objects with greater than 10 extents:
SELECT segment_name,segment_type,tablespace_name,extents
FROM dba_segments
WHERE owner = (Siebel table_owner)
and extents > 9;
When purging data from the EIM table, use the TRUNCATE command as opposed to DELETE. The TRUNCATE command will release the data blocks and reset the high water mark while DELETE will not, thus causing additional blocks to be read during processing. Also, be sure to drop and re-create the indexes on the EIM table to release the empty blocks.
One other measure that can help performance is to pin small tables that are frequently accessed in cache. The value of BUFFER_POOL_KEEP determines the 'keep pool', example, the portion of the buffer cache that will not be flushed by the LRU algorithm.
Multiple EIM processes can be executed against an EIM table provided they all use different batches or batch ranges. The concern is that contention for locks on common objects may be experienced. To run multiple jobs in parallel against the same EIM table, check that the ‘FREELIST’ parameter is set appropriately for the tables and indexes used in the EIM processing. This would include the EIM tables and indexes as well as the base tables and indexes.
Siebel Enterprise Integration Manager (EIM) manages the bi-directional exchange of data between the Siebel database tables and other corporate databases. This exchange of information is accomplished through intermediary tables called, EIM tables (in earlier releases of Siebel application, these were known as Interface Tables). The EIM tables act as a staging area between the Siebel application database and other databases.
After upgrading Siebel applications to a higher release, certain columns that were previously not List-of-Value (LOV) bounded became LOV bounded that could cause EIM import failure Oracle Siebel highly recommends that users evaluate the potential impact of schema upgrade before they perform any EIM loading in a new release.
In the "Advanced Usage" chapter of the Siebel "Enterprise Integration Manager and Administration Guide", it is recommended that batch sizes of 5,000 records or less be used. Running Enterprise Integration Manager Tasks with batch sizes greater than 5,000 records could result in a stalled Transaction Router or memory leak in Replication Agent server component when merging records into regional node database.
An aborted Enterprise Integration Manager (EIM) Merge or Delete process will leave orphan records if the EIM process is terminated abnormally.
The following EIM .ifb file parameters determine when an EIM process will commit and if the pending SQL statements will be committed if an error is encountered.
COMMIT EACH TABLE = TRUE
COMMIT EACH PASS = TRUE
ROLLBACK ON ERROR = FALSE
After the introduction of the S_PARTY table in Siebel version 7 tables such as S_ORG_EXT and S_CONTACT has become extension tables to the S_PARTY table. Tables such as S_ORG_EXT and S_CONTACT are no longer the target tables of Interface Tables such as EIM_ACCOUNT and EIM_CONTACT.