DB2 9.7:利用自动维护策略自动回收多维集群(MDC)表中的空间
2010-04-13 00:00:00 来源:WEB开发网DB2 V9 中引入了自动维护功能,即自动数据库备份、自动统计信息更新以及在必要时重组表和索引,基于这些新的特性,将大大简化我们在实际维护数据库过程中的工作量。
在 DB2 9.7 中,自动维护功能可用于释放扩展数据块部分。为了启用重组以释放 MDC 表中的扩展数据块,AUTO_MAINT、AUTO_TBL_MAINT 和 AUTO_REORG 数据库配置参数必须全部设置为“ON”。可通过使用“配置自动维护”向导或命令行来进行这些数据库配置参数的配置。在启用了数据库分区功能的 DB2 实例上,必须在目录分区上发出对这些参数的配置。
维护策略可以控制何时执行 MDC 表的自动重组以释放未使用的扩展数据块。DB2 的系统存储过程 AUTOMAINT_SET_POLICY 和 AUTOMAINT_SET_POLICYFILE 用来设置此维护策略,这里的策略都是用 XML 来存储的。
接下来我们通过实际操作来了解如何实现自动回收 MDC 中的空闲空间。
准备工作
我们先创建一个新的数据库名字叫做 MYDB,或者也可以使用一个已有的数据库。本文中所有操作都是在 LinuxAMD64 平台上的 DB2 9.7 进行,在其他的平台上也可以得到相似的结果,但不能保证完全一致。
创建数据库以及表空间的命令如清单 1 所示。需要注意的是这里的表空间是 DMS 类型。
清单 1. 创建数据库
db2start
db2 CREATE DB MYDB
db2 CONNECT TO MYDB
db2 "create tablespace tbs1 managed by database using (FILE 'tbs1' 10M) autoresize yes"
db2 list tablespaces show detail
Tablespace ID = 4
Name = TBS1
Type = Database managed space
Contents = All permanent data. Large table space.
State = 0x0000
Detailed explanation:
Normal
Total pages = 2560
Useable pages = 2528
Used pages = 96
Free pages
= 2432
High water mark (pages) = 96
Page size (bytes) = 4096
Extent size (pages) = 32
Prefetch size (pages) = 32
Number of containers = 1
更多精彩
赞助商链接