Implementing Siebel eBusiness Applications on DB2 UDB for z/OS and OS/390 > Maintenance Considerations for zSeries >

About DB2 Statistics for Siebel eBusiness Applications


It is recommended that you apply statistics to Siebel applications. The DBA should update statistics on table spaces that contain EIM interface tables and base tables (including table spaces that contain extension tables and repository tables) when there has been a change of 20 percent or more in the row distribution. It is usually not necessary to update statistics on all of the table spaces, only on those containing tables that have changed.

RUNSTATS and DSTATS utilities are recommended for updating statistics.

About the RUNSTATS Utility

Execution of the rstat390 utility from midtier executes RUNSTATS on the DB2 host. The rstat390 script is located within the SIEBSRVR_ROOT/bin directory. For rstat390 help, use option /h.

You should update statistics only when there is little activity on the system, such as after midnight. If you run this utility while users are accessing and updating the Siebel database, lock contention can occur. When this happens, an error message is generated. As an example, the following error message is generated from rstat390.

ODBC error S1000 in SQLExecDirect: [IBM][CLI Driver][DB2/6000] SQL2310N The utility could not generate statistics. Error "-911" was returned.

This does not harm your database, but the RUNSTATS job will have to be rerun for any table for which this type of error was generated, because statistics were not updated for that table.

You can execute RUNSTATS on an active system if you specify shrlevel change as an option. This allows concurrent access while the RUNSTATS utility executes.

You should execute RUNSTATS following reorganization of any fragmented table spaces and indexes. For more information on this topic, see About Reorganizing Table Spaces, Partitions, and Indexes.

You can also execute RUNSTATS directly from the DB2 host.

About the Distribution Statistics Collection Program (DSTATS) Utility

RUNSTATS collects distribution statistics, but only in certain cases: for example, only for columns which form the senior key of an index, and only for the most (rather than least) frequently occurring values.

A slow query may be a result of an inefficient access path chosen by the optimizer due to data skew on a non-leading indexed column. In such cases, IBM recommends running the DSTATS utility to collect column distribution statistics on such columns. Running DSTATS could significantly improve the query time. For example, on a query with search predicate PRIV_FLG = 'N', Siebel Systems has seen an improvement from 0.5 seconds to 0.04 seconds with column distribution statistics collected on S_CONTACT.PRIV_FLG.

For more information on DSTATS and to access the download from IBM, see Siebel SupportWeb.

Implementing Siebel eBusiness Applications on DB2 UDB for z/OS and OS/390