使用 -Df 选项创建 Sbspace

使用可选的 -Df 选项创建 sbspace 时,可以指定几个缺省规范,这些规范影响存储在 sbspace 中的智能大对象的行为。缺省规范必须用逗号分隔的列表表示。该列表无需包含所有标记。标记列表必须括在双引号(") 中。表 1 中的表描述了标记及其缺省值。

Sbspace 特征的四个继承级别是系统、sbspace、列以及智能大对象。有关更多信息,请参阅 GBase 8s 管理员指南 中 数据存储在哪里 一章中的 智能大对象。

表 1. -Df 缺省规范
标记 缺省值 描述
ACCESSTIME ON 或 OFF OFF 设置为 ON 时,数据库服务器跟踪对存储在 sbspace 中的所有智能大对象的访问时间。

有关更改智能大对象存储特征的信息,请参阅 GBase 8s DataBlade API 程序员指南

AVG_LO_SIZE Windows™ : 4 到 2**31

UNIX™: 2 到 2**31

8 指定存储在 sbspace 中智能大对象的平均大小(千字节)

数据库服务器使用该值计算元数据区域的大小。不要一起指定 AVG_LO_SIZE 和 -Ms 。可以一起指定 AVG_LO_SIZE 和元数据偏移量(-Mo) 。

如果智能大对象的大小超过 2**31,那么指定 2**31。如果智能大对象的大小小于 2 (在 UNIX 上)或小于 4 (在 Windows 中),那么指定 2 或 4 。

如果耗尽 sbspace 中元数据和保留区域中的空间,那么返回错误 131 。要将额外的 chunk 分配给仅由元数据区域构成的 sbspace,请使用 -Ms 选项。

有关更多信息,请参阅 GBase 8s 管理员指南 中的 管理磁盘数据 一章中的 创建智能大对象
BUFFERING ON 或 OFF ON 指定存储在 sbspace 中智能大对象的缓冲方式

如果设置为 ON ,那么对于智能大对象 I/O 操作,数据库服务器使用共享内存常驻部分中的缓冲池。如果设置为 OFF,那么数据库服务器使用共享内存虚拟部分中的轻量级 I/O 缓冲区(轻量级 I/O 操作)。

BUFFERING = OFF 与 LOCK_MODE = RANGE 不兼容,会产生冲突。

有关更多信息,请参阅 GBase 8s 性能指南中的 在内存上配置影响 一章中的 轻量级 I/O

LOCK_MODE RANGE 或 BLOB BLOB 指定存储在 sbspace 中的智能大对象的锁定方式

如果设置为 RANGE ,那么只锁定智能大对象中一定范围内的字节。如果设置为 BLOB ,那么锁定整个智能大对象。

LOCK_MODE = RANGE 与BUFFERING = OFF 不兼容,会产生冲突。

有关更多信息,请参阅 GBase 8s 性能指南 中的 锁定 一章中的 智能大对象

LOGGING ON 或 OFF OFF 指定存储在 sbspace 中的智能大对象的登录状态

如果设置为 ON,那么数据库服务器将更改记录到 sbspace 中的用户数据区域。在打开 sbspace 的日志记录时,对 sbspace 进行 0 级备份。

当关闭日志记录时,显示以下消息:您正在关闭智能大对象日志记录

有关更多信息,请参阅 GBase 8s 管理员指南 中的 数据存储和记录 一章中的 智能大对象。 有关 onspaces -ch 消息的信息,请参阅 数据库服务器日志中的消息

EXTENT_SIZE 4 到 2**31 指定创建表时首次分配给存储在 sbspace 中的智能大对象的磁盘空间的大小(千字节)

让系统选择 EXTENT_SIZE 值。为减少智能大对象中 extent 的数量,请使用 mi_lo_specset_estbytes (DataBlade API) ifx_lo_specset_estbytes (GBase 8s ESQL/C) 对系统指示智能大对象的大小合计。系统尝试向智能大对象分配单个 extent。

有关更多信息,请参阅GBase 8s 管理员指南中的 数据存储在哪里 一章中的 智能大对象。有关更改智能大对象存储特征的信息,请参阅 GBase 8s DataBlade API 程序员指南GBase 8s ESQL/C Programmer's Manual.

MIN_EXT_SIZE 2 到 2**31 Windows : 4UNIX: 2 指定分配给每个智能大对象的最小空间量(千字节)

将显示以下信息:正在更改 sbspace 最小 extent 大小:旧值 value1 新值value2

有关调整该值的信息,请参阅 GBase 8s 性能指南 中的 在 I/O 利用率上的配置影响 一章中的 智能大对象。有关 onspaces -ch 消息的信息,请参阅 数据库服务器日志中的消息

NEXT_SIZE 4 到 2**31 指定当前 sbspace 中初始 extent 已满时,下次分配给智能大对象的磁盘空间 extent 大小(千字节)让系统选择 NEXT_SIZE 值。要减少智能大对象中 extent 的数量,请使用 mi_lo_specset_estbytes ifx_lo_specset_estbytes 对系统指示智能大对象的大小合计。系统尝试向智能大对象分配单个 extent。

有关更多信息,请参阅 GBase 8s 管理员指南 中的 数据存储在哪里 一章中的 智能大对象。有关获取智能大对象大小的信息,请参阅 GBase 8s DataBlade API 程序员指南GBase 8s ESQL/C Programmer's Manual

以下示例使用以下规范创建 20 兆字节的镜像 sbspace(eg_sbsp):
  • 主 chunk 和镜像 chunk 的偏移量为 500 千字节
  • 元数据区域的偏移量为 200 千字节
  • 平均期望智能大对象大小为 32 千字节
  • 将更改记录到 sbspace 的用户数据区域中的智能大对象中
UNIX Only:
% onspaces -c -S eg_sbsp -p /dev/raw_dev1 -o 500 -s 20000 
        -m /dev/raw_dev2 500 -Mo 200 -Df "AVG_LO_SIZE=32,LOGGING=ON"