使用 BEFORE 、AFTER 和 REMAINDER 选项
BEFORE 和 AFTER 选项允许您在现有分片之前或之后放入新的分片。当分布方案为循环或区间 间隔时,您不能使用 BEFORE 和 AFTER 选项。
当您连接新的列表或表达式的分片而没有显式地使用 BEFORE 或 AFTER 关键字选项时,数据库 服务器会将所添加的分片置于分片存储列表的末尾,除非存在一个余项分片。如果存在一个余项分 片,则新分片会刚好置于该余项分片前。您不能在余项分片之后连接一个新分片。
当分布方案是循环或区间间隔时,您无法定义余项分片。
如果您省略了 AS PARTITION 分片规范,该分片的名称就是存储它的 dbspace 的名称。如果同一 表的另一个分片已经具有其 dbspace 的名称,那么数据库服务器会声明异常,并且 ALTER FRAGMENT ATTACH 操作失败。
将多个未分片表合并以创建一个分片表
当您具有相同表结构的表转换为单独一个表中的分片时,您是允许数据库服务器管理分片存储,而 不是允许应用程序管理分片存储。分布方案可以是循环的或急于表达式的。
要从两个或两个以上相同结构的未分片表创建单独一个分片表,ATTACH 子句必须包含连接列表
中的活表。连接列表是 ATTACH 子句中表的列表。
要在新创建的单独一个分片表中包含 rowid ,请首先连接所有表,然后使用 ALTER TABLE 语句 添加 rowid。
将一个表连接到一个分片表
要将一个未分片表连接到一个已分片的表,必须已在独立的 dbspace 中创建该未分片表,并且必 须具有与该分片表相同的表结构。在以下示例中,循环分布方案将表 cur_acct 分片,而且表
old_acct 是驻留在独立 dbspace 中的未分片表。以下示例说明了如何将 old_acct (作为 consumed table )连接到 cur_acct (作为 surviving table):
ALTER FRAGMENT ON TABLE cur_acct ATTACH old_acct;
当您将一个或多个连接到一个分片表时,consumed_table 必须是未分片的。




