Implementing Siebel Business Applications on DB2 UDB for z/OS > Migrating Data Using Siebel EIM > How to Improve EIM Performance When Importing >

How to Improve EIM Performance During Initial Loads


There are certain considerations relating to improving EIM performance that are only applicable during an initial load of data into your Siebel application. These are described below.

Unused, Nonunique Indexes

The initial load of data is typically a database-intensive process. Each row that is inserted into the base table requires modifications, not only to the table itself, but to all its affected indexes. However, most of these indexes are never used during an initial load process.

You can usually improve performance by determining which base table indexes are unused by EIM during the import process and dropping them prior to the initial load. You must later recreate these indexes.

Unused Triggers

Dropping unused triggers can improve import performance by reducing the system overhead used to verify trigger constraints. You can use the Generate Triggers (GenTrig) component from Siebel Server Tasks to drop the triggers and to re-create them later on. This component must be in the "Enabled" state. For details on how to work with Generate Triggers, see the Siebel Business Process Designer Administration Guide.

NOTE:  If you are using partitioning, do not drop triggers that are used for partitioning purposes. If you do, your EIM process fails, or it inserts all the data in a single partition.

The Free Space Parameters

If you use your Siebel application primarily for queries, updates, and deletions, alter your table spaces and indexes to provide optimal insert and update performance.

To improve the EIM import and update SQL performance, set PCTFREE for table spaces and indexes to a value of 20 or 30 prior to the EIM initial load, and maintain these settings at 20 or 30 for subsequent loads.

Insert Performance on Base Tables

You can improve the insert performance on base tables during an initial load of data into your Siebel application by following these guidelines:

  • Set PCTFREE to zero for data and sequential index.
  • Set FREEPAGE to zero for data and index.
  • Use Page Lock if you are inserting many rows or pages sequentially.
  • For a data sharing environment, set the member cluster option to reduce space map and data page P-Lock contention.

Alter base table spaces to PCTFREE and FREEPAGE values of 20 or 30 for subsequent import processes. You should also load or reorganize any altered items before the new values take effect. The following example demonstrates how to set these values for your table spaces and indexes. Substitute your own table space and index names for your implementation.

ALTER TABLESPACE SIDB0401.H0401000 PART 1 PCTFREE 20;
ALTER TABLESPACE SIDB0401.H0401000 PART 2 PCTFREE 20;

ALTER INDEX SIDB0401.S_ADDR_ORG_M6 PCTFREE 20;
ALTER INDEX SIDB0401.S_ADDR_ORG_P1 PCTFREE 20;
ALTER INDEX SIDB0401.S_ADDR_ORG_P99 PART 1 PCTFREE 20;
ALTER INDEX SIDB0401.S_ADDR_ORG_P99 PART 2 PCTFREE 20;

Transaction Logging

Siebel transaction logging is unnecessary during an initial EIM load, and should be disabled by setting LOG TRANSACTIONS = FALSE in your .ifb file. For more information on transaction logging in EIM, see the Siebel Enterprise Integration Manager Administration Guide.

Implementing Siebel Business Applications on DB2 UDB for z/OS