WEB开发网
开发学院数据库DB2 DB2 for Linux, UNIX, and Windows 的锁事件,第 ... 阅读

DB2 for Linux, UNIX, and Windows 的锁事件,第 1 部分: 分析 DB2 for Linux, UNIX, and Windows 中的锁等待情形

 2010-08-03 00:00:00 来源:WEB开发网   
核心提示: DB2 9 包含了一种新的机制,用于在数据库出现故障或发生事件时收集监视器数据:db2cos 脚本,DB2 for Linux, UNIX, and Windows 的锁事件,第 1 部分: 分析 DB2 for Linux, UNIX, and Windows 中的锁等待情形(8),为了捕捉锁

DB2 9 包含了一种新的机制,用于在数据库出现故障或发生事件时收集监视器数据:db2cos 脚本。为了捕捉锁超时事件,可以配置数据库,使之每当出现锁超时时启动 db2cos 脚本。在 db2cos 脚本中,和前面讨论的一样,可以以相同的选项调用 db2pd。我们来看一个示例场景,该场景演示了如何用 db2cos 脚本捕捉锁超时。

对于这个场景,假设 DBA 将数据库锁超时值设为 10 秒:

清单 14. 更新锁超时设置

UPDATE DB CFG FOR SAMPLE USING LOCKTIMEOUT 10 

为了每当出现锁超时时启动 db2cos 脚本,DBA 调用 db2pdcfg 实用程序,如下所示:

清单 15. 使用 db2pdcfg 配置 db2cos 脚本的调用

db2pdcfg -catch locktimeout count=1 

-catch 选项指定应该自动导致调用 db2cos 脚本的故障或事件。对于锁超时事件,可以指定字符串 locktimeout。或者,可以指定与锁超时相应的 SQL 错误码和原因码:

清单 16. 用于捕捉锁超时的另一种 db2pdcfg 调用

db2pdcfg -catch 911,68 count=1 

除了一些字符串值和 SQL 代码之外,db2pdcfg 还接受内部 DB2 错误码。所以,用这种方式可以捕捉很多数据库故障和事件。锁超时事件只是使用 db2pdcfg 和 db2cos 的一个例子。

如果 count 子选项的值为 1,则表明当出现锁超时事件时应该执行 db2cos 脚本。

db2pdcfg 通过以下输出确认错误捕捉的设置:

清单 17. db2pdcfg 对错误捕捉设置的确认

Error Catch #1 
  Sqlcode:    0 
  ReasonCode:   0 
  ZRC:      -2146435004 
  ECF:      0 
  Component ID:  0 
  LockName:    Not Set 
  LockType:    Not Set 
  Current Count: 0 
  Max Count:   1 
  Bitmap:     0x4A1 
  Action:     Error code catch flag enabled 
  Action:     Execute sqllib/db2cos callout script 
  Action:     Produce stack trace in db2diag.log 

上一页  3 4 5 6 7 8 9 10  下一页

Tags:DB for Linux

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接