There is one database heap per database, and the database manager uses it on behalf of all applications connected to the database. It contains control block information for tables, indexes, table spaces, and buffer pools. It also contains space for the event monitor buffers, the log buffer, (logbufsz) and the catalog cache (catalogcache_sz). Therefore, the size of the heap will be dependent on the number of control blocks stored in the heap at a given time. The control block information is kept in the heap until all applications disconnect from the database.
The minimum amount the database manager needs to get started is allocated at the first connection. The data area is expanded as needed up to the maximum specified by dbheap.
Recommendation: This value will need to be increased when an application receives an error indicating that there is not enough storage available in the database heap to process the statement.
You may use the database system monitor to track the highest amount of memory that was used for the database heap. See Maximum Database Heap Allocated for more information.
When setting this parameter, you should consider: