WEB开发网
开发学院数据库DB2 DB2 9.7:利用自动维护策略自动回收多维集群(MDC... 阅读

DB2 9.7:利用自动维护策略自动回收多维集群(MDC)表中的空间

 2010-04-13 00:00:00 来源:WEB开发网   
核心提示: 在清单 9 中可以看到使用 RECLAIM EXTENTS ONLY 选项进行 REORG 时可以指定 ALLOW WRITE ACCESS 也就是在执行 REORG 的同时允许其他的应用程序对该表进行写操作,而如果对不带该选项的 REORG 命令指定 ALLOW WRITE ACCESS 则会

在清单 9 中可以看到使用 RECLAIM EXTENTS ONLY 选项进行 REORG 时可以指定 ALLOW WRITE ACCESS 也就是在执行 REORG 的同时允许其他的应用程序对该表进行写操作。而如果对不带该选项的 REORG 命令指定 ALLOW WRITE ACCESS 则会报错。另外可以看到使用该选项 REORG 之后空闲的扩展数据块已经被释放,通过计算可以看出释放了 3 个扩展数据块(2208 - 2112 = 96 page ),另外一个扩展数据块是作为保留的块,不会被释放。

至此,我们已经了解 DB2 9.7 中使用 REORG 的 RECLAIM EXTENTS ONLY 选项联机释放 MDC 表中的空闲空间,接下来我们来看如何自动的完成回收工作。

利用自动维护策略自动回收

首先重复使用上文中的语句创建 MDC 表并插入、删除数据(清单 2、3 和 4),获得一个具有空闲空间的 MDC 表,然后开始设置自动维护策略。

设置自动维护策略

设置自动维护策略可使用“配置自动维护”向导或命令行来进行,本文中使用的是命令行调用存储过程 AUTOMAINT_SET_POLICY 的方式。AUTOMAINT_SET_POLICY 有两个输入参数,第一个是自动维护的类型,可用的类型包括 AUTO_REORG、AUTO_RUNSTATS 和 AUTO_DB_BACKUP 这三种,另一个是用来指定配置内容的 XML 文档。

另外我们也可以用 AUTOMAINT_SET_POLICYFILE 的方式,由于其通常需要在嵌入式 C 程序中调用,为了便于读者理解本文中没有采用这种方式,读者可以自行实践。

设置自动回收 MDC 空闲空间是自动 REORG 策略的一部分,因此使用“AUTO_REORG”作为 AUTOMAINT_SET_POLICY 的第一个输入参数。而在作为配置内容的 XML 文档中需要指定 REORG 选项 reclaimExtentsSizeForMDCTables,需要为该选项设定一个以 KB 为单位的阈值,当数据库中的 MDC 表中可释放的空间大于这个阈值时才执行自动回收。另外作为一个完整的自动 REORG 策略的配置,还需要指定 REORG 的表的范围,默认是包括系统表的所有的表。这里我们把完整的命令写入文件中,并通过 db2 – tvf 方式执行,如清单 6 所示。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:DB 利用 自动

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接