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.
As with most client-server applications, the overall performance of Siebel eBusiness applications is largely dependent on the I/O performance on the database server. To ensure optimal I/O performance, it is critical that the tables and indexes in the database be arranged across available disk devices in a manner that evenly distributes the I/O load.
One of the most important factors to determine about the database is its overall size. In the planning, users will need to allocate space for system storage, rollback segments/containers, temporary storage space, log files, and other system files required by the RDBMS, as well as space for Siebel data and indexes. If users allocate too little space for the system, performance will be affected and, in extreme cases, the system itself may be halted.
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.
This document will explain a procedure that may be used to associate a specific Oracle database session from the V$SESSION table with a specific Siebel user session. This is typically done to troubleshoot specific issues (for example a database process that is using unusually high resources) or to support levels of user auditing not currently available through the Siebel user interface.
Whenever a service based on EAI Siebel Adapter or EAI UI Data Adapter business service run to insert a child record when there are already 10000 records associated to the parent, i.e. Contacts for an Accout, Usert to a Responsibility, an error message is received as the following: