雄关漫道真如铁,而今迈步从头越。
全部博文(348)
分类: 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语句