The DB2 Model

There are a number of listeners which monitor incoming network traffic to the DB2 host:
  • db2ipccm - listens for local connections
  • db2tcpcm - listens for TCP/IP connections
  • db2tcpdm - listens for TCP/IP discovery requests

The listener assigns a coordinator agent to work on behalf of a client. DB2 engine dispatch units (workers) are implemented as threads in the Windows version of DB2. The client runs in a different address space than the DB2 engine. This ensures that the database continues even when a client goes down.

The first process to be run when the instance starts is db2sync. It is the system controller. By default there is one coordinator agent per database connection. An application shall get an error if it needs an agent but no free ones are available. DB2 has a Connection Concentrator which allows more database connections than coordinator agents. This is a good option for applications with small amounts of transactions. It improves performance in this scenario.

There are two types of shared memory in DB2 - instance level and database level. Instance level shared memory is used for the following functions:

  • snapshots
  • event monitoring
  • audit logging
  • tracing

Database level shared memory is used for the following functions:

  • buffer pools
  • the lock list
  • the sort area
  • database heap (log buffer, catalog cache)
  • package caching
  • utility heap (backup and restore)