您的位置:首页技术开发数据库技巧 → DB2 9.7 自动回收多维集群表中的空间

DB2 9.7 自动回收多维集群表中的空间

时间:2010/4/20 9:23:00来源:本站整理作者:我要评论(0)

            下文中将介绍如何利用自动维护策略自动回收多维集群(MDC)表中的空间。从 DB2 9.7 开始,不再需要完全脱机表重组就可以回收 MDC 的扩展数据块,对用户更有帮助的一个改进是,可以配置自动维护策略文件以自动完成回收过程,将用户从定期手动执行的重复劳动中释放出来。

 

MDC 以及空间回收简介

 

MDC 是在 DB2 V8 中引入的,通过它可以在物理上将在多个维上具有类似值的行聚集在一起放在磁盘上。这种聚集能为常见分析性查询提供高效的 I/O。例如对于 Product=car,Region=East,并且 SaleMonthYear = Jan09 的所有行,可以将它们存储在相同的存储位置,即所谓的块(block)。一个块的大小等于表空间的扩展数据块(extent)大小,扩展数据块是磁盘上的一组连续页,所以将这些具有类似值的行在物理上是存放在连续的数据页上。了解 MDC 相关内容和细节,可以查看 DB2 9.7 信息中心的“多维集群表”。

 

在 MDC 表中,块映射(block map)会跟踪属于这个表的所有扩展数据块,并且指示哪些块或扩展数据块上包含数据以及哪些块或扩展数据块上没有包含数据。包含数据的块标记为“正在使用”(“IN USE”)。每当发生删除或转出时,相应的块条目不再标记为“正在使用”,而是被释放以供 MDC 表复用。但是表空间中的其他对象无法使用这些扩展数据块。

 

可以通过重组 MDC 表来从 MDC 表释放这些可用数据扩展数据块。在 DB2 9.7 之前只能在完全脱机的情况进行重组,在 DB2 9.7 中开始支持联机对 MDC 进行重组以释放扩展数据块。DB2 9.7 中的 REORG TABLE 命令增加了 RECLAIM EXTENTS ONLY 选项,可以使用这个选项来释放 MDC 表专用的扩展数据块,并且使该空间可供表空间内其他数据库对象使用。该选项还允许控制在释放扩展数据块期间对 MDC 表的并行访问,写访问权限为缺省访问权限,还可选择读访问权限和无访问权限来控制并行访问。

 

除了使用 REORG TABLE 命令来释放扩展数据块,也可以使用 db2Reorg API 来回收扩展数据块。

 

另外,从 MDC 表释放扩展数据块只支持在 DMS 表空间。

 

 

 

DB2 V9 中引入了自动维护功能,即自动数据库备份、自动统计信息更新以及在必要时重组表和索引,基于这些新的特性,将大大简化我们在实际维护数据库过程中的工作量。

 

在 DB2 9.7 中,自动维护功能可用于释放扩展数据块部分。为了启用重组以释放 MDC 表中的扩展数据块,AUTO_MAINT、AUTO_TBL_MAINT 和 AUTO_REORG 数据库配置参数必须全部设置为“ON”。可通过使用“配置自动维护”向导或命令行来进行这些数据库配置参数的配置。在启用了数据库分区功能的 DB2 实例上,必须在目录分区上发出对这些参数的配置。

 

维护策略可以控制何时执行 MDC 表的自动重组以释放未使用的扩展数据块。DB2 的系统存储过程 AUTOMAINT_SET_POLICY 和 AUTOMAINT_SET_POLICYFILE 用来设置此维护策略,这里的策略都是用 XML 来存储的。

相关视频

    没有数据

相关阅读 DB2错误信息码大全详触DB2数据库自动备份方法常用的DB2命令有那些常见数据库系统之比较 - DB2数据库如何使用JSP连接DB2数据库FrontPage 2000+DB2实现数据库信息发布 DB2数据库存在缺陷 黑客可控制整个数据库数据库大战之微软SQLServer对决IBM DB2

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 mssql企业管理器不能打 Oracle PRKC-1002错误原因和解决方案SQL SERVER数据库日志清空图文教程win2003计算机改名后sql server 2005 本地复DB2错误信息码大全

人气排行 彻底解决mysql中文乱码的办法mysql数据库root密码忘记的修改方法SQL SERVER数据库日志清空图文教程.bak备份文件如何恢复Oracle PRKC-1002错误原因和解决方案Oracle错误代码大全如何将txt的文本数据导入SQL server 2005呢DB2错误信息码大全