Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5558651
  • 博文数量: 348
  • 博客积分: 2173
  • 博客等级: 上尉
  • 技术积分: 7900
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-24 17:26
个人简介

雄关漫道真如铁,而今迈步从头越。

文章存档

2022年(4)

2020年(6)

2019年(2)

2018年(2)

2017年(34)

2016年(49)

2015年(53)

2014年(47)

2013年(72)

2012年(79)

分类: DB2/Informix

2014-01-19 17:15:17

本文演示了如何利用db2数据库V9之后带来的新特性获取数据库的表的大小、数据库的大小以及获取TOPSQL

1、查看表占磁盘逻辑空间大小:

db2 “select sum(x.DATA_OBJECT_P_SIZE+x.INDEX_OBJECT_P_SIZE+x.LOB_OBJECT_P_SIZE+x.LONG_OBJECT_P_SIZE+x.XML_OBJECT_P_SIZE) from SYSIBMADM.ADMINTABINFO x where TABNAME='tabname'”

2、查看数据库数据占用空间大小

db2 v9以上查看数据库占用空间大小:db2 "call SYSPROC.GET_DBSIZE_INFO(?,?,?,10)"

3、获取执行次数最多的top sql

1)获取快照信息

db2 get snapshot for all on dbname > snap.out (貌似这个db2V8也支持哦)

2)根据执行次数排序 

grep -ni "number of executions" snap.out |grep -v "=0" |sort -k 6,6rn 

899: Number of executions               = 900000

1984: Number of executions               = 70

38: Number of executions               = 2 

54: Number of executions               = 49

14: Number of executions               = 3 

3)然后使用vi根据行数找到具体的sql语句

阅读(5321) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~