返回首页

gbase数据、南大通用产品文档:GBase8sonspaces c d: 创建 dbspace

更新日期:2024年09月11日

可以使用 onspaces -c -d 命令创建 dbspace 或临时 dbspace 。
语法

元素
用途
关键注意事项
-c
创建 dbspace
最多可以创建 2047 个任意
类型的存储空间
创建存储空间之后,必须备份该存储空间和
root dbspace。如果所创建的存储空间名称与
已删除存储空间的名称相同,那么执行另一个
0 级备份,以确保以后的恢复不混淆新存储空
间和旧存储空间。

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 405 -
元素
用途
关键注意事项
有关更多信息,请参管理数据库空间。
drive
指定要作为未缓冲磁盘空间
分配的 Windows 驱动器。格
式可以是 \\.\
(其中
drive 是指定给磁盘分区的
驱动器盘符)或者
\\.\PhysicalDrive
( PhysicalDrive 是常量
值,
number 是物理驱动器编
号)
示例:
\\.\F:
\\.\PhysicalDrive2
有关路径名语法,请参阅操作系统文档
-d dbspace
给出要创建的 dbspace 的名

Dbspace 名称必须唯一,且不能超过 128 字
节。它必须以字母或下划线开始,且必须只包
含字母、数字、下划线或 $ 字符。
有关更多信息,请参管理数据库空间。语法必
须符合 Identifier 段。有关更多信息,请
参阅 标识符。
-ef
extentsize
指定 tblspace tblspace 的
第一个 extent 的大小
(千字
节)
非根 dbspace 的 tblspace tblspace 的第一
个 extent 的最小和缺省大小等于 50 个
dbspace 页(以 KB 为单位)。例如,对于页
大小为 2 KB 的dbspace,该大小为 100 KB ;
对于页大小为 4 KB 的 dbspace,该大小为
200 KB ;对于页大小为 8 KB 的 dbspace,该
大小为 400 KB。
Tblspace tblspace extent 的最大大小为
1048572 个页。在页面大小为 2
KB 的系统上,
这将等于大约 2 GB 。
有关更多信息,
请参阅 为表空间 tblspace 指

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 406 -
元素
用途
关键注意事项
定第一个和下一个扩展数据块大小。
-en
extentsize
指定 tblspace tblspace 的
下一个 extent 的大小
(千字
节)
非根 dbspace 的 tblspace tblspace 的下一
个 extent 的最小大小等于 4 个 dbspace 页
(以 KB 为单位)。例如,对于页大小为 2
KB
的 dbspace,该大小为 8
KB
;对于页大小为 4
KB 的dbspace,该大小为 16 KB ;对于页大小
为 8 KB 的 dbspace,该大小为 32 KB。
下一个 extent 的缺省大小是 50 个 dbspace
页。
Tblspace tblspace extent 的最大大小为
1048572 个页。在页面大小为 2
KB 的系统上,
这将等于大约 2 GB 。
如果主要 chunk 中没有足够的空间分配给下
一个 extent ,
那么extent 将从另一个 chunk
分配。如果指定的空间不可用,那么将分配最
接近的可用空间。
有关更多信息,
请参阅 为表空间 tblspace 指
定第一个和下一个扩展数据块大小。
-k
pagesize
指示新的 dbspace 的非缺省
的页大小(千字节)
对于具有充足的存储空间的
系统,
使用较大的页面大小具
有以下性能优点:
 可降低 B-tree 索引
的深度,
即使是对于
较小的索引键
 您可以将当前跨越多
页大小必须在 2
KB 和 16
KB 之间,并且必须
是缺省页大小的倍数。例如:如果缺省页大小
是 2
KB ,
那么 pagesize 可以是 2 、
4 、
6 、
8 、10 、12 、14 或 16 。如果缺省页大小是
4
KB
(Windows) ,那么 pagesize 可以是 4 、
8 、12 或 16 。
有关更多信息,
请参阅 创建具有非缺省页大小
的数据库空间。

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 407 -
元素
用途
关键注意事项
个页面
(页面大小为
缺省页面大小)
的长
行组合到同一页中
 检查点时间通常会随
页面大小的增大而
减少
 您可以为临时表定义
不同的页面大小,

样它们将具有独立
的缓冲池
-m
pathname
offset
指定 chunk 的可选路径名和
偏移量,该 chunk 对新的
dbspace 的初始 chunk 执行
镜像操作
另见此表中的 -p pathname
和 -o offset 条目
有关更多信息,请参阅 管理数据库空间。
-o offset 指示为到达新的 dbspace 的
初始 chunk 而发生的磁盘分
区或设备中的偏移量(千字
节)
无符号整数。无符号整数。开始偏移量必须大
于等于 0 。开始偏移量加 chunk 大小不能超
过最大 chunk 大小。 最大偏移量为 2 或 4
太兆字节,这与平台有关。
-p
pathname
指示正在创建的 dbspace 的
初始 chunk 的磁盘分区或设

Chunk 必须是现有的未缓冲设备或已缓冲文
件。指定路径名时,可以使用完整路径名或相
对路径名。然而,如果使用相对路径名,这必
须相对于是初始化数据库服务器时的当前目录
的目录。
UNIX™ 示例 (未缓冲的设备):
/dev/rdsk/c0t3d0s4

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 408 -
元素
用途
关键注意事项
UNIX 示例(已缓冲的设备)
/ix/ids9.2/db1chunk
Windows 示例:
c:\Ifmxdata\ol_icecream\mychunk1.dat
有关路径名语法,请参阅操作系统文档
-s size
指示新的 dbspace 初始
chunk 的大小(千字节)
无符号整数。大小必须等于或大于 1000 千字
节,并且必须是页大小的整倍数。开始偏移量
加 chunk 大小不能超过最大 chunk 大小。
最大 chunk 大小为 2 或 4 太字节。
这与平台
有关。
-t
创建临时 dbspace 以存储临
时表
不能镜像临时 dbspace 。您不能为临时
dbspace 的 tblspace tblspace 指定第一个
extent 和下一个 extent 的大小。
有关更多信息,请参阅 临时数据库空间。

dbspace 的最大大小等于 chunk 的最大数量乘以 chunk 的最大大小。
(每个实例中 chunk
的最大数量为 32766 。Chunk 最大大小等于 2147483647 页乘以页大小。)
该命令有等同的 SQL 管理 API 命令。
创建 dbspace 之后,您不能更改它的页大小。
在不是缺省的平台页大小的 dbspace 中,您不能存储逻辑日志或物理日志。
如果 dbspace 创建时该页大小的缓冲池不存在,那么 GBase 8s 会使用 BUFFERPOOL 参
数的 default 行的字段值来创建一个缓冲池。您不能使多个缓冲池具有相同页大小。
临时 dbspace
当使用 onspaces 创建临时 dbspace 时,在您执行以下步骤之后,数据库服务器将使用新
创建的临时 dbspace :
将新的临时 dbspace 的名称添加到临时 dbspace 的列表中
(在 DBSPACETEMP 配置参数
和/或 DBSPACETEMP 环境变量中)。
重新启动数据库服务器。

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 409 -
您不能指定临时 dbspace 的第一个 extent 和下一个 extent 。临时 dbspace 的extent 大小
是 100 KB (2 KB 页的系统) 或者 200 KB( 4 KB 页的系统)。
要指定 root dbspace 中 tblspace tblspace 第一个 extent 和下一个 extent 的大小,
请在第一
次启动数据库服务器时,
在创建 root dbspace 之前使用 TBLTBLFIRST 和 TBLTBLNEXT
配置参数。
1 仅限于 Windows™

使用 DBCENTURY 环境变量,可以指定如何展开使用缩写年份值输入的字面 DATE 和
DATETIME 值。为避免展开缩写年份时出现问题,应用程序应要求输入 4 位年份,且应始
终将年份显示为 4 位。

当未设置 DBCENTURY(或设置为 R)时,当前年份的前两位被用来展开两位年份
值。例如,如果今天的日期为 09/30/2003,那么缩写日期 12/31/99 扩展为 12/31/2099,
而缩写日期 12/31/00 扩展为 12/31/2000。
R、P、F 和 C 设置确定用于展开两位数年份的算法。
设置
算法
R = 当前
®
使用当前年份的前两位展开年份值。
P = 过去
通过对缩写年份值加上前缀 19 和 20 来创建展开的日期。将这两个日
期与当前日期进行比较,使用早于当前日期的最新日期。
F = 将来
通过对缩写年份值加上前缀 20 和 21 来创建展开的日期。将这两个日
期与当前日期进行比较,使用晚于当前日期的最早日期。
C = 最接近
通过对缩写年份值加上前缀 19、20 和 21 来创建展开的日期。将这三
个日期与当前日期进行比较,使用最接近当前日期的日期。

设置是区分大小写的,不会对无效设置发出任何错误。如果输入 f(作为示例),那
么缺省 (R) 设置生效。P 和 F 设置不能返回当前日期,因为当前日期既不是过去也不是
将来。
为以单个位输入的年份被加上前缀 0,然后展开。不展开三位年份。用前导零填充早
于 100 的年份。
展开年份值的示例
本主题中的示例说明 DBCENTURY 的各种设置如何使缩写年份以 DATE 和 DATETIME
值的形式展开。

GBase 8s SQL 指南:参考
南大通用数据技术股份有限公司 - 151 -
DBCENTURY = P
示例数据类型:DATE
当前日期:4/6/2003
用户输入:1/1/1
加前缀“19”的展开项:1/1/1901
加前缀“20”的展开项:1/1/2001
分析:两项都早于当前日期,但 1/1/2001 更接近当前日期
当前日期。
要点: DBCENTURY 的结果取决于系统时钟日历的当前日期。因此,如果当前日期为
1/1/2001 且 DBCENTURY = P,那么此示例的缩写日期 1/1/1 将改而扩展成 1/1/1901。
DBCENTURY = F
示例数据类型:DATETIME year to month
当前日期:5/7/2005
用户输入:1-1
加前缀“20”的展开项:2001-1
加前缀“21”的展开项:2101-1
分析:只有日期 2101-1 在当前日期之后,所以选择它。
DBCENTURY = C
示例数据类型:DATE
当前日期:4/6/2000
用户输入:1/1/1
加前缀“19”的展开项:1/1/1901
加前缀“20”的展开项:1/1/2001
加前缀“21”的展开项:1/1/2101
分析:此处 1/1/2001 最接近当前日期,所以选择它。
DBCENTURY = R 或未设置 DBCENTURY
示例数据类型:DATETIME year to month
当前日期:4/6/2000
用户输入:1-1
加前缀“20”的展开项:2001-1
示例数据类型:DATE
当前日期:4/6/2003

用户输入:0/1/1

GBase 8s SQL 指南:参考
南大通用数据技术股份有限公司 - 152 -
加前缀“20”的展开项:2000/1
分析:在这两个示例中,都使用加前缀“20”的算法。
当语言环境指定非格列高利历(如希伯莱或伊斯兰历)时,DBCENTURY 设置不会
影响 GBase 8s 产品。缩写年份时,当前年份的前导位用于备用日历系统。
数据库对象中的缩写年份和表达式
当数据库对象中的表达式(包括检查约束、分段存储表达式、SPL 例程、触发器或
UDR)包含年份为 1 位或 2 位数字的字面日期值或 DATETIME 值时,数据库服务器将使
用在创建(或上次修改)数据库对象时 DBCENTURY(和其他相关环境变量)所具有的设置
对表达式求值。
如果 DBCENTURY 已重新设置为新值,那么在展开缩写年份时会忽略新值。
例如:假定用户创建了一个表并对名为 birthdate 的列定义以下检查约束:
birthdate < '09/25/50'
表达式是根据定义约束时的 DBCENTURY 值解释的。如果包含 birthdate 列的表是
在 09/23/2000 创建的且 DBCENTURY =C,那么在对 birthdate 列执行插入或更新操作
时检查约束表达式始终解释为 birthdate < '09/25/1950'。即使用户对 birthdate
列执行插入或更新操作时对 DBCENTURY 设置了不同的值,约束表达式仍然根据定义
(或上次修改)检查约束时的设置进行解释。
在一些较早版本的 GBase 8s 上创建的数据库对象不支持创建时设置的优先级。
对于要获取此功能的旧对象
1. 删除这些对象。
2. 重新创建这些对象(或对于分段存储表达式,拆离这些对象然后重新连
接)。
重新定义这些对象之后,对象的表达式内的日期文字将根据创建或上次修改对象时的
环境进行解释。否则,它们的行为将取决于运行时环境,如果环境更改,行为有可能变得
不一致。
同时包含旧对象和新对象的数据库的管理可能会很复杂,这是因为对日期表达式求值
的新旧行为之间存在差异。为避免这一情况,建议重新定义所有旧对象。
DBCENTURY 的值和当前日期并非确定数据库服务器解释 date 和 DATETIME 值的方式
的唯一因子。DBDATE、DBTIME、GL_DATE 和 GL_DATETIME 环境变量也能够影响解释日期
的方式。有关 GL_DATE 和 GL_DATETIME 的信息,请参阅《GBase 8s GLS 用户指南》。
重要: GBase 8s 的 DBCENTURY 的行为与先前版本不兼容。


所有的数学函数在发生错误的情况下,8a 引擎均返回NULL。其它引擎可能报

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 819
错或返回其它值;

不同引擎上执行数学函数时,返回值的精度可能不同。