• <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 還沒有使用 COMMIT 或 ROLLBACK 終止該事務(wù))時(shí),用戶 B 執(zhí)行事務(wù) B,以將每個(gè)雇員的薪水提高 2%:


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


            由于事務(wù) B 沒有完成,用戶 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

            久久久久久久久久久久久久| 一本久久久久久久| 国产99久久久久久免费看 | 国产麻豆精品久久一二三| 久久综合亚洲色HEZYO社区| 色天使久久综合网天天| 超级97碰碰碰碰久久久久最新| 久久91这里精品国产2020| 久久人人爽人人精品视频| 2021国产精品午夜久久| 精品综合久久久久久97| 麻豆亚洲AV永久无码精品久久| 久久久精品久久久久影院| 久久精品国产亚洲AV影院| 欧美日韩精品久久久久| 伊色综合久久之综合久久| 国产激情久久久久久熟女老人| 色欲久久久天天天综合网精品| 久久精品男人影院| 久久99精品久久久久久野外| 少妇久久久久久被弄到高潮| 99精品国产免费久久久久久下载| 婷婷国产天堂久久综合五月| 亚洲精品无码久久久久久| 久久精品国产99国产精偷| 久久久久99精品成人片三人毛片| 国内精品伊人久久久久妇| av无码久久久久久不卡网站| 久久国产福利免费| 婷婷久久久亚洲欧洲日产国码AV| 情人伊人久久综合亚洲| 久久久久波多野结衣高潮| 国产精品久久久久jk制服| 久久黄色视频| 欧洲精品久久久av无码电影| 久久国产美女免费观看精品| 亚洲精品tv久久久久久久久 | 2021最新久久久视精品爱| 国内精品久久人妻互换| 中文字幕无码久久人妻| 国产福利电影一区二区三区久久老子无码午夜伦不 |