图1中的每个圆圈代表引擎可分配单元(EDU),它是Linux/UNIX平台上的进程,Windows中的线程。
应用程序A(App A)和B(App B)都是运行在DB2服务器上的本地应用程序。当这些应用程序请求一个到数据库的CONNECT时,db2ipccm监听进程建立数据库治理器和应用程序之间的通讯。db2ipccm也使用一个协调程序代理EDU(db2agent)工作,它直接连接客户端应用程序来建立客户端应用程序和代理之间的共享内存通讯。一旦建立了该通讯,本地客户端的应用程序就连接到数据库了。
应用程序C(App C)是一个远程应用程序,它位于DB2服务器外的另一台计算机上。远程客户端通过db2tcpcm监听进程建立TCP/IP通讯。接着该db2tcpcm与db2agent一起工作,它成为应用程序的协调程序代理并把连接传递到这个代理。在这以后,协调程序代理联系远程客户端应用程序并且连接到数据库了。
图2:没有连接集合的DB2进程模型(对于分区数据库)
图2与图1相似,但可用于分区的数据库。Node0000和Node0001代表两个不同的计算机,数据库的分区分别在它们上面。该进程与它们之间的交互作用与图1中的相同,但是有一些进程只能用于这样的环境。例如db2fcmd即快速通讯治理器(Fast Communication Manager)进程,它用于治理不同分区之间的通讯。下一部分的表格更仔细地说明了其它用于分区数据库的进程。
各个进程
下表按照功能列举了每个实例、每个数据库的所有DB2进程。注重下表中的有些进程没有按字母次序,而是基于功能分组。
表1:每个实例的进程--没有连接、没有活动的数据库 表2:每个实例和每个连接的进程