Sunteți pe pagina 1din 2

Siebel EIM Performance Tips This article provides a collection of performance tips related to Siebel EIM. 1.

Siebel recommends EIM batch size (records per EIM task) to be no more than 5000 records. I have found that Siebel EIM performs much better at batch size of 2000 records as opposed to 5000 records. 2. Truncating an EIM table prior to loading can present a performance improvement. When the table is truncated this essentially defragments the table. However it is often not feasible to truncate the EIM tables if business requirement pertains to EIM data not being removed. 3. Performance issues related to Siebel EIM are usually always database (DML) related. Therefore debugging performance issues related to EIM should focus on the DML statements associated. Possible EIM performance issues mainly are: - Locking of objects due to multiple requests for database resources. - Inefficient SQL being executed. - Siebel EIM tables have many indexes (many more than normal Siebel base tables). Therefore inserting large amounts of data into Siebel EIM tables can result in slow performance. The option does exist to remove indexes on an EIM table prior to loading and then re-apply the indexes once data is loaded. 4. EIM tasks can be run in parallel. I recommend up to 4 tasks to be invoked simultaneously. When invoking EIM tasks simultaneously consider: - You can invoke EIM tasks simultaneously which are related to the same base tables as long as the batch numbers are different and the data in each batch are related to different base table records. - You can invoke EIM tasks simultaneously which are related to different base tables. - You can invoke EIM tasks simultaneously for the same base table as long as the batch numbers are different and the data ineach batch are related to different base table records. 5. Disable transaction logging. You need to weigh up whether it is worth disabling the transaction logging as the transaction logging can provide vital debugging information. To do this, in the IFB include: LOG TRANSACTIONS = FALSE under the [Siebel Interface Manager] section to disable transaction logging. 6. When inserting a large volume of data into EIM tables you may run into errors if the rollback segment is not large enough to handle the large insert. In this case you can use alternate insert statement within a PLSQL procedure. See the following article for more information on this: http://it.toolbox.com/blogs/siebel-answers/ora01650-unable-to-extend-rollback-segment-when-sqlinserting-large-volume-of-data-26653. 7. Disable the workflow policy database triggers prior to running EIM tasks. When the EIM task performs updates on base tables, any triggers associated with these updates would fire and cause

additional database activity which may be unwanted. See my article on more information on dropping the database triggers: it.toolbox.com/blogs/siebel-answers/siebel-srvrmgr-command-line-tool-localdatabase-extract-26530. 8. Siebel EIM will perform better if the EIM tasks are being executed on the same server as the database. My current implementation have the database and a "highly available" siebel server which reside on the same machine. All EIM jobs are executed on the highly available server. This means that there is no need for network traffic between the server running the EIM task and the database server. 9. Tune the EIM task. Using the following options within the IFB file can greatly increase Siebel EIM performance: - ONLY BASE TABLES - This will tell the EIM task only to worry about updating/inserting into the specified base tables. By default, EIM will try to update all mapped base tables. - ONLY BASE COLUMNS - This will tell the EIM task only to worry about updating/inserting into the specified base table columns. This is a big one for performance. - DEFAULT COLUMN - This will tell EIM what base table columns to default to a particular value. This eliminates EIM having to determine this from the EIM record. That is all I can think of at the moment. I will continue to update this post when I come up with other pointers.

S-ar putea să vă placă și