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开发网   
核心提示: 这个 db2pd 调用的输出表明,事务 2(列 TranHdl)是由应用程序 30(列 AppHandl)执行的,DB2 for Linux, UNIX, and Windows 的锁事件,第 1 部分: 分析 DB2 for Linux, UNIX, and Windows 中的锁等待情形(4

这个 db2pd 调用的输出表明,事务 2(列 TranHdl)是由应用程序 30(列 AppHandl)执行的,而事务 6 是由应用程序 34 执行的。这两个事务都正在对数据库执行写更改(列 State = WRITE)。所以 DBA 现在知道,应用程序 30 正持有应用程序 34 所等待的锁。

要获得关于锁等待情形涉及的应用程序的更多信息,可使用 -agents 选项调用 db2pd。该选项打印代表应用程序运行的代理的信息。注意,-agents 是一个实例级选项,这意味着不需要指定一个数据库(实际上,当指定一个数据库时,db2pd 打印出一条警告,并忽略 database 选项)。

清单 8. 获得关于应用程序和相应代理的信息

db2pd -agents 
 
Database Partition 0 -- Active -- Up 3 days 08:35:42 
 
Agents: 
Current agents:   2 
Idle agents:     0 
Active coord agents: 2 
Active agents total: 2 
Pooled coord agents: 0 
Pooled agents total: 0 
 
Address  AppHandl [nod-index] AgentTid  Priority  Type   State 
0x04449BC0 34    [000-00034] 3392    0     Coord  Inst-Active 
0x04449240 30    [000-00030] 2576    0     Coord  Inst-Active 
 
ClientPid Userid  ClientNm Rowsread  Rowswrtn  LkTmOt DBName 
3916    USER_B  db2bp.ex 43     43     NotSet SAMPLE 
2524    USER_A  db2bp.ex 153    14     NotSet SAMPLE 

在 db2pd -agents 输出中,DBA 可以看到使用应用程序 30 和 34 的用户的 ID(列 Userid):应用程序 30 是由 USER_A 执行的,而应用程序 34 是由 USER_B 执行的。只有当每个用户都有一个单独的数据库授权 ID 时,才可能出现那样的应用程序与用户 ID 之间的映射。通常,这对于在应用服务器上运行的应用程序是不可能的,因为这些应用程序使用连接池,连接不是个人化的。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:DB for Linux

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