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

[经验分享] db2查询表的最后使用时间

[复制链接]

尚未签到

发表于 2016-11-15 10:09:45 | 显示全部楼层 |阅读模式
在本月出账的过程中,出现表空间不足的情况。虽然在出账之前已清理过数据库中不用的表,但无奈只关心了其中一个,而忽略了另外一个,导致在跑大数据量的存储过程时出现空间不足。
     出现此问题的解决办法是将目前库中已经不适用的表删除掉,已节省空间。
     但在删除的过程中,要一个一个表去查找,很是麻烦。经查资料,发现有如下几种解决办法:
     1、逐个看在需要清除的表空间中的表哪些是已经不用的,将此备份出来之后删除。
     2、使用db2的系统表SYSCAT.TABLES中根据LASTUSED字段查询最后的使用时间。该字段是在v9.7版本之后才有的字段。不单单是表的最后使用时间,在在SYSCAT.TABLES,SYSCAT.INDEXES和SYSCAT.PACKAGES表中都已经增加了一列LASTUSED 。而我们库是使用的v9.5,因此此方法可以在以后升级之后使用。
     3、就是使用db2pd工具来查询表的insert update delete条数,通过这个也是可以判断出表的使用频率的。不过此方法也只能做一个参考了。
      使用db2pd的具体方法是: db2pd -d sample -tcbstats index
     当你在SAMPLE数据库上运行db2pd工具时,使用tcbstats选项,将参数index传给它,你将会看到一串很长的输出内容,当你查看TCB Index信息时,你需要查找SCANS列,你必须通过catalog表相互关联Index ID(IID)和索引名。
Database Partition 0 -- Database SAMPLE -- Active -- Up 0 days 00:09:45   
TCB Table Information:
Address    TbspaceID TableID PartID MasterTbs MasterTab TableName  0x7C6EF8A0 0         1       n/a    0         1         SYSBOOT    0x7A0AC6A0 2         -1      n/a    2         -1        INTERNAL

TCB Table Stats:  
Address    TableName          Scans      UDI        RTSUDI  0x7C6EF8A0 SYSBOOT            1          0          0       0x7A0AC6A0 INTERNAL           0          0          0   
  
TCB Index Information:  
Address    InxTbspace ObjectID TbspaceID TableID MasterTbs   0x7A0ABDA8 0          5        0         5       0           0x7A0ABDA8 0          5        0         5       0           

TCB Index Stats:
Address TableName
IID EmpPgDel RootSplits BndrySplts PseuEmptPg Scans     
0x7A0ABDA8 SYSTABLES         
9     0          0          0          0          0
0x7A0ABDA8 SYSTABLES         
8     0          0          0          0          0      

上面的输出为了简洁美观,我做了剪裁,索引名关联IID,并使用Scans=0查找索引。

如果你的数据库运行了有一个月,你可以运行db2pd工具找出有一个月都未曾使用过的索引。当你运行db2pd工具且数据库处于活动状态时,所有这些信息存在的时间都是非常短暂的,但SYSCAT.TABLES,SYSCAT.INDEXES和SYSCAT.PACKAGES表中LASTUSED列的信息是持久存储的,通过它,你可以找出对象的最后访问时间,请记住DB2 for z/OS很久以前就有这个功能了,DB2 LUW现在也有这个功能了。


原文出处:http://www.db2ude.com/?q=node/127

运维网声明 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-300644-1-1.html 上篇帖子: 学习笔记:DB2 V9 管理 下篇帖子: db2的起步----学习方法论
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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