18 Sybase to DB2 Conversion Guide
background processes in DB2 that are pre-started; other processes start on a
need-only basis. There are several important background processes:
The main process is the
DB2 System Controller (db2sysc), which runs the
entire DB2 engine infrastructure. The DB2 data server activities are
Engine Dispatchable Units (EDU), which are defined as
threads running within a single operating system process.
A second DB2 background process is started together with the system
controller and is called the
DB2 Watch Dog (db2wdog). It watches and
monitors the system controller and reacts to error conditions.
For autonomic tasks, another process is initialized when the database is
activated, which can happen either manually or by being triggered by a client
connection. This process is the
Autonomic Computing Daemon (db2acd) and
runs autonomic tasks, such as health-monitoring, auto-runstats, and the
administration scheduler on the client side.
There is also the
db2fmp process, which, decoupled from the DB2 system
controller process, serves thread-safe stored procedures and user-defined
2.1.1 DB2 objects
In this section, we introduce the DB2 objects and their relationships to each
other. Figure 2-2 on page 19 shows the fundamental DB2 database objects.
Chapter 2. Architecture 19
Figure 2-2 DB2 object relationships
A DB2 instance represents the database management system. It controls how
data is manipulated and manages system resources that are assigned to it. Each
instance is a complete, fairly independent environment that contains all of the
database partitions that are defined for a given parallel database system. An
instance can have its own set of databases (which other instances cannot access
directly), and all database partitions share the same system directories. Each
instance has separate security from other instances on the same machine
(system), allowing for situations where both production and development
environments are run on the same machine without interference. To connect to a
database, any database client must first establish a network connection to the
A DB2 database is a structured collection of data, which is stored within tables.
Since DB2 9, data within tables can be stored as both relational data and XML
documents natively in a pre-parsed tree format within a table column. Each
database includes a set of system catalog tables that describes the logical and
physical structure of the object in the database, a configuration file containing the
20 Sybase to DB2 Conversion Guide
parameter values configured for the database, and a recovery log. Figure 2-3
shows the relationship between instances, databases, and tables.
Figure 2-3 Relationship between instances, databases, and tables
Database partition groups
A DB2 database partition group is a set of one or more database partitions, as
shown in Figure 2-4 on page 21. A database partition group must be created
prior to creating the tables in a database. This database partition group is where
the table spaces are stored. After the database partition group is present, a table
space can be created to store tables. If a partition group is not specified, there is
a default group where table spaces are allocated. In a non-partitioned
environment, all of the data resides in a single partition; therefore, it is
unnecessary to worry about partition groups in simple setups.