`
beliveAda
  • 浏览: 110433 次
  • 性别: Icon_minigender_2
  • 来自: 西安
社区版块
存档分类
最新评论

db2查询表的最后使用时间

 
阅读更多
在本月出账的过程中,出现表空间不足的情况。虽然在出账之前已清理过数据库中不用的表,但无奈只关心了其中一个,而忽略了另外一个,导致在跑大数据量的存储过程时出现空间不足。
     出现此问题的解决办法是将目前库中已经不适用的表删除掉,已节省空间。
     但在删除的过程中,要一个一个表去查找,很是麻烦。经查资料,发现有如下几种解决办法:
     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


分享到:
评论

相关推荐

    程序员的SQL金典6-8

     11.9.3 My SQL Server和DB2中递归查询 附录A 常用数据库系统的安装和使用  A.1 DB2的安装和使用  A.2 MySQL的安装和使用  A.3 Oracle的安装和使用  A.4 Microsoft SQL Server的安装和使用 显示部分信息

    程序员的SQL金典7-8

     11.9.3 My SQL Server和DB2中递归查询 附录A 常用数据库系统的安装和使用  A.1 DB2的安装和使用  A.2 MySQL的安装和使用  A.3 Oracle的安装和使用  A.4 Microsoft SQL Server的安装和使用 显示部分信息

    程序员的SQL金典3-8

     11.9.3 My SQL Server和DB2中递归查询 附录A 常用数据库系统的安装和使用  A.1 DB2的安装和使用  A.2 MySQL的安装和使用  A.3 Oracle的安装和使用  A.4 Microsoft SQL Server的安装和使用 显示部分信息

    程序员的SQL金典4-8

     11.9.3 My SQL Server和DB2中递归查询 附录A 常用数据库系统的安装和使用  A.1 DB2的安装和使用  A.2 MySQL的安装和使用  A.3 Oracle的安装和使用  A.4 Microsoft SQL Server的安装和使用 显示部分信息

    程序员的SQL金典.rar

    透彻分析函数、子查询、表连接、不同DBMS中的SQL语法差异、SQL调优、NULL值处理、事务、开窗函数等高级技术;通过对实际案例开发过程的详细分析,使读者掌握 SQL的综合应用技巧。 内容简介 本书主要介绍SQL的语法...

    数据库灾难性恢复(数据库技术;灾难性;恢复;数据备份)

    这样当你复制数据库目录中的文件时,允许其它客户继续查询表。需要FLUSH TABLES语句来确保开始备份前将所有激活的索引页写入硬盘。 备份数据库的另一个技术是使用mysqldump程序或mysqlhotcopy脚本。 1. 完全备份...

    数据库操作语句大全(sql)

    因为这样可以避免 top的字段如果是逻辑索引的,查询的结果后实际表中的不一致(逻辑索引中的数据有可能和数据表中的不一致,而查询时如果处在索引则首先查询索引) 14、说明:前10条记录 select top 10 * form ...

    经典全面的SQL语句大全

    A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only C: select * into table2 from table  5、说明:  删除新表:drop table...

    经典SQL语句大全

    因为这样可以避免 top的字段如果是逻辑索引的,查询的结果后实际表中的不一致(逻辑索引中的数据有可能和数据表中的不一致,而查询时如果处在索引则首先查询索引) 14、说明:前10条记录 select top 10 * form table...

    sql经典语句一部分

    因为这样可以避免 top的字段如果是逻辑索引的,查询的结果后实际表中的不一致(逻辑索引中的数据有可能和数据表中的不一致,而查询时如果处在索引则首先查询索引) 14、说明:前10条记录 select top 10 * form table...

    SQL语法大全

    rs.movelast 将记录指针移到数据表最后一行 rs.absoluteposition=N 将记录指针移到数据表第N行 rs.absolutepage=N 将记录指针移到第N页的第一行 rs.pagesize=N 设置每页为N条记录 rs.pagecount 根据 pagesize 的设置...

    超实用sql语句

    因为这样可以避免 top的字段如果是逻辑索引的,查询的结果后实际表中的不一致(逻辑索引中的数据有可能和数据表中的不一致,而查询时如果处在索引则首先查询索引) 14、说明:前10条记录 select top 10 * form table...

    花店系统的数据库设计(1).doc

    摘 要 我们学习使用IBM DB2应用程序,并应用了SQL语言,而且对数据库的创建、修改、删除方法也有了一定的 了解。要建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设 计、逻辑设计、物理设计、...

    花店系统的数据库设计.doc

    摘 要 我们学习使用IBM DB2应用程序,并应用了SQL语言,而且对数据库的创建、修改、删除方法也有了一定的 了解。要建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设 计、逻辑设计、物理设计、...

    asp.net知识库

    在 SQL Server 2005 中查询表结构及索引 sql server 2005中的DDL触发器 在 SQL Server 2005 中使用表值函数来实现空间数据库 SQL Server 2005的30个最重要特点 同时安装sql2000和sql2005的经验 类如何与界面绑定 在...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    日期类型 date 7字节 用于存储表中的日期和时间数据,取值范围是公元前4712年1月1日至公元9999年12月31日,7个字节分别表示世纪、年、月、日、时、分和秒 二进制数据类型 row 1~2000字节 可变长二进制数据,在具体...

    图书管理系统数据库实验报告.doc

    3.2 以视图的形式完成各类查询,包括单表、多表、单条件、多条件等。 4.权限的设计: 4.1 授权操作; 4.2 收回权限的操作。 5.界面的设计、加密的设计。 三、 进度计划 "序号 "设计(实验)内容 "完成时间 "备注 " ...

    RMAN测试演练即讲解

    (5) 进入rman使用restore和recover恢复表空间 restore tablespace apollo_data; recover tablespace apollo_data; 备注:从(4)、(5)开始的执行都没有成功,因为drop表空间后即使在系统表里 面也不再有改表...

    java程序是怎么操作数据库的,可以以常用据库为例,求详细解答,最好能举例。

    最后需要说的是笔者的调试上面程序的环境:WIN2000 , JDK1.3,MS SQLSERVER编辑软件:EDITPLUS 2.01a(这最后的东西可不是废话,虽然早就了一些专业的JAVA开发工具,但是笔者建议JAVA初学者使用文本软件开发JAVA程序...

Global site tag (gtag.js) - Google Analytics