Implementing Siebel Business Applications on DB2 UDB for z/OS > Maintenance Considerations for z/OS >

Database Connection Pooling


Siebel 7 introduced Siebel Database Connection Pooling and Multiplexing, a feature that allows database connections to be shared and reused, so reducing the number of DB2 database active threads (DBATs) that are required. This feature saves the overhead of creating new database connections for each user session and allows the number of concurrent user sessions to exceed the number of database connections.

Siebel Database Connection Pooling can give you flexibility in increasing the number of rows returned from a query or in keeping cursors open using the DSMaxCursorSize=-1 and DSPreFetchSize=-1 values. However, you should consider the latter option only if it is essential to your business needs. Using the DSMaxCursorSize=-1 and DSPreFetchSize=-1 settings requires careful DB2 buffer pool tuning and the use of DB2 storage contraction DSNZPARMs. See About Cursor Close and DDSNZPARM Parameter Settings for Siebel Applications for further information.

You must also review the unlimited cursor close values in combination with other factors, such as:

  • DB2 DBM1 virtual storage
  • Transaction rate of arrival
  • Average length of a transaction
  • Maximum number of connected threads
  • Number of expected long-running complex queries

When you enable Siebel Database Connection Pooling and Multiplexing, the Object Manager component maintains a pool of database connections. When a new connection is needed (a user session is started), the Object Manager looks for an unused connection in the pool. If no connections are available and the pool has less than the maximum number (MaxSharedDbConns) of connections, then a new connection is created. When the maximum number of connections is reached, the Object Manager assigns the session to an existing connection and multiplexes the database operations from sessions sharing the connection. When the number of concurrent sessions requires sharing connections, the Object Manager attempts to share the connections equitably. As sessions terminate, the Object Manager keeps track of connection utilization and attempts to maintain the minimum number (MinSharedDbConns) of connections in the pool. If there are unused connections, they are released until only the minimum number remain.

Three parameters control Siebel Database Connection Pooling and Multiplexing:

  • MinSharedDbConns. Minimum number of shared database connections used for general purpose operations.
  • MaxSharedDbConns. Maximum number of shared database connections used for general purpose operations.
  • MinTrxDbConns. Minimum number of dedicated database connections used for special purposes.

For additional information on configuring Database Connection Pooling and Multiplexing parameters, see the Performance Tuning Guide.

Implementing Siebel Business Applications on DB2 UDB for z/OS