电脑技术学习

深入了解DB2 Universal Database进程

dn001

  因为NUM_INITAGENTS为0,在db2start时没有"db2agent(idle)"进程显示。假如在db2agent前把NUM_INITAGENTS设置为5,在运行db2start后将显示下面的额外进程:db2inst1 35542 59814  0 16:25:57   - 0:00 db2agent (idle)
db2inst1 43096 59814  0 16:25:57   - 0:00 db2agent (idle)
db2inst1 49628 59814  0 16:25:57   - 0:00 db2agent (idle)
db2inst1 58170 59814  0 16:25:57   - 0:00 db2agent (idle)
db2inst1 64012 59814  0 16:25:57   - 0:00 db2agent (idle) 

 在连接到数据库SAMPLE后(NUM_INITAGENTS仍然为0):root 49504   1  0 13:13:07  - 0:00 db2wdog
db2inst1 25844 35124  0 16:04:50  - 0:00 db2pfchr
db2inst1 35124 65638  0 16:04:17  - 0:00 db2gds
db2inst1 35540 35124  0 16:04:50  - 0:00 db2loggr (SAMPLE)
db2inst1 41940 65638  0 16:04:19  - 0:00 db2resync
db2inst1 45058 35124  0 16:04:50  - 0:00 db2pfchr
db2inst1 49300 35124  0 16:04:19  - 0:00 db2srvlst
db2inst1 49626 35124  0 16:04:50  - 0:00 db2dlock (SAMPLE)
db2inst1 55852 65638  0 16:04:17  - 0:00 db2ipccm
db2inst1 58168 35124  0 16:04:50  - 0:00 db2loggw (SAMPLE)
db2inst1 59048 35124  0 16:04:50  - 0:00 db2pfchr
db2inst1 64010 55852  0 16:04:50  - 0:00 db2agent (SAMPLE)
db2inst1 65638 22238  0 16:04:17  - 0:00 db2sysc
db2inst1 70018 35124  0 16:04:50  - 0:00 db2pclnr
db2inst1 72120 35124  0 16:04:51  - 0:00 db2event (DB2DETAILDEADLOCK)
db2inst1 74198 65638  0 16:04:17  - 0:00 db2syslog
db2inst1 74578   1  0 16:04:47  - 0:00 /home/db2inst1/sqllib/bin/db2bp
 50112C14631 5

  在连接到SAMPLE数据库后,出现了"db2agent(SAMPLE)"进程。这个进程显示实际上有一个到SAMPLE数据库的连接。假如我们运行下面的命令:db2 connect reset  db2agent(SAMPLE)将变成db2agent(idle)。这是因为NUM_POOLAGENTS设置为大于0,这意味着代理仍然分配在缓冲池中,虽然它时空闲的。假如NUM_POOLAGENTS设置为0,那么在"connect reset"后,就没有db2agent进程运行了。

  SAMPLE数据库的数据库配置文件有下面的设置:

Number of asynchronous page cleaners  (NUM_IOCLEANERS) = 1
Number of I/O servers          (NUM_IOSERVERS) = 3 
 注重有三个db2pfchr进程,他们与NUM_IOSERVERS的值相对应,有一个db2pclnr进程与NUM_IOCLEANERS的值相对应。

  总结

  还有许多其它的进程可能出现或者不出现,这依靠于不同的DB2行为和配置设定。我们演示了怎样调查哪个进程正在运行、这些进程显示什么信息、以及它们受到数据库设置怎样的影响的示例。现在你能使用这些知识提高治理DB2数据库的能力。