电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

深入了解DB2 Universal Database進程

瀏覽:55日期:2023-11-07 18:56:04

介紹

UNIX和Linux用戶經常檢查運行在服務器上的進程來進行問題分析,并檢查服務器上被消耗的資源。這些信息不僅對解決問題和分析資源的系統治理員有用,而且對于開發高可用性和監視DB2進程以判定什么時候執行某種行為(例如數據庫重新啟動)或者執行必要的服務器錯誤恢復(failover)的錯誤恢復腳本都很重要。

假如使用AIX,必須使用ps -ef命令來檢查進程。在Solaris和HP-UX上,ps -ef只為所有的服務器端進程(例如agents、loggers、page cleaners和 prefetchers)顯示db2sysc進程(主要的DB2引擎進程)。假如你使用Solaris或者HP-UX,能使用/usr/ucb/ps -axw命令看到這些進程。這些版本的ps命令都可以在Linux上工作。

在運行DB2 Universal Database客戶端或服務器軟件的計算機上執行這個命令時,可以看到列出了多個DB2進程。本文的目的是說明這些進程并解釋它們是做什么的以及什么時候運行。通過閱讀本文你能了解DB2的每個進程,當你看到這些進程時能了解DB2正在執行什么操作。

注重:在DB2中進程是怎樣執行的對于Windows和Linux、UNIX環境有稍微的不同。在Windows中,只有一個進程(db2sysc),在它下面每個引擎可分配單元(EDU)作為一個線程執行。盡管本文討論進程,但是在Windows環境中應該認為它們是線程。在Windows任務治理器中你能夠看到每個實例的db2sysc進程(db2syscs.exe)。其它的Windows服務/進程也可以顯示,本文我們將解釋它們是什么。

警告:不要在正常的DB2環境中直接干涉DB2進程。在Linux或UNIX中使用kill -9命令刪除DB2進程可能會引起DB2的不正常的行為。假如刪除進程將導致整個DB2實例停止。本文中的目的是了解這些進程而不是直接維護它們。為什么要查看DB2進程

我們的個人經驗已經顯示了這些知識的價值,我們拜訪的客戶也向我們詢問這類信息。看看下面的真實的情況,看看你自己如何檢查系統上運行的DB2進程來解決問題的:

情況1:罕見的緩沖池頁面清除

某個運行電子商務網站并使用DB2作為數據庫服務器的客戶報告說,在一天的多個時段數據庫響應應用程序的時間很長。在這些時期數據庫快照沒有顯示發生了什么不正常的行為。通過檢查其中一個時段進程的CPU使用率,可以發現I/O清除器(db2pclnr)消耗了超過90%的CPU時間。接下來通過查看I/O清除進程觸發器并適當地調整它們,我們消除了這種情況,該電子商務站點的處理能力提高了50%以上。

情況2:真實的情況

雖然拜訪了某個IBM業務伙伴并執行了一些DB2性能調整,但是我們仍然碰到了普通的響應時間延緩。應用程序列表命令沒有顯示任何在這個時候不正常的進程。在取得DB2快照前,我們查看了DB2服務器上運行的DB2進程,發現db2rebal進程正在運行。在給DMS表空間添加一個容器的時候,該進程用于執行再次數據均衡。該客戶承認那一天它給一個包含40GB表的表空間添加了一個容器。當重新均衡完成后,查詢的響應速度返回到正常情況。

看看通知和診斷日志

治理通知日志和診斷日志(db2diag.log)是系統治理員用于了解數據庫活動和功能的重要工具。正常情況下它們包含DB2進程的信息,下面的例子顯示了一個db2diag.log的條目:

2000-03-06-11.53.18.001160Instance:myInst  Node:000PID:78121(db2agent (TEST)) TID:352 Appid:*LOCAL.payroll.000306140834lock_manager sqlplrqProbe:111  Database:TESTDIA9999E 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。本文的后面一部分將講解其它類型的代理(例如并行回復代理,db2agnsc)。

下面是顯示DB2進程模型的兩個圖表。

深入了解DB2 Universal Database進程 

 圖1:沒有連接集合的DB2進程模型(對于無分區的數據庫)

圖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:每個實例和每個連接的進程

表3:每個實例和每個活動數據庫的進程表4:按功能分類的其它進程  表5:一些常用的執行文件  表6:其它的Windows服務/進程示例下面的例子顯示了在AIX上運行ps -ef命令時可能得到的輸出:在db2start后:

root 49504 1  0 13:13:07 - 0:00 db2wdogdb2inst1 22142 49180  0 13:13:10 - 0:00 db2gdsdb2inst1 43072 49180  0 13:13:17 - 0:00 db2syslogdb2inst1 45294 74134  0 12:12:43 pts/2 0:00 /usr/bin/kshdb2inst1 49180 49504  0 13:13:10 - 0:00 db2syscdb2inst1 55920 49180  0 13:13:19 - 0:00 db2resyncdb2inst1 59012 22142  0 13:13:19 - 0:00 db2srvlstdb2inst1 60680 49180  0 13:13:17 - 0:00 db2ipccm數據庫治理器配置文件有下面的設置,他們影響到你最初看到的進程:

Max number of existing agents  (MAXAGENTS) = 200Agent pool size(NUM_POOLAGENTS) = 100(calculated)Initial number of agents in pool  (NUM_INITAGENTS) = 0;

因為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 db2wdogdb2inst1 25844 35124  0 16:04:50- 0:00 db2pfchrdb2inst1 35124 65638  0 16:04:17- 0:00 db2gdsdb2inst1 35540 35124  0 16:04:50- 0:00 db2loggr (SAMPLE)db2inst1 41940 65638  0 16:04:19- 0:00 db2resyncdb2inst1 45058 35124  0 16:04:50- 0:00 db2pfchrdb2inst1 49300 35124  0 16:04:19- 0:00 db2srvlstdb2inst1 49626 35124  0 16:04:50- 0:00 db2dlock (SAMPLE)db2inst1 55852 65638  0 16:04:17- 0:00 db2ipccmdb2inst1 58168 35124  0 16:04:50- 0:00 db2loggw (SAMPLE)db2inst1 59048 35124  0 16:04:50- 0:00 db2pfchrdb2inst1 64010 55852  0 16:04:50- 0:00 db2agent (SAMPLE)db2inst1 65638 22238  0 16:04:17- 0:00 db2syscdb2inst1 70018 35124  0 16:04:50- 0:00 db2pclnrdb2inst1 72120 35124  0 16:04:51- 0:00 db2event (DB2DETAILDEADLOCK)db2inst1 74198 65638  0 16:04:17- 0:00 db2syslogdb2inst1 74578 1  0 16:04:47- 0:00 /home/db2inst1/sqllib/bin/db2bp 50112C14631 5

在連接到SAMPLE數據庫后,出現了"db2agent(SAMPLE)"進程。這個進程顯示實際上有一個到SAMPLE數據庫的連接。假如我們運行下面的命令:db2 connect resetdb2agent(SAMPLE)將變成db2agent(idle)。這是因為NUM_POOLAGENTS設置為大于0,這意味著代理仍然分配在緩沖池中,雖然它時空閑的。假如NUM_POOLAGENTS設置為0,那么在"connect reset"后,就沒有db2agent進程運行了。

SAMPLE數據庫的數據庫配置文件有下面的設置:

Number of asynchronous page cleaners  (NUM_IOCLEANERS) = 1Number of I/O servers  (NUM_IOSERVERS) = 3  注重有三個db2pfchr進程,他們與NUM_IOSERVERS的值相對應,有一個db2pclnr進程與NUM_IOCLEANERS的值相對應。

總結

還有許多其它的進程可能出現或者不出現,這依靠于不同的DB2行為和配置設定。我們演示了怎樣調查哪個進程正在運行、這些進程顯示什么信息、以及它們受到數據庫設置怎樣的影響的示例。現在你能使用這些知識提高治理DB2數據庫的能力。

標簽: DB2 數據庫
相關文章:
主站蜘蛛池模板: 挖掘机挖斗和铲斗生产厂家选择徐州崛起机械制造有限公司 | 青岛成人高考_山东成考报名网 | 煤矿人员精确定位系统_矿用无线通信系统_煤矿广播系统 | 深圳市索富通实业有限公司-可燃气体报警器 | 可燃气体探测器 | 气体检测仪 | jrs高清nba(无插件)直播-jrs直播低调看直播-jrs直播nba-jrs直播 上海地磅秤|电子地上衡|防爆地磅_上海地磅秤厂家–越衡称重 | 矿用履带式平板车|探水钻机|气动架柱式钻机|架柱式液压回转钻机|履带式钻机-启睿探水钻机厂家 | 台湾阳明固态继电器-奥托尼克斯光电传感器-接近开关-温控器-光纤传感器-编码器一级代理商江苏用之宜电气 | 成都办公室装修-办公室设计-写字楼装修设计-厂房装修-四川和信建筑装饰工程有限公司 | 不锈钢电动球阀_气动高压闸阀_旋塞疏水调节阀_全立阀门-来自温州工业阀门巨头企业 | 西点培训学校_法式西点培训班_西点师培训_西点蛋糕培训-广州烘趣西点烘焙培训学院 | 船用锚链|专业锚链生产厂家|安徽亚太锚链制造有限公司 | 高光谱相机-近红外高光谱相机厂家-高光谱成像仪-SINESPEC 赛斯拜克 | 制氮设备_PSA制氮机_激光切割制氮机_氮气机生产厂家-苏州西斯气体设备有限公司 | 济南玻璃安装_济南玻璃门_济南感应门_济南玻璃隔断_济南玻璃门维修_济南镜片安装_济南肯德基门_济南高隔间-济南凯轩鹏宇玻璃有限公司 | Magnescale探规,Magnescale磁栅尺,Magnescale传感器,Magnescale测厚仪,Mitutoyo光栅尺,笔式位移传感器-苏州连达精密量仪有限公司 | 钢板仓,大型钢板仓,钢板库,大型钢板库,粉煤灰钢板仓,螺旋钢板仓,螺旋卷板仓,骨料钢板仓 | 成都顶呱呱信息技术有限公司-贷款_个人贷款_银行贷款在线申请 - 成都贷款公司 | 粉末包装机-给袋式包装机-全自动包装机-颗粒-液体-食品-酱腌菜包装机生产线【润立机械】 | 三佳互联一站式网站建设服务|网站开发|网站设计|网站搭建服务商 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 上海租车公司_上海包车_奔驰租赁_上海商务租车_上海谐焕租车 | 语料库-提供经典范文,文案句子,常用文书,您的写作得力助手 | 玻璃瓶厂家_酱菜瓶厂家_饮料瓶厂家_酒瓶厂家_玻璃杯厂家_徐州东明玻璃制品有限公司 | 冷凝水循环试验箱-冷凝水试验箱-可编程高低温试验箱厂家-上海巨为(www.juweigroup.com) | 南京雕塑制作厂家-不锈钢雕塑制作-玻璃钢雕塑制作-先登雕塑厂 | 轻型地埋电缆故障测试仪,频响法绕组变形测试仪,静荷式卧式拉力试验机-扬州苏电 | 定坤静电科技静电消除器厂家-除静电设备 | 大米加工设备|大米加工机械|碾米成套设备|大米加工成套设备-河南成立粮油机械有限公司 | 亚克隆,RNAi干扰检测,miRNA定量检测-上海基屹生物科技有限公司 | 谈股票-今日股票行情走势分析-牛股推荐排行榜| 企业VI设计_LOGO设计公司_品牌商标设计_【北京美研】 | 闪蒸干燥机-喷雾干燥机-带式干燥机-桨叶干燥机-[常州佳一干燥设备] | 硫化罐-电加热蒸汽硫化罐生产厂家-山东鑫泰鑫智能装备有限公司 | 超细粉碎机|超微气流磨|气流分级机|粉体改性设备|超微粉碎设备-山东埃尔派粉碎机厂家 | 上海小程序开发-上海小程序制作公司-上海网站建设-公众号开发运营-软件外包公司-咏熠科技 | 球磨机 选矿球磨机 棒磨机 浮选机 分级机 选矿设备厂家 | 深圳彩钢板_彩钢瓦_岩棉板_夹芯板_防火复合彩钢板_长鑫 | 北京宣传片拍摄_产品宣传片拍摄_宣传片制作公司-现像传媒 | 广东佛电电器有限公司|防雷开关|故障电弧断路器|智能量测断路器 广东西屋电气有限公司-广东西屋电气有限公司 | 低浓度恒温恒湿称量系统,强光光照培养箱-上海三腾仪器有限公司 | 实战IT培训机构_IT培训班选大学生IT技术培训中心_中公优就业 | 合肥白癜风医院_合肥治疗白癜风医院_合肥看白癜风医院哪家好_合肥华研白癜风医院 |