随同 admin() 或 task() 函数,使用 modify space sp_sizes 参数来更改与扩大的存储空间相关的创建大小、扩展大小和大小的最大值。更改大小来控制 GBase 8s 如何使用特定存储空间的存储池条目。
元素 | 描述 | 关键考虑 |
---|---|---|
space_name | 存储空间的名称。 | |
max_size | 存储空间大小的最大值,以 KB 为单位。 | 大小的缺省最大值为 0,表明大小不受限制。 |
new_create_size | 当使用存储池动态地扩大这个空间时,服务器可创建的新 chunk 大小的最小值。您可定义该大小为 KB 数,或为全部空间的百分率。 | 缺省创建大小设置为该空间全部大小的 10%。
你指定的大小影响服务器自动地创建的 chunk。该大小不影响您可能为相关的空间创建的任何手工 chunk。 |
new_extend_size | 当在无镜像的 dbspace 或临时 dbspace 中自动地扩展 chunk 时,服务器可使用该大小的最小值。该大小可指定为 KB 数,或全部空间的百分率。 | 缺省扩展大小为 10 MB。
您指定的大小影响服务器自动地扩展的 chunk。该大小不影响您对相关的空间进行的任何手工 chunk 扩展。 |
如果创建大小或扩展大小值为 100 或更低的值,则 GBase 8s 将该值解释为百分率(例如,10 = 10%,2.84 = 2.84%)。 如果该值为 1000 或更高,则服务器将该值解释为特定的 KB数。值 100 - 1000 无效。
如果您设置创建大小和扩展大小为 0,则即使当空间变满时 GBase 8s 也不自动地扩大该空间。此外,如果您设置扩展大小为 0,则您还从那个空间中的所有 chunk 移除“Extendable”标志。这是使用一个操作将空间中所有 chunk 标记为不可扩展的一种简便方法。
创建大小和扩展大小值是大小的最小值。空间扩大的实际大小可能更大,这依赖于服务器正在使用的存储池的 chunk 大小,或服务器在那个特定时间需要的空间量。
例如,假定您在必要时创建了一个存储池条目来扩大存储空间。然后假定名为 logdbs 的 dbspace 用尽空闲页并要求额外的 500 MB 做新日志。如果 logdbs 中没有 chunk 可扩展,则 GBase 8s 添加一个 chunk,其大小的最小值是由 logdbs dbspace 的创建大小值指定的。如果 logdbs dbspace 的创建大小小于或等于 500 MB,则服务器尝试去找到一个最小 500 MB 的空间。如果 logdbs 的创建大小为 1 GB,则服务器忽略所需要的大小并添加一个 1 GB chunk。
如果服务器不能找到所要求的最小量空间,则服务器返回空间不足错误提示,且日志创建失败。
如果您将存储空间大小的最大值设置为非 0 值,则存储空间不可超过该大小的最大值,不管新的扩展大小。当在大小最大值之前留出的扩大空间量小于新的扩展大小时,截断该扩展大小并将空间扩展到大小的最大值。当空间达到大小的最大值时,触发事件报警 86001。当留出的扩大空间量小于存储池的 chunk 大小的最小值时,不扩大该空间并返回错误提示。
下列命令将最小的创建大小设置为 60 MB,最小的扩展大小为 10 MB,且名为 dbspace3 的 dbspace 大小的最小值为 100 MB:
EXECUTE FUNCTION task("modify space sp_sizes", "dbspace3", "60000", "10000", "100000");
下列命令将最小的创建大小设置为 20%,且名为 dbspace8 的 dbspace 的最小扩展大小为 1.5%:
EXECUTE FUNCTION task("modify space sp_sizes", "dbspace8", "20", "1.5");