当前位置:文档之家› db2 监控命令 汇总

db2 监控命令 汇总

db2 监控命令 汇总
1. 查看和更改与锁相关的主要配置参数。

 db2 get db cfg

在参数列表中寻找DLCHKTIME和LOCKTIMEOUT两个参数。

-DLCHKTIME 单位是毫秒,是DB2检查死锁的间隔时间,假设该值为10000ms,则意味着每隔10秒钟检查一下当前数据库中有无死锁存在,如有死锁,会选择回滚其中的某一个事务,让另外一个事务完成交易。\

-LOCKTIMEOUT单位是秒,是锁等待最长时间,超过该时间仍未获得锁,则返回错误。

 2. 查看当前并发应用

db2 list applications

或db2 list applications show detail

或 db2 list applications for database dbname [ show detail]

3. 查看和更改快照参数

如果在合理设置了DLCHKTIME和LOCKTIMEOUT参数仍然出现锁现象,可以查看快照或者创建事件监控器来分析原因。要采用快照,首先要打开快照开关

db2 get monitor switches

输出中将包含以下参数:

监控开关 数据库管理器参数 注释

BUFFERPOOL DFT_MON_BUFPOOL 缓冲区的读写情况和发生时间

LOCK DFT_MON_LOCK 锁持有,锁等待,以及死锁的发生情况

SORT DFT_MON_SORT Heap的使用情况,排序性能

STATEMENT DFT_MON_STMT 语句起始时间,语句内容

TABLE DFT_MON_TABLE Measure of activity (rows read/written)

UOW DFT_MON_UOW Start/end times, completion status

TIMESTAMP DFT_MON_TIMESTAMP Timestamps

为了观察快照中的锁和执行语句情况,一般把LOCK和STATEMENT选项设为ON,也可以酌情把其他开关打开,示例如下: db2 update monitor switches using lock on statement on

4. 查看快照信息

-查看数据库管理器级别快照信息

db2 get snapshot for dbm

-查看数据库级别快照信息

db2 get snapshot for database on dbname

-查看应用级别快照信息

db2 get snapshot for application agentid appl-handler

注:appl-handler可以从list applicaitions的输出中得到

-查看表级别快照信息

db2 get snapshot for tables on dbname

注:需要把tables快照开关设为ON才会有作用

-查看锁快照信息

db2 get snapshot for locks on dbname 这条命令很有用,可以查看具体有哪些锁。



db2 get snapshot for locks for application agentid appl-handler

-查看动态sql语句快照信息

db2 get snapshot for dynamic sql on dbname

5.使用事件查看器

可以使用时间查看器收集锁事件,SQL语句事件,从而根据事件分析锁原因。

事件类型

使用事件监控器,首先要选定所关注的事件类型,DB2中有很多事件类型,可以用于锁分析的通常会用到以下三种:

DEADLOCKS

DEADLOCKS WITH D

ETAILS

STATEMENTS

步骤:

-创建事件监控器

create event monitor evmname for eventtype write to file ‘directory’

例:create event monitor mymonitor for deadlocks, statements

write to file ‘c:\temp’

-把事件监控器打开

接上例:

set event monitor mymonitor state 1

注:1为打开,0为关闭

事件监控器开始工作,当所有应用断掉连接后,将事件记录下来

-查看事件细节

db2evmon –path ‘c:\temp’




select * from V00_GL_COD
where GL_COD in ('9101','9102')
go
select distinct record_date from T01_FIN_ADDON_REPORT

select * from G_CODElist
where seq =9
go
select UTAAPRNO,UTBCFLNM from t00_BLFMCPUT
go
select distinct AUTH_PDT_FLG from T01_ACCT_DUEBILL

相关主题
文本预览
相关文档 最新文档