命令如下:
=>db2
=>connect to dbname #联机数据库
=>update monitor switches using statement on #打开数据库的语句监控开关
=>create event monitor monname for statements write to file ' /home/db2inst4/smsg' #创建一个语句监控器
=>set event monitor monname state=1 #启动语句监控器
#...
#等待监控一段时间后
=>set event monitor monname state=0 #关闭语句监控器
=>drop event monitor monname #删除监控器,如果下次需要用到,可以不删除,下次直接启用即可。
=>terminate #退出连接
=>db2evmon -path /home/db2inst4/smsg > sqltrace.txt #将监控的信息文件合并到一个txt文件中,即可查看
查看当前已经建立的监控器
=>SELECT NAME FROM SYSIBM.SYSEVENTMONITORS #查看当前的监控器名称
删除当前存在的监控器
=>drop event monitor monname #删除当前的监控器
以上是db2监控的简单示例。这里只是监控 statement,事实上db2还可以监控bufferpool,lock,sort,table,timestamp,uow。通过监控这些信息,可以了解数据库运行的性能消耗详细信息,以便对数据库进行性能优化。
=>db2
=>connect to dbname #联机数据库
=>update monitor switches using statement on #打开数据库的语句监控开关
=>create event monitor monname for statements write to file ' /home/db2inst4/smsg' #创建一个语句监控器
=>set event monitor monname state=1 #启动语句监控器
#...
#等待监控一段时间后
=>set event monitor monname state=0 #关闭语句监控器
=>drop event monitor monname #删除监控器,如果下次需要用到,可以不删除,下次直接启用即可。
=>terminate #退出连接
=>db2evmon -path /home/db2inst4/smsg > sqltrace.txt #将监控的信息文件合并到一个txt文件中,即可查看
查看当前已经建立的监控器
=>SELECT NAME FROM SYSIBM.SYSEVENTMONITORS #查看当前的监控器名称
删除当前存在的监控器
=>drop event monitor monname #删除当前的监控器
以上是db2监控的简单示例。这里只是监控 statement,事实上db2还可以监控bufferpool,lock,sort,table,timestamp,uow。通过监控这些信息,可以了解数据库运行的性能消耗详细信息,以便对数据库进行性能优化。