检查并配置可用空间

在迁移到 GBase 8s 之前,必须确保有足够的空间可用于新服务器、您的数据以及您使用的其他任何网络和数据工具。

在迁移期间,GBase 8s 删除然后重新创建 sysmaster 数据库。当前版本的 sysmaster 数据库可能会相当大。

迁移到 GBase 8s V8.5 时,需要以下空间来构建 sysmastersysutilssysadmin 数据库:

迁移到 V11.50 时,需要以下空间来构建 sysmastersysutilssysadmin 数据库:

在迁移期间,将在 root 数据库空间中创建辅助数据库 sysadmin。 在迁移之后的工作中,sysadmin 数据库可能会显著地增长。您可以将 sysadmin 数据库移动到其他数据库空间。

可能需要增大物理日志大小以容纳新的功能,您可以考虑添加新的块。

分区头页不应填满;迁移到新版本的 GBase 8s 之后,键描述符和其他新功能可能需要更多空间。

如果分区头页已满,可以合并分区中的扩展数据块以为分区头创建可用空间。您也可以卸载该表,接着重新创建该表以避免出现大量的扩展数据块,然后重新装入该表。

如果由于分区头页中的空间不足而导致从较旧版本迁移到 V11.70 失败,那么必须先卸载数据,再尝试重新迁移,然后手动将数据装入到 V11.70 中。

转换到新版本的服务器时,根块应至少包含 10% 的可用空间。

在某些情况中,即使数据库服务器迁移成功,某些数据库的内部转换也可能由于系统目录表的空间不足而失败。 有关更多信息,请参阅 GBase 8s发行说明

迁移之前,将所有其他可用空间添加到系统。如果数据库空间快要充满了,那么请在启动迁移过程之前添加空间。 在较早版本的数据库服务器的相同根数据库空间中启动新版本的 GBase 8s 时,GBase 8s 会自动转换 sysmaster 数据库,然后逐一转换每个数据库。

要使每个数据库成功转换,请确保在数据库所在的每个数据库空间中,为每个数据库提供了 2000 KB 的可用空间。

要确保提供了足够的可用空间:

  1. 计算每个数据库空间需要的可用空间量。

    在下列等式中,n 是数据库空间中的数据库数,而 X 是它们需要的可用空间量:

    X 千字节可用空间 = 2000 千字节 * n

    数据库的最少数量为 2(对于 sysmastersysadmin 数据库)。

  2. 检查每个数据库空间中的可用空间量以决定是否需要添加更多空间。

可以运行 SQL 语句确定每个数据库空间需要的可用空间以及可用的可用空间。这些语句以页大小为单位返回可用空间的计算量。free_space_req 列值是需要的可用空间,而 free_space_avail 列值是可用的可用空间。

以下 SQL 语句显示了如何确定每个数据库空间所需的可用空间:
DATABASE sysmaster;
SELECT partdbsnum(partnum) dbspace_num, 
              trunc(count(*) * 2000) free_space_req 
      FROM sysdatabases
GROUP BY 1
ORDER BY 1;
以下 SQL 语句查询 syschunks 表并显示每个数据库空间的可用空间:
SELECT dbsnum dbspace_num, sum(nfree) free_space_avail
      FROM syschunks
GROUP BY 1
ORDER BY 1;
要点: 如果可用空间比数据库空间要求的要少,请将表从该数据库空间移动到另一个数据库空间,或将块添加到该数据库空间。

如果在数据库中有非常大数目的 SPL 例程或索引,那么数据库空间的估计值可能更大。