设为首页 收藏本站
查看: 750|回复: 0

[经验分享] db2中获取某个表/索引占用空间的大小

[复制链接]

尚未签到

发表于 2016-11-16 08:52:54 | 显示全部楼层 |阅读模式
在数据库运维中,经常会遇到需要统计db2表大小的问题。在db2中提供了3种方法已供我们选择。分别为db2pd -tcbstats、admin_get_tab_info表函数和SYSIBMADM.ADMINTABINFO系统管理视图。
     1、db2pdde tcbstats可以查看表的tcb信息,其中datasize字段用来表示表的页数,乘以页大小即为表的大小。使用该方法时,只有该表被访问过才会显示出来。
     具体使用命令为db2pd -tcbstats。
     
     2、Reorgchk结果中,npages代表页数,乘以页大小就是表的大小,但Reorgchk需要执行runstats,对于大表来说,需要的时间较长。

     3、SYSIBMADM.ADMINTABINFO管理视图,db2 9版本引入,可以获得表的大小和状态信息,以kb为计量单位。
      通过命令db2 describe table SYSIBMADM.ADMINTABINFO ,可以看到表的字段信息。
      通过命令
      SELECT (DATA_OBJECT_P_SIZE + INDEX_OBJECT_P_SIZE + LONG_OBJECT_P_SIZE +
              LOB_OBJECT_P_SIZE + XML_OBJECT_P_SIZE) AS TOTAL_P_SIZE
      FROM SYSIBMADM.ADMINTABINFO
      WHERE TABNAME = '表名' 统计表所占用的物理空间大小,包括数据、索引、大对象和xml空间大小。
      SYSIBMADM.ADMINTABINFO 中几个字段值得注意:DATA_OBJECT_L_SIZE和DATA_OBJECT_P_SIZE。其中DATA_OBJECT_L_SIZE代表表的逻辑大小(KB),DATA_OBJECT_P_SIZE为表的物理大小(KB)。逻辑大小和物理大小的差别是什么呢?想想一下,我们往某张表插入很多数据,然后删除一些数据,但表占据的空间并不会释放,当新的数据插入时,仍然会使用这些空间。实际占用的空间叫做逻辑空间,分配过的空间叫物理空间,逻辑空间可能会小于物理空间,这两者的差异可以通过reorg来消除。
    除此之外,SYSIBMADM.ADMINTABINFO视图提供了其他几个有用的字段,如REORG_PENDING,INPLACE_REORG_STATUS,LOAD_STATUS等,详细解释,请参看信息中心。

    4、admin_get_info表函数返回结果与SYSIBMADM.ADMINTABINFO管理视图类似。
     
    我统计使用的是SELECT TABNAME,SUM(DATA_OBJECT_P_SIZE)/1024 FROM TABLE (SYSPROC.ADMIN_GET_TAB_INFO('模式','表名')) AS T GROUP BY TABNAME;

    使用此语句,统计速度要比SYSIBMADM.ADMINTABINFO快很多。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-300983-1-1.html 上篇帖子: DB2 下篇帖子: 修改DB2系统环境中的JAVA虚拟机
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表