深入了解DB2 Universal Database进程

来源: 作者: 2007-12-03 出处:pcdog.com

db2  ios  linux  qq  solaris  
上一页 1 2 3 4 5 下一页 

  虽然拜访了某个IBM业务伙伴并执行了一些DB2性能调整,但是我们仍然遇到了普通的响应时间延缓。应用程序列表命令没有显示任何在这个时候不正常的进程。在取得DB2快照前,我们查看了DB2服务器上运行的DB2进程,发现db2rebal进程正在运行。

在给DMS表空间添加一个容器的时候,该进程用于执行再次数据均衡。该客户承认那一天它给一个包含40GB表的表空间添加了一个容器。当重新均衡完成后,查询的响应速度返回到正常情况。

  看看通知和诊断日志

  管理通知日志和诊断日志(db2diag.log)是系统管理员用于了解数据库活动和功能的重要工具。正常情况下它们包含DB2进程的信息,下面的例子显示了一个db2diag.log的条目:

2000-03-06-11.53.18.001160  Instance:myInst  Node:000
PID:78121(db2agent (TEST)) TID:352 
Appid:*LOCAL.payroll.000306140834
lock_manager     sqlplrq  Probe:111  Database:TEST
DIA9999E An internal return code occurred. Report the following:
"0xFFFFE10E".

  在这个例子中,消息来源的进程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。



上一页 1 2 3 4 5 下一页 
上一篇:使用 DB2 Change Management Expert 进行数据库版本控制
下一篇:选择 IBM DB2数据库的五大理由