DB2快照:
1、查看和更改快照参数:
db2=>db2 get monitor switches
监视器记录开关
数据库分区号 0 的开关列表
缓冲池活动信息 (BUFFERPOOL) = ON 2013-10-14 00:00:30.477037
锁定信息 (LOCK) = ON 2013-10-14 00:00:30.477037
排序信息 (SORT) = ON 2013-10-14 00:00:30.477037
SQL 语句信息 (STATEMENT) = ON 2013-10-14 00:00:30.477037
表活动信息 (TABLE) = ON 2013-10-14 00:00:30.477037
获取时间戳记信息(时间戳记) = ON 2013-10-14 00:00:30.477037
工作单元信息 (UOW) = ON 2013-10-14 00:00:30.477037
输出中将包含以下参数:
监控开关 数据库管理器参数 注释
DFT_MON_BUFPOOL BUFFERPOOL 缓冲区的读写情况和发生时间
DFT_MON_LOCK LOCK 锁持有,锁等待,以及死锁的发生情况
DFT_MON_SORT SORT Heap的使用情况,排序性能
DFT_MON_STMT STATEMENT 语句起始时间,语句内容
DFT_MON_TABLE TABLE Measure of activity (rows read/written)
DFT_MON_UOW UOW Start/end times, completion status
DFT_MON_TIMESTAMP TIMESTAMP Timestamps
为了观察快照中的锁和执行语句情况,一般把LOCK和STATEMENT选项设为ON,也可以酌情把其他开关打开,示例如下:
db2=>db2 update monitor switches using lock on statement on
2、查看快照信息
---查看数据库管理器级别快照信息
db2=>db2 get snapshot for dbm
db2 get snapshot for database on dbname
------查看应用级别快照信息
db2 get snapshot for application agentid appl-handler(application_id) ---注:appl-handler可以从list applicaitions的输出中得到
-------查看表级别快照信息
db2 get snapshot for tables on dbname ----注:需要把tables快照开关设为ON才会有作用
----查看动态sql语句快照信息
db2 get snapshot for dynamic sql on dbname
------查看锁快照信息
db2 get snapshot for locks for application agentid appl-handler
方法一:
--打开监控
db2 update monitorswitches using lock on
--查看锁表
db2 get snapshot for locks on 数据库名称
Lock Name = 0x030039020DFF11000000000052
Lock Attributes = 0x00000000
Release Flags = 0x00000004
Lock Count = 1
Hold Count = 0
LockObject Name = 1163533 #被锁对象名称
ObjectType = Row #被锁对象类型
TablespaceName = tbs_data #被锁对象所在的表空间
TableSchema = DB2INST1
TableName =t_mytable1 #被锁的表名
Mode = X
List Of Locks #在applicationhandle紧跟后面出现list of locks表明该application handle 锁了表或对象
----停止锁的进程
db2 "force application(handle id)"
方法二:
---查看:进程hander,表名,锁模式
select agent_id,tabname,lock_mode from table(snap_get_lock('dbname'))