成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

分析DB2 9.5中的鎖定超時(shí)原因

數(shù)據(jù)庫(kù)
在 DB29.5數(shù)據(jù)庫(kù)中,分析鎖定超時(shí)的方法得到了相當(dāng)大的改進(jìn),鎖定超時(shí)分析也變得十分簡(jiǎn)單。本文探索這些全新的鎖定超時(shí)報(bào)告功能,并檢查收集的附加信息以確定發(fā)生鎖定超時(shí)的原因。

DB29.5中,分析鎖定超時(shí)的方法得到了極大改進(jìn),鎖定超時(shí)分析變得更加簡(jiǎn)單。本文主要是探索這些全新的鎖定超時(shí)報(bào)告功能,并檢查收集的附加信息以確定發(fā)生鎖定超時(shí)的具體原因。

 

回顧DB2 9.1中的鎖定超時(shí)分析

使用db2pd工具和db2cos腳本進(jìn)行鎖定超時(shí)分析的方法包含以下幾步:

1.使用一個(gè)特殊的DB2腳本 — 名為 db2cos — 在每次調(diào)用db2cos腳本時(shí)執(zhí)行一個(gè)db2pd調(diào)用。db2pd 調(diào)用收集與鎖定、事務(wù)、應(yīng)用程序、語句緩存相關(guān)的信息,并將信息存儲(chǔ)在一個(gè)文本文件中以供分析。

2.要在鎖定超時(shí)發(fā)生時(shí)自動(dòng)執(zhí)行 db2cos 腳本(以及包含的 db2pd 命令,需要使用 db2pdcfg 命令注冊(cè)鎖定超時(shí)事件。

3.在鎖定超時(shí)事件中,DBA 可以檢查通過自動(dòng)調(diào)用 db2cos 腳本生成的 db2pd 輸出。這使 DBA 能夠確定發(fā)生鎖定爭(zhēng)用的原因,從而設(shè)法在以后避免發(fā)生這類情形。

盡管其中介紹的方法提供了大量信息,使得鎖定超時(shí)分析比以前的 DB2 9 for Linux, Unix, and Windows 版本更加簡(jiǎn)單,但它仍然存在一些不足:

◆使用此方法需要手動(dòng)改寫 db2cos 腳本并通過調(diào)用 db2pdcfg 來注冊(cè)鎖定超時(shí)事件。兩個(gè)步驟都不復(fù)雜,但是對(duì)于新手來說可能有些困難。

◆解釋 db2pd 輸出以識(shí)別鎖定超時(shí)情形中涉及的應(yīng)用程序和 SQL 語句,這個(gè)任務(wù)并不容易,而且需要一些嘗試。

◆如果鎖定超時(shí)是由包含多個(gè) SQL 命令的事務(wù)引起的,那么 db2pd 收集的信息可能還不足以確定導(dǎo)致鎖定的 SQL 語句。

DB2 9.5 中全新的鎖定超時(shí)報(bào)告功能

在 DB2 9.5 的鎖定超時(shí)報(bào)告功能中,引入了一個(gè)新特性,使得鎖定超時(shí)分析變得非常簡(jiǎn)單。要激活鎖定超時(shí)報(bào)告,只需將 DB2 注冊(cè)變量 DB2_CAPTURE_LOCKTIMEOUT 設(shè)置為 ON,并重新啟動(dòng)您的 DB2 實(shí)例:

清單 1. 激活 DB2 9.5 中的鎖定超時(shí)報(bào)告

  1. db2set DB2_CAPTURE_LOCKTIMEOUT=ON   
  2. db2stop   
  3. db2start  

是的,就是這么簡(jiǎn)單。當(dāng) DB2_CAPTURE_LOCKTIMEOUT 設(shè)置為 ON 時(shí),DB2 為每個(gè)鎖定超時(shí)事件自動(dòng)創(chuàng)建一個(gè)報(bào)告文件。報(bào)告文件保存在 DIAGPATH 數(shù)據(jù)庫(kù)管理員配置(DBM CFG)參數(shù)指向的目錄中,包含的信息有:鎖定超時(shí)的日期和時(shí)間、存在問題的鎖定、鎖定請(qǐng)求程序和鎖定擁有者。

 

那么 DB2 9.5 中就不使用 db2cos 腳本了嗎?事實(shí)并非如此。將 db2cos 腳本和 db2pd 工具結(jié)合具有非常廣泛的用途。這意味著,這些工具組合仍然可用于捕捉與 SQL 代碼和 DB2 內(nèi)部返回代碼相關(guān)的任何 DB2 事件信息,而不僅僅是鎖定超時(shí)信息。

現(xiàn)在看看新的 DB2 9.5 注冊(cè)變量 DB2_CAPTURE_LOCKTIMEOUT 并查看一個(gè)使用 DB2 SAMPLE 數(shù)據(jù)庫(kù)的鎖定超時(shí)示例場(chǎng)景。如果 SAMPLE 數(shù)據(jù)庫(kù)不存在,可以調(diào)用下面的命令創(chuàng)建一個(gè):

分析DB2 9.5中的鎖定超時(shí)原因

作者: kaduo,  出處:IT專家網(wǎng)論壇, 責(zé)任編輯: 陳子琪, 2009-05-20 07:00

 

在 DB29.5中,分析鎖定超時(shí)的方法得到了極大改進(jìn),鎖定超時(shí)分析變得更加簡(jiǎn)單。本文探索這些全新的鎖定超時(shí)報(bào)告功能,并檢查收集的附加信息以確定發(fā)生鎖定超時(shí)的原因。

 

在 DB29.5中,分析鎖定超時(shí)的方法得到了極大改進(jìn),鎖定超時(shí)分析變得更加簡(jiǎn)單。本文探索這些全新的鎖定超時(shí)報(bào)告功能,并檢查收集的附加信息以確定發(fā)生鎖定超時(shí)的原因。

 

回顧DB2 9.1中的鎖定超時(shí)分析

使用db2pd工具和db2cos腳本進(jìn)行鎖定超時(shí)分析的方法包含以下幾步:

1.使用一個(gè)特殊的DB2腳本 — 名為 db2cos — 在每次調(diào)用db2cos腳本時(shí)執(zhí)行一個(gè)db2pd調(diào)用。db2pd 調(diào)用收集與鎖定、事務(wù)、應(yīng)用程序、語句緩存相關(guān)的信息,并將信息存儲(chǔ)在一個(gè)文本文件中以供分析。

2.要在鎖定超時(shí)發(fā)生時(shí)自動(dòng)執(zhí)行 db2cos 腳本(以及包含的 db2pd 命令,需要使用 db2pdcfg 命令注冊(cè)鎖定超時(shí)事件。

3.在鎖定超時(shí)事件中,DBA 可以檢查通過自動(dòng)調(diào)用 db2cos 腳本生成的 db2pd 輸出。這使 DBA 能夠確定發(fā)生鎖定爭(zhēng)用的原因,從而設(shè)法在以后避免發(fā)生這類情形。

盡管其中介紹的方法提供了大量信息,使得鎖定超時(shí)分析比以前的 DB2 9 for Linux, Unix, and Windows 版本更加簡(jiǎn)單,但它仍然存在一些不足:

◆使用此方法需要手動(dòng)改寫 db2cos 腳本并通過調(diào)用 db2pdcfg 來注冊(cè)鎖定超時(shí)事件。兩個(gè)步驟都不復(fù)雜,但是對(duì)于新手來說可能有些困難。

◆解釋 db2pd 輸出以識(shí)別鎖定超時(shí)情形中涉及的應(yīng)用程序和 SQL 語句,這個(gè)任務(wù)并不容易,而且需要一些嘗試。

◆如果鎖定超時(shí)是由包含多個(gè) SQL 命令的事務(wù)引起的,那么 db2pd 收集的信息可能還不足以確定導(dǎo)致鎖定的 SQL 語句。

DB2 9.5 中全新的鎖定超時(shí)報(bào)告功能

在 DB2 9.5 的鎖定超時(shí)報(bào)告功能中,引入了一個(gè)新特性,使得鎖定超時(shí)分析變得非常簡(jiǎn)單。要激活鎖定超時(shí)報(bào)告,只需將 DB2 注冊(cè)變量 DB2_CAPTURE_LOCKTIMEOUT 設(shè)置為 ON,并重新啟動(dòng)您的 DB2 實(shí)例:

清單 1. 激活 DB2 9.5 中的鎖定超時(shí)報(bào)告

  1. db2set DB2_CAPTURE_LOCKTIMEOUT=ON   
  2. db2stop   
  3. db2start  

是的,就是這么簡(jiǎn)單。當(dāng) DB2_CAPTURE_LOCKTIMEOUT 設(shè)置為 ON 時(shí),DB2 為每個(gè)鎖定超時(shí)事件自動(dòng)創(chuàng)建一個(gè)報(bào)告文件。報(bào)告文件保存在 DIAGPATH 數(shù)據(jù)庫(kù)管理員配置(DBM CFG)參數(shù)指向的目錄中,包含的信息有:鎖定超時(shí)的日期和時(shí)間、存在問題的鎖定、鎖定請(qǐng)求程序和鎖定擁有者。

 

那么 DB2 9.5 中就不使用 db2cos 腳本了嗎?事實(shí)并非如此。將 db2cos 腳本和 db2pd 工具結(jié)合具有非常廣泛的用途。這意味著,這些工具組合仍然可用于捕捉與 SQL 代碼和 DB2 內(nèi)部返回代碼相關(guān)的任何 DB2 事件信息,而不僅僅是鎖定超時(shí)信息。

現(xiàn)在看看新的 DB2 9.5 注冊(cè)變量 DB2_CAPTURE_LOCKTIMEOUT 并查看一個(gè)使用 DB2 SAMPLE 數(shù)據(jù)庫(kù)的鎖定超時(shí)示例場(chǎng)景。如果 SAMPLE 數(shù)據(jù)庫(kù)不存在,可以調(diào)用下面的命令創(chuàng)建一個(gè):#p#

清單6. 鎖定超時(shí)報(bào)告

  1. LOCK TIMEOUT REPORT   
  2. Date: 03/01/2008   
  3. Time: 07:34:31   
  4. Instance: DB2   
  5. Database: SAMPLE   
  6. Database Partition: 0   
  7. Lock Information:   
  8. Lock Name: 02000600040040010000000052   
  9. Lock Type: Row   
  10. Lock Specifics: Tablespace ID=2, Table ID=6, Row ID=x0400400100000000   
  11. Lock Requestor:   
  12. System Auth ID: FECHNER   
  13. Application Handle: [0-38]   
  14. Application ID: *LOCAL.DB2.080103063343   
  15. Application Name: db2bp.exe   
  16. Requesting Agent ID: 5232   
  17. Coordinator Agent ID: 5232   
  18. Coordinator Partition: 0   
  19. Lock timeout Value: 10000 milliseconds   
  20. Lock mode requested: ..U   
  21. Application Status: (SQLM_UOWEXEC)   
  22. Current Operation: (SQLM_EXECUTE_IMMEDIATE)   
  23. Lock Escalation: No   
  24. Context of Lock Request:   
  25. Identification: UOW ID (1); Activity ID (1)   
  26. Activity Information:   
  27. Package Schema: (NULLID )   
  28. Package Name: (SQLC2G13NULLID )   
  29. Package Version: ()   
  30. Section Entry Number: 203   
  31. SQL Type: Dynamic   
  32. Statement Type: DML, Insert/Update/Delete   
  33. Effective Isolation: Cursor Stability   
  34. Statement Unicode Flag: No   
  35. Statement: UPDATE EMPLOYEE SET BONUS = SALARY * 0.1   
  36. WHERE JOB = 'MANAGER'   
  37. Lock Owner (Representative):   
  38. System Auth ID: FECHNER   
  39. Application Handle: [0-33]   
  40. Application ID: *LOCAL.DB2.080103063332   
  41. Application Name: db2bp.exe   
  42. Requesting Agent ID: 5488   
  43. Coordinator Agent ID: 5488   
  44. Coordinator Partition: 0   
  45. Lock mode held: ..X   
  46. List of Active SQL Statements: Not available   
  47. List of Inactive SQL Statements from current UOW: Not available  

清單6. 鎖定超時(shí)報(bào)告

  1. LOCK TIMEOUT REPORT   
  2. Date: 03/01/2008   
  3. Time: 07:34:31   
  4. Instance: DB2   
  5. Database: SAMPLE   
  6. Database Partition: 0   
  7. Lock Information:   
  8. Lock Name: 02000600040040010000000052   
  9. Lock Type: Row   
  10. Lock Specifics: Tablespace ID=2, Table ID=6, Row ID=x0400400100000000   
  11. Lock Requestor:   
  12. System Auth ID: FECHNER   
  13. Application Handle: [0-38]   
  14. Application ID: *LOCAL.DB2.080103063343   
  15. Application Name: db2bp.exe   
  16. Requesting Agent ID: 5232   
  17. Coordinator Agent ID: 5232   
  18. Coordinator Partition: 0   
  19. Lock timeout Value: 10000 milliseconds   
  20. Lock mode requested: ..U   
  21. Application Status: (SQLM_UOWEXEC)   
  22. Current Operation: (SQLM_EXECUTE_IMMEDIATE)   
  23. Lock Escalation: No   
  24. Context of Lock Request:   
  25. Identification: UOW ID (1); Activity ID (1)   
  26. Activity Information:   
  27. Package Schema: (NULLID )   
  28. Package Name: (SQLC2G13NULLID )   
  29. Package Version: ()   
  30. Section Entry Number: 203   
  31. SQL Type: Dynamic   
  32. Statement Type: DML, Insert/Update/Delete   
  33. Effective Isolation: Cursor Stability   
  34. Statement Unicode Flag: No   
  35. Statement: UPDATE EMPLOYEE SET BONUS = SALARY * 0.1   
  36. WHERE JOB = 'MANAGER'   
  37. Lock Owner (Representative):   
  38. System Auth ID: FECHNER   
  39. Application Handle: [0-33]   
  40. Application ID: *LOCAL.DB2.080103063332   
  41. Application Name: db2bp.exe   
  42. Requesting Agent ID: 5488   
  43. Coordinator Agent ID: 5488   
  44. Coordinator Partition: 0   
  45. Lock mode held: ..X   
  46. List of Active SQL Statements: Not available   
  47. List of Inactive SQL Statements from current UOW: Not available  

 清單9. 包含 SQL 語句歷史信息的鎖定超時(shí)報(bào)告

  1. LOCK TIMEOUT REPORT   
  2. Date: 03/01/2008   
  3. Time: 15:10:13   
  4. Instance: DB2   
  5. Database: SAMPLE   
  6. Database Partition: 0   
  7. Lock Information:   
  8. Lock Name: 02000600040040010000000052   
  9. Lock Type: Row   
  10. Lock Specifics: Tablespace ID=2, Table ID=6, Row ID=x0400400100000000   
  11. Lock Requestor:   
  12. System Auth ID: FECHNER   
  13. Application Handle: [0-202]   
  14. Application ID: *LOCAL.DB2.080103140934   
  15. Application Name: db2bp.exe   
  16. Requesting Agent ID: 2356   
  17. Coordinator Agent ID: 2356   
  18. Coordinator Partition: 0   
  19. Lock timeout Value: 10000 milliseconds   
  20. Lock mode requested: ..U   
  21. Application Status: (SQLM_UOWEXEC)   
  22. Current Operation: (SQLM_EXECUTE_IMMEDIATE)   
  23. Lock Escalation: No   
  24. Context of Lock Request:   
  25. Identification: UOW ID (1); Activity ID (1)   
  26. Activity Information:   
  27. Package Schema: (NULLID )   
  28. Package Name: (SQLC2G13NULLID )   
  29. Package Version: ()   
  30. Section Entry Number: 203   
  31. SQL Type: Dynamic   
  32. Statement Type: DML, Insert/Update/Delete   
  33. Effective Isolation: Cursor Stability   
  34. Statement Unicode Flag: No   
  35. Statement: UPDATE EMPLOYEE SET BONUS = SALARY * 0.1   
  36. WHERE JOB = 'MANAGER'   
  37. Lock Owner (Representative):   
  38. System Auth ID: FECHNER   
  39. Application Handle: [0-188]   
  40. Application ID: *LOCAL.DB2.080103140511   
  41. Application Name: db2bp.exe   
  42. Requesting Agent ID: 5488   
  43. Coordinator Agent ID: 5488   
  44. Coordinator Partition: 0   
  45. Lock mode held: ..X   
  46. List of Active SQL Statements: Not available   
  47. List of Inactive SQL Statements from current UOW:   
  48. Entry: #1   
  49. Identification: UOW ID (6); Activity ID (2)   
  50. Package Schema: (NULLID )   
  51. Package Name: (SQLC2G13)   
  52. Package Version: ()   
  53. Section Entry Number: 201   
  54. SQL Type: Dynamic   
  55. Statement Type: DML, Select (blockable)   
  56. Effective Isolation: Cursor Stability   
  57. Statement Unicode Flag: No   
  58. Statement: SELECT LASTNAME, FIRSTNME, SALARY FROM EMPLOYEE   
  59. ORDER BY LASTNAME ASC   
  60. Entry: #2   
  61. Identification: UOW ID (6); Activity ID (1)   
  62. Package Schema: (NULLID )   
  63. Package Name: (SQLC2G13)   
  64. Package Version: ()   
  65. Section Entry Number: 203   
  66. SQL Type: Dynamic   
  67. Statement Type: DML, Insert/Update/Delete   
  68. Effective Isolation: Cursor Stability   
  69. Statement Unicode Flag: No   
  70. Statement: UPDATE EMPLOYEE SET SALARYSALARY = SALARY * 1.02  

這個(gè)鎖定超時(shí)報(bào)告的開始部分與前面看到的相同。但是,這次的 Lock Owner 部分包含額外的、有價(jià)值的信息。在標(biāo)題 List of Inactive SQL Statements from current UOW 下邊,可以看到在發(fā)生鎖定超時(shí)之前鎖持有者的事務(wù)執(zhí)行的所有 SQL 語句。從這組 SQL 語句中,可以找到導(dǎo)致問題鎖定的語句。在這個(gè)場(chǎng)景中,使用 UPDATE 語句增加每個(gè)員工的工資。

 

注意,這個(gè)功能是對(duì)結(jié)合使用 db2cos 和 db2pd 方法的一個(gè)重大改進(jìn)。使用 db2cos 與 db2pd 相結(jié)合的方法,只能看到鎖持有者的應(yīng)用程序執(zhí)行的***一條語句 — 在這個(gè)場(chǎng)景中是對(duì) EMPLOYEE 表的查詢。但是由于查詢并沒有導(dǎo)致出現(xiàn)問題的獨(dú)占鎖,您仍然不知道是哪條語句導(dǎo)致了鎖定。使用新方法 — DB2_CAPTURE_LOCKTIMEOUT 和死鎖事件監(jiān)視器 — 您擁有在鎖擁有者的事務(wù)中執(zhí)行的所有 SQL 語句的歷史信息,這就可以將 UPDATE 確定為相關(guān)的語句。

使用鎖定超時(shí)報(bào)告的提示

帶有語句歷史功能的死鎖事件監(jiān)視器適用于所有應(yīng)用程序,會(huì)增加 DB2 數(shù)據(jù)庫(kù)管理程序?qū)ΡO(jiān)視器堆的大量使用。所以應(yīng)該謹(jǐn)慎使用。您應(yīng)該始終首先設(shè)置 DB2_CAPTURE_LOCKTIMEOUT=ON,然后只在必要的時(shí)候使用 DETAILS HISTORY 選項(xiàng)激活死鎖事件監(jiān)視器。

使用鎖定超時(shí)報(bào)告時(shí),您可能會(huì)注意到,DIAGPATH 中的鎖定超時(shí)報(bào)告文件的數(shù)量在持續(xù)增加。DB2 不會(huì)刪除這些報(bào)告文件,所以 DBA 需要?jiǎng)h除它們或者將它們移動(dòng)到不同的位置,以便在 DIAGPATH 的文件系統(tǒng)上始終有足夠的空間。

即使擁有了鎖定超時(shí)報(bào)告功能,也不是總能夠輕松確定出導(dǎo)致鎖定超時(shí)的原因。例如,如果鎖定超時(shí)由靜態(tài) SQL 或 DB2 內(nèi)部鎖定引起時(shí),就沒有那么容易確定原因。DB2 9.5 文檔的 Lock timeout reporting 一章提供了這些局限性的一個(gè)簡(jiǎn)短列表(參見下面的 參考資料)。但是,DB2 9.5 中的鎖定超時(shí)報(bào)告絕對(duì)是一個(gè)許多 DBA 期待已久的功能,而且將大大簡(jiǎn)化對(duì)鎖定超時(shí)的分析。
以上的相關(guān)內(nèi)容就是對(duì)分析DB2 9.5中的鎖定超時(shí)原因的介紹,望你能有所收獲。

【編輯推薦】

  1. DB2數(shù)據(jù)庫(kù)從Excel中讀取數(shù)據(jù)舉例
  2. DB2數(shù)據(jù)庫(kù)雙機(jī)的安裝方法介紹
  3. DB2數(shù)據(jù)庫(kù)開發(fā)常見問題解答
  4. DB2數(shù)據(jù)庫(kù)的安裝目錄結(jié)構(gòu)介紹
  5. shell抽取db2數(shù)據(jù)庫(kù)數(shù)據(jù)的方法示例
責(zé)任編輯:佚名 來源: w3school.com.cn
相關(guān)推薦

2010-08-27 11:39:19

DB2鎖定新特性

2009-03-10 10:31:26

DB2XMLpureXML

2010-09-01 09:40:33

DB2函數(shù)OLAP

2010-07-30 11:01:55

2010-08-05 09:03:27

DB2 9.5高可用性

2010-08-06 15:14:03

DB2 V9.5 新特

2010-08-05 16:08:12

輕松掌握DB2 9.5

2010-07-28 10:22:44

DB2 9.5

2009-03-11 14:59:17

數(shù)據(jù)庫(kù)DB2數(shù)據(jù)庫(kù)分區(qū)

2010-08-10 15:30:21

2010-11-03 15:35:27

DB2修改表

2010-11-02 16:25:55

DB2鎖機(jī)制

2010-09-07 10:36:56

DB2數(shù)據(jù)庫(kù)

2009-06-04 17:53:24

DB2數(shù)據(jù)庫(kù)單個(gè)會(huì)話鎖定LOCKTIMEOUT

2010-11-01 13:45:16

DB2數(shù)據(jù)庫(kù)的優(yōu)勢(shì)

2011-05-13 10:32:54

DB2數(shù)據(jù)庫(kù)

2010-08-02 14:50:41

DB2數(shù)據(jù)庫(kù)

2010-08-20 11:28:45

DB2 -964問題

2010-08-03 16:54:10

DB2 9.5

2011-05-27 14:28:33

DB2
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 久久久久久黄 | 最新国产在线 | 国产精品久久久久久久久久 | 中文字幕视频在线看5 | 日本二区在线观看 | 国产精品久久久久久婷婷天堂 | 日本午夜精品一区二区三区 | av网站免费在线观看 | 天天搞天天操 | 国产福利在线 | 国产一级久久久久 | 免费不卡视频 | 免费看国产片在线观看 | 日韩成人精品在线 | 欧美国产日韩在线观看 | 国产精品自产av一区二区三区 | 久久免费视频2 | 日韩在线观看一区 | 久久国 | 最新免费视频 | 欧美日本免费 | 99久久久久久 | 亚洲精品久久久久久宅男 | 91视频在线观看 | 国产精品有限公司 | 中文字幕乱码一区二区三区 | 好婷婷网| 精品久久久网站 | 欧美一级大黄 | 热久久性 | 日韩二区 | 精品国产一区探花在线观看 | av在线播放网站 | 亚洲www啪成人一区二区 | 欧美aa在线 | 性色av一区二区三区 | 亚洲高清一区二区三区 | 色综合久久久久 | 亚洲成人av | 中文在线视频 | 亚洲国产成人av |