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".
上一頁123456下一頁 在這個例子中,消息來源的進程ID號是78121。這個進程的名字是db2agent,并且它連接了叫做TEST的數據庫。了解每個進程在做什么能幫助你了解系統治理通知日志和db2diag.log的內容?! B2進程的模型 代理 代理可以認為是一個"工作程序",它執行所有的應用程序需要的數據庫操作。有兩種類型的DB2代理: ◆ 協調程序代理(db2agent) 協調程序代理代表應用程序協調工作,并且使用進程間通訊(interprocess communication,ipC)或者遠程通訊協議與其它的代理通訊。所有的客戶端應用程序連接請求,無論是本地的或遠程的,都會分配一個相應的協調程序代理?! ?子代理(db2agntp) 當答應intra_parallel數據庫治理器配置參數時,協調程序代理把數據庫請求分配給子代理(db2agntp)。這些代理為應用程序執行請求。一旦建立了協調程序代理,它就通過協調執行數據庫請求的子代理,代表應用程序處理所有的數據庫請求?! ‘斈硞€代理或者子代理完成了自己的工作時它就變為空閑的。當某個子代理變為空閑時,它的名字從db2agntp變為db2agnta?! ±纾骸 b2agntp是活動的子代理,它正在為協調程序代理執行工作。這些進程只有答應內部分區并行性(intra-partition parallelism)時才存在。 db2agnta是空閑的子代理,它在過去的某個時候被協調程序代理使用。空閑代理位于代理池中。這些代理對于來自代表客戶端程序的協調程序代理的請求是可用的。可用的代理數量依靠于數據庫治理器的配置參數maxagents和num_poolagents?! ”疚牡暮竺嬉徊糠謱⒅v解其它類型的代理(例如并行回復代理,db2agnsc)。下面是顯示DB2進程模型的兩個圖表。在db2start后:
root 49504 1 0 13:13:07 - 0:00 db2wdog
db2inst1 22142 49180 0 13:13:10 - 0:00 db2gds
db2inst1 43072 49180 0 13:13:17 - 0:00 db2syslog
db2inst1 45294 74134 0 12:12:43 pts/2 0:00 /usr/bin/ksh
db2inst1 49180 49504 0 13:13:10 - 0:00 db2sysc
db2inst1 55920 49180 0 13:13:19 - 0:00 db2resync
db2inst1 59012 22142 0 13:13:19 - 0:00 db2srvlst
db2inst1 60680 49180 0 13:13:17 - 0:00 db2ipccm
數據庫治理器配置文件有下面的設置,他們影響到你最初看到的進程:Max number of existing agents (MAXAGENTS) = 200
Agent pool size (NUM_POOLAGENTS) = 100(calculated)
Initial number of agents in pool (NUM_INITAGENTS) = 0
上一頁123456下一頁 因為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進程運行了?! AMPLE數據庫的數據庫配置文件有下面的設置:Number of asynchronous page cleaners (NUM_IOCLEANERS) = 1
Number of I/O servers (NUM_IOSERVERS) = 3
注重有三個db2pfchr進程,他們與NUM_IOSERVERS的值相對應,有一個db2pclnr進程與NUM_IOCLEANERS的值相對應?! 】偨Y 還有許多其它的進程可能出現或者不出現,這依靠于不同的DB2行為和配置設定。我們演示了怎樣調查哪個進程正在運行、這些進程顯示什么信息、以及它們受到數據庫設置怎樣的影響的示例?,F在你能使用這些知識提高治理DB2數據庫的能力。 上一頁123456 新聞熱點
疑難解答