在这个例子中,消息来源的进程ID号是78121。这个进程的名字是db2agent,并且它连接了叫做TEST的数据库。了解每个进程在做什么能帮助你了解系统治理通知日志和db2diag.log的内容。
DB2进程的模型
代理
代理可以认为是一个"工作程序",它执行所有的应用程序需要的数据库操作。有两种类型的DB2代理:
◆ 协调程序代理(db2agent)
协调程序代理代表应用程序协调工作,并且使用进程间通讯(interprocess communication,IPC)或者远程通讯协议与其它的代理通讯。所有的客户端应用程序连接请求,无论是本地的或远程的,都会分配一个相应的协调程序代理。
◆ 子代理(db2agntp)
当答应intra_parallel数据库治理器配置参数时,协调程序代理把数据库请求分配给子代理(db2agntp)。这些代理为应用程序执行请求。一旦建立了协调程序代理,它就通过协调执行数据库请求的子代理,代表应用程序处理所有的数据库请求。
当某个代理或者子代理完成了自己的工作时它就变为空闲的。当某个子代理变为空闲时,它的名字从db2agntp变为db2agnta。
例如:
db2agntp是活动的子代理,它正在为协调程序代理执行工作。这些进程只有答应内部分区并行性(intra-partition parallelism)时才存在。
db2agnta是空闲的子代理,它在过去的某个时候被协调程序代理使用。空闲代理位于代理池中。这些代理对于来自代表客户端程序的协调程序代理的请求是可用的。可用的代理数量依靠于数据库治理器的配置参数maxagents和num_poolagents。
本文的后面一部分将讲解其它类型的代理(例如并行回复代理,db2agnsc)。
下面是显示DB2进程模型的两个图表。
图1:没有连接集合的DB2进程模型(对于无分区的数据库)