自动添加更多空间的配置示例

此示例显示可通过以下方法对自动添加更多空间进行充分配置:更改某些配置参数的设置,更改用于监视低存储的任务的频率,以及指定可扩展空间和块的信息。

要配置为自动添加更多存储空间:

  1. 向存储池添加条目。

    例如,将 $GBASEDBTDIR/tmp 目录添加到存储池,如下所示:

    DATABASE sysadmin;
    EXECUTE FUNCTION task("storagepool add", "$GBASEDBTDIR/tmp",
     "0", "0", "10000", "2");
  2. 将未镜像数据库空间和临时数据库空间中的某些块标记为可扩展,以便将来必要时,服务器可扩展这些块。

    例如,指定第 12 个块可扩展:

    EXECUTE FUNCTION task("modify chunk extendable", "12");

    也可将可扩展块的标记更改为不可扩展。 例如,指定编号为 10 的块不可扩展:

    EXECUTE FUNCTION task("modify chunk extendable off", "10");
  3. 在 SP_THRESHOLD 配置参数中,设置 GBase 8s 自动运行任务以扩充空间之前,存储空间中可包含的最小可用 KB 量的阈值。指定以下任一项:
    • 150 的百分比值。
    • 1000 到块最大大小的值(以 KB 计)

    如果单个存储空间的填充程度超过了您定义的此阈值,并且该填充程度持续到下次运行空间监视任务 (mon_low_storage) 为止,那么服务器将通过扩展可扩展块或通过使用存储池添加块来尝试扩充该空间。

    例如,假设 SP_THRESHOLD 值为 5.5,服务器将该值视为 5.5%。如果某个空间中的可用页很少,可用空间百分比降到 5.5% 以下,并且这种低水平持续到下次运行 mon_low_storage 任务为止,那么该任务将尝试扩展此空间。如果 SP_THRESHOLD 设置为 50000,并且某个空间的可用空间低于 50000 KB,那么下次运行 mon_low_storage 时将扩展该空间。

  4. 可选: 更改 mon_low_storage 任务的运行频率。该任务定期扫描数据库空间列表,以查找低于 SP_THRESHOLD 配置参数指示的阈值的空间。
    例如,要将任务配置为每 10 分钟运行一次,请运行以下 SQL 语句:
    DATABASE sysadmin;
    UPDATE ph_task set tk_frequency = INTERVAL (10) MINUTE TO MINUTE
     WHERE tk_name = “mon_low_storage”;
  5. 可选: 更改 SP_WAITTIME 配置参数的值,该配置参数指定返回空间不足错误之前,线程等待空间扩展的最大秒数。
  6. 可选: 更改与扩展存储空间相关的两种大小:
    • 扩展大小,这是扩展数据库空间或临时数据库空间中的块时使用的最小大小。
    • 创建大小,这是在不属于镜像空间的数据库空间、临时数据库空间、智能大对象空间、临时智能大对象空间或 Blob 空间中创建新块时使用的最小大小。

      例如,以下命令将编号为 3 的空间的创建大小和扩展大小分别设置为 60 兆字节和 10 兆字节:

      EXECUTE FUNCTION task("modify dbspace sp_sizes",
       "3", "60000", "10000");

对存储空间的自动扩充进行了配置之后,也可在必要时手动扩充空间或扩展空间中的块。