WEB开发网
开发学院数据库DB2 分析 DB2 for Linux, UNIX, and Windows 中的锁等... 阅读

分析 DB2 for Linux, UNIX, and Windows 中的锁等待情形

 2008-10-07 16:16:32 来源:WEB开发网   
核心提示: db2diag.log 报告中也包括错误捕捉设置,可以使用 db2diag 实用程序(用于检查 db2diag.log 内容的一个有用的实用程序)过滤 db2diag.log 文件,分析 DB2 for Linux, UNIX, and Windows 中的锁等待情形(9),而不必在一个文

db2diag.log 报告中也包括错误捕捉设置。可以使用 db2diag 实用程序(用于检查 db2diag.log 内容的一个有用的实用程序)过滤 db2diag.log 文件,而不必在一个文本编辑器中打开它:

清单 18. 在 db2diag.log 中确认错误捕捉设置

db2diag -g funcname:=pdErrorCatch
2006-12-18-13.37.25.177000+060 I727480H285    LEVEL: Event
PID   : 4648         TID : 3948    PROC : db2syscs.exe
INSTANCE: DB2         NODE : 000
FUNCTION: DB2 UDB, RAS/PD component, pdErrorCatch, probe:30
START  : Error catch set for ZRC -2146435004

ZRC -2146435004 是用于锁超时的 DB2 内部错误码。可以通过下面的 db2diag 调用查看这些错误码:

清单 19. 使用 db2diag 查看 DB2 内部错误码的含义

db2diag -rc -2146435004

通过使用 db2pdcfg,数据库引擎现在被配置为每当出现锁超时时调用 db2cos 脚本。db2cos 脚本收集判别锁超时原因所需的所有监视器信息。为此,DBA 必须修改 db2cos 脚本,以便用已知的选项调用 db2pd。可以在下面的子目录中找到 db2cos 脚本:

Windows:DB2 install directoryBINdb2cos.bat,例如 C:Program FilesIBMSQLLIBBINdb2cos.bat

UNIX/Linux:Instance owner home/sqllib/bin/db2cos

在 Microsoft Windows® 上,默认的 db2cos.bat 脚本看上去如下所示:

清单 20. Windows 上默认 db2cos.bat 的内容

setlocal
:iterargs
if %0. == . goto iterdone
  if /i %0. == INSTANCE. set INSTANCE=%1
  if /i %0. == DATABASE. set DATABASE=%1
  if /i %0. == TIMESTAMP. set TIMESTAMP=%1
  if /i %0. == APPID. set APPID=%1
  if /i %0. == PID. set PID=%1
  if /i %0. == TID. set TID=%1
  if /i %0. == DBPART. set DBPART=%1
  if /i %0. == PROBE. set PROBE=%1
  if /i %0. == FUNCTION. set FUNCTION=%1
  if /i %0. == REASON. set REASON=%1
  if /i %0. == DESCRIPTION. set DESCRIPTION=%1
  if /i %0. == DiAGPATH. set DIAGPATH=%1
  shift
goto iterargs
:iterdone
if %DATABASE%. == . goto no_database
  db2pd -db %DATABASE% -inst >> %DIAGPATH%db2cos%PID%%TID%.%DBPART%
  goto exit
:no_database
  db2pd -inst >> %DIAGPATH%db2cos%PID%%TID%.%DBPART%
:exit

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

Tags:分析 DB for

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