改变分区之间的界限

您可以通过为限制键指定新的值来更改分区的边界。 限制键是分区键的最高值。 分区键是指用于确定分区的列。

关于本任务

或者,您可以让 Db2 确定适当的限制键更改,以便更均匀地将数据分配到各个分区。 如果您希望 Db2 确定任何限制键更改,请按照使用REORG在分区之间重新分配数据的说明进行操作。

过程

更改分区之间的边界:

  1. 使用ALTER语句修改每个分区边界的限制键值。

    如果分区表空间使用表控制的分区,则使用带有ALTER PARTITION子句的ALTER TABLE语句来修改限制键。 如果分区表空间使用索引控制的分区,请使用带有ALTER PARTITION子句的ALTER INDEX语句。

    建议 :如果表空间使用索引控制的分区,请在修改限制键之前将其更改为使用表控制的分区。 您可以参考转换表格空间以使用表格控制的分区
    如果您尝试使用ALTER TABLE来修改限制键,如果以下两个条件都成立,则语句将失败:
    • 表格空间使用索引控制的分区。
    • PREVENT_ALTERTB_LIMITKEY子系统参数设置为YES。

    您可以更改所有或大多数分区的限制键值。 您可以一次对一个或多个分区应用更改。

    更改极限键的效果取决于表格空间的类型:

    • 对于按范围划分的表空间和采用表控分区(非UTS)的表空间,在更改限制键后,数据仍然可用。

      在大多数情况下,更改这些表空间的限制键是一个待定的定义更改,导致边界两侧的分区处于待定的REORG状态(AREOR)。

      在某些情况下,更改极限键值会立即生效,AREOR状态不会设置。 当 Db2 确定以下两个条件均成立时,立即生效:

      更改开始
      • 更改不会在分区之间移动任何数据
      • 已识别分区上不存在其他待定的定义更改
      • 在相邻逻辑分区上,不存在任何待定的定义更改,而更改会将已识别分区的限制键移动到该逻辑分区上。
      更改结束
    • 对于分区(非UTS)表空间,如果分区由索引控制,那么更改限制键将立即导致定义更改。 在这种情况下,边界两侧的分区处于REORG-pending(REORP)状态,在重组受影响的分区范围之前,数据不可用。
  2. 运行REORG TABLESPACE实用程序,根据新的限制键值重新分配分区表空间中的数据。

    此操作也会重置AREOR或REORP状态。 以下示例指定了有助于在重组数据的同时最大化性能的选项:

    REORG TABLESPACE DSN8S12E PART 2:3
      NOSYSREC  COPYDDN SYSCOPY  STATISTICS TABLE INDEX(ALL)

    此示例重新组织了一系列分区,并包含STATISTICS关键字,这意味着REORG收集了指定分区范围的统计信息。

    您可以重新组织一系列分区,即使分区状态不是AREOR或REORP。 但是,您不能只重组处于AREOR或REORP状态的分区子集。 您必须重新组织整个系列,以消除限制状态,并实现任何待定的限制性关键变更。

    如果您在处于REORP或咨询REORG-pending(AREOR)状态的分区上运行REORG,请考虑为以下选项设置的值:

    SHRLEVEL
    当对象处于AREOR或REORP状态时,您可以指定SHRLEVEL REFERENCE或SHRLEVEL CHANGE。 REORG实现了任何待定的定义变更。 如果指定SHRLEVEL NONE,REORG不会实现任何待定的限制键更改,任何限制状态都不会被重置。
    KEEPDICTIONARY
    REORG对处于REORP或AREOR状态的任何分区忽略KEEPDICTIONARY选项。 REORG会自动重建受影响分区的字典。 但是,如果您指定了分区范围,其中包含一些非REORP状态的分区,REORG会为这些非受限分区接受KEEPDICTIONARY选项。
    DISCARDDN和PUNCHDDN
    当最后一个分区的限制键被减少时,如果表空间被定义为LARGE或DSSIZE,请指定DISCARDDN和PUNCHDDN数据集。 否则,REORG将终止并发送消息 DSNU035I 和返回代码8。

    REORG将SYSCOPY记录写入如下:

    • 如果REORG运行时有任何分区处于REORP状态, Db2 将为REORG作业中指定的每个分区写入一个STYPE=A的SYSCOPY记录。
    • 如果您对一系列分区进行内联图像复制, Db2 会为每个分区写入一个SYSCOPY记录,其中ICTYPE=F。 每个记录具有相同的数据集名称。

    如果REORG实现了任何未完成的限制性关键变更,则相关计划和方案将失效。