在迁移到 GBase 8s 之前,必须确保有足够的空间可用于新服务器、您的数据以及您使用的其他任何网络和数据工具。
在迁移期间,GBase 8s 删除然后重新创建 sysmaster 数据库。当前版本的 sysmaster 数据库可能会相当大。
迁移到 GBase 8s V8.5 时,需要以下空间来构建 sysmaster、sysutils 和 sysadmin 数据库:
迁移到 V11.50 时,需要以下空间来构建 sysmaster、sysutils 和 sysadmin 数据库:
在迁移期间,将在 root 数据库空间中创建辅助数据库 sysadmin。 在迁移之后的工作中,sysadmin 数据库可能会显著地增长。您可以将 sysadmin 数据库移动到其他数据库空间。
可能需要增大物理日志大小以容纳新的功能,您可以考虑添加新的块。
分区头页不应填满;迁移到新版本的 GBase 8s 之后,键描述符和其他新功能可能需要更多空间。
如果分区头页已满,可以合并分区中的扩展数据块以为分区头创建可用空间。您也可以卸载该表,接着重新创建该表以避免出现大量的扩展数据块,然后重新装入该表。
如果由于分区头页中的空间不足而导致从较旧版本迁移到 V11.70 失败,那么必须先卸载数据,再尝试重新迁移,然后手动将数据装入到 V11.70 中。
转换到新版本的服务器时,根块应至少包含 10% 的可用空间。
在某些情况中,即使数据库服务器迁移成功,某些数据库的内部转换也可能由于系统目录表的空间不足而失败。 有关更多信息,请参阅 GBase 8s 的发行说明。
迁移之前,将所有其他可用空间添加到系统。如果数据库空间快要充满了,那么请在启动迁移过程之前添加空间。 在较早版本的数据库服务器的相同根数据库空间中启动新版本的 GBase 8s 时,GBase 8s 会自动转换 sysmaster 数据库,然后逐一转换每个数据库。
要使每个数据库成功转换,请确保在数据库所在的每个数据库空间中,为每个数据库提供了 2000 KB 的可用空间。
要确保提供了足够的可用空间:
在下列等式中,n 是数据库空间中的数据库数,而 X 是它们需要的可用空间量:
X 千字节可用空间 = 2000 千字节 * n
数据库的最少数量为 2(对于 sysmaster 和 sysadmin 数据库)。
可以运行 SQL 语句确定每个数据库空间需要的可用空间以及可用的可用空间。这些语句以页大小为单位返回可用空间的计算量。free_space_req 列值是需要的可用空间,而 free_space_avail 列值是可用的可用空间。
DATABASE sysmaster; SELECT partdbsnum(partnum) dbspace_num, trunc(count(*) * 2000) free_space_req FROM sysdatabases GROUP BY 1 ORDER BY 1;
SELECT dbsnum dbspace_num, sum(nfree) free_space_avail FROM syschunks GROUP BY 1 ORDER BY 1;
如果在数据库中有非常大数目的 SPL 例程或索引,那么数据库空间的估计值可能更大。