将系统添加到网络时的重新分发问题

在节点组中重新分发文件是一个相当简单的过程。

可以使用 "更改物理文件" (CHGPF) 命令为文件指定新的节点组或为文件指定新的分区键。 CHGPF 命令可用于将本地文件制作成分布式文件,将分布式文件制作成本地文件,或者将分布式文件重新分发到不同的节点集或使用不同的分区键。

您应该知道,重新分发过程可能涉及文件中几乎每个记录的移动。 对于非常大的文件,这可能是一个漫长的过程,在此过程中,文件中的数据不可用。 您不应该经常执行文件重新分发,也不应该在没有正确规划的情况下执行文件重新分发。

要将本地物理文件更改为分布式文件,必须在 CHGPF 命令上指定节点组 (NODGRP) 和分区键 (PTNKEY) 参数。 发出此命令会更改要在节点组中的节点之间分发的文件,并且还会使用在 PTNKEY 参数上指定的分区键来分发任何现有数据。

要将分布式文件更改为本地文件,必须在 CHGPF 命令上指定 NODGRP (*NONE)。 这将删除文件的所有远程片段,并强制将所有数据返回到本地系统。

要更改分布式文件的分区键,请在 CHGPF 命令的 PTNKEY 参数上指定所需的字段。 这不会影响文件分布在哪些系统上。 这会导致重新分发所有数据,因为散列算法需要应用于新的分区键。

要指定应该在其上分发文件的新系统集,请在 CHGPF 命令的节点组 (NODGRP) 参数上指定节点组名。 这将导致文件分布在这组新系统上。 可以在 PTNKEY 参数上指定新的分区键。 如果未指定 PTNKEY 参数或如果指定了 *SAME ,那么将使用现有分区键。

如果节点组添加了新的系统,那么 CHGPF 命令将处理创建文件的新片段。 如果系统不在新节点组中, CHGPF 命令将处理删除文件片段的操作。 请注意,如果要删除并重新创建节点组,然后使用 CRTPF 命令重新分发文件,那么必须在 CHGPF 命令的 NODGRP 参数上指定节点组名,即使节点组名与首次创建文件时使用的节点组名相同也是如此。 这指示您确实希望系统查看节点组并重新分发文件。 但是,如果在 NODGRP 参数上指定了节点组,并且系统识别到它与当前存储在文件中的节点组相同,那么除非还指定了 PTNKEY ,否则不会发生重新分发。

对于具有引用约束的文件,如果要使用 CHGPF 命令使父文件和从属文件成为分布式文件,那么应执行以下任务:

  1. 除去引用约束。 如果不除去约束,那么首先分发的文件会迂到约束错误,因为引用约束关系中的另一个文件还不是分布式文件。
  2. 使用 CHGPF 命令使两个文件都成为分布式文件。
  3. 再次添加引用约束。