• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            當(dāng)多個(gè) DB2® 用戶并發(fā)地訪問(wèn)一個(gè)數(shù)據(jù)庫(kù)時(shí),鎖等待會(huì)導(dǎo)致響應(yīng)變慢。鎖等待是臨時(shí)性的,因而難以捕捉。然而,當(dāng)出現(xiàn)鎖等待情形時(shí),需要由數(shù)據(jù)庫(kù)管理員負(fù)責(zé)確定鎖等待的原因。本文通過(guò)例子演示如何使用用于 DB2 for Linux®, UNIX®, and Windows® 的 db2pd 和 db2pdcfg 實(shí)用程序完成該任務(wù)。
            用于鎖監(jiān)視的 db2pd 選項(xiàng)

            db2pd 是用于監(jiān)視各種 DB2 數(shù)據(jù)庫(kù)活動(dòng)以及故障排除的實(shí)用程序。它是從 DB2 V8.2 開始隨 DB2 引擎發(fā)布的一個(gè)獨(dú)立的實(shí)用程序,其外觀和功能類似于 Informix onstat 實(shí)用程序。db2pd 是從命令行以一種可選的交互模式執(zhí)行的。該實(shí)用程序運(yùn)行得非常快,因?yàn)樗恍枰@取任何鎖,并且在引擎資源以外運(yùn)行(這意味著它甚至能在一個(gè)掛起的引擎上工作)。通過(guò)快照監(jiān)視還可以收集 db2pd 提供的很多監(jiān)視器數(shù)據(jù),但是 db2pd 和快照監(jiān)視的輸出格式卻有很大不同。這使 DBA 可以選擇更符合用戶需求的監(jiān)視替代方法。本文關(guān)注用于鎖監(jiān)視的 db2pd 選項(xiàng)。有一篇由 Sam Poon 撰寫的 developerWorks 文章(參見 參考資料 小節(jié))對(duì) db2pd 的監(jiān)視功能作了更廣泛的介紹。

            下面的圖展示了用于鎖監(jiān)視的 db2pd 選項(xiàng):


            圖 1. 用于鎖監(jiān)視的 db2pd 選項(xiàng)
             

            TranHdl:用于指定事務(wù)句柄,以便只監(jiān)視由特定事務(wù)持有的鎖。
            showlocks:這個(gè)子選項(xiàng)將鎖名稱擴(kuò)展成有意義的解釋。對(duì)于一個(gè)行鎖,該選項(xiàng)顯示以下信息:表空間 ID、表 ID、分區(qū) ID、頁(yè)和槽。通過(guò)使用編目視圖 SYSCAT.TABLES 上的一個(gè)查詢,很容易將表空間 ID 和表 ID 映射到相應(yīng)的表名:

            清單 1. 將表空間 ID、表 ID 映射到表模式、表名
                                    SELECT TABSCHEMA, TABNAMEFROM SYSCAT.TABLESWHERE TBSPACEID = tbspaceid AND TABLEID = tableid          


            wait:如果指定 wait 子選項(xiàng),則 db2pd 只顯示事務(wù)當(dāng)前正在等待的鎖,以及對(duì)等待情形負(fù)責(zé)的鎖。這個(gè)子選項(xiàng)大大簡(jiǎn)化了鎖等待分析,因?yàn)樗鼘⑤敵鱿拗茷閰⑴c鎖等待情形的鎖。
            db2pd database 和 file 選項(xiàng)不是特定于鎖監(jiān)視的,但是適用于(幾乎)所有 db2pd 調(diào)用。database 選項(xiàng)將 db2pd 返回的監(jiān)視器數(shù)據(jù)限制為某個(gè)數(shù)據(jù)庫(kù)的監(jiān)視器數(shù)據(jù)。而 file 選項(xiàng)則允許定義一個(gè)文件,以便將 db2pd 輸出寫到該文件。
            鎖等待分析場(chǎng)景

            接下來(lái),我們開始使用前面介紹的 db2pd 選項(xiàng)來(lái)分析一個(gè)示例鎖等待情形。為此,我們創(chuàng)建 DB2 SAMPLE 數(shù)據(jù)庫(kù):


            清單 2. 創(chuàng)建 SAMPLE 數(shù)據(jù)庫(kù)
                            db2sampl      


            用戶 A 執(zhí)行事務(wù) A,以根據(jù)每個(gè)經(jīng)理的薪水為他們提供 10% 的獎(jiǎng)金:


            清單 3. 事務(wù) A 執(zhí)行的更新操作
                            UPDATE EMPLOYEESET BONUS = SALARY * 0.1WHERE JOB = 'MANAGER'      


            當(dāng)事務(wù) A 仍然在運(yùn)行(因?yàn)橛脩?A 還沒(méi)有使用 COMMIT 或 ROLLBACK 終止該事務(wù))時(shí),用戶 B 執(zhí)行事務(wù) B,以將每個(gè)雇員的薪水提高 2%:


            清單 4. 事務(wù) B 執(zhí)行的更新操作
                            UPDATE EMPLOYEESET SALARY = SALARY * 0.02      


            由于事務(wù) B 沒(méi)有完成,用戶 B 請(qǐng)求 DBA 確定問(wèn)題的原因。于是,DBA 調(diào)用 db2pd,看是否存在鎖等待情形:


            清單 5. 檢查鎖等待情形
                            db2pd -db sample -locks wait showlocksDatabase Partition 0 -- Database SAMPLE -- Active -- Up 3 days 08:33:05Locks:Address    TranHdl    Lockname                   Type       Mode Sts Owner      Dur 0x050A0240 6          02000600050040010000000052 Row        ..X  W   2          1   0x050A0DB0 2          02000600050040010000000052 Row        ..X  G   2          1   HoldCount  Att  ReleaseFlg0          0x00 0x40000000   TbspaceID 2  TableID 6  PartitionID 0 Page 320 Slot 50          0x00 0x40000000   TbspaceID 2  TableID 6  PartitionID 0 Page 320 Slot 5      


            db2pd 報(bào)告 ID 為 2 的表空間中一個(gè) ID 為 6 的表上有一個(gè)行鎖存在鎖等待情形。通過(guò)檢查 SYSCAT.TABLES,DBA 斷定表 EMPLOYEE 上的確存在鎖等待。


            清單 6. 確定鎖等待情形所涉及的表

             

             

            本文轉(zhuǎn)自IBM Developerworks中國(guó)

             

            本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/ibmjournal/archive/2008/10/07/3028834.aspx

            97久久精品午夜一区二区| 色婷婷综合久久久久中文一区二区| 久久精品夜夜夜夜夜久久| 久久国产精品-久久精品| 久久精品亚洲一区二区三区浴池| 欧美亚洲色综久久精品国产| 精品久久久久久亚洲精品| 精品久久一区二区三区| 99精品国产99久久久久久97| 精品免费tv久久久久久久| 人人狠狠综合久久88成人| 久久精品视屏| 无码精品久久一区二区三区| 久久99中文字幕久久| 久久精品人人做人人爽97 | 久久久九九有精品国产| 亚洲狠狠婷婷综合久久久久| 香蕉久久夜色精品国产2020| 久久国产成人亚洲精品影院 | 99999久久久久久亚洲| 亚洲人成电影网站久久| 久久亚洲中文字幕精品一区| 久久这里的只有是精品23| 久久久久亚洲AV片无码下载蜜桃| 亚洲精品无码久久久| 久久久噜噜噜www成人网| 东京热TOKYO综合久久精品| 久久精品无码专区免费青青| 久久成人精品视频| 伊人久久大香线蕉综合Av| 一本色道久久88加勒比—综合| 久久精品国产99久久丝袜| 久久精品天天中文字幕人妻| 国产农村妇女毛片精品久久| 国产毛片欧美毛片久久久 | 日韩精品久久无码人妻中文字幕| 免费观看成人久久网免费观看| 久久亚洲sm情趣捆绑调教| 国产午夜精品久久久久九九电影 | 久久777国产线看观看精品| 久久婷婷色综合一区二区|