可以使用 onspaces -c -d 命令创建 dbspace 或临时 dbspace 。
元素 | 用途 | 关键注意事项 |
---|---|---|
-c | 创建 dbspace
最多可以创建 2047 个任意类型的存储空间 |
创建存储空间之后,必须备份该存储空间和 root dbspace。如果所创建的存储空间名称与已删除存储空间的名称相同,那么执行另一个 0
级备份,以确保以后的恢复不混淆新存储空间和旧存储空间。
有关更多信息,请参阅管理数据库空间。 |
drive | 指定要作为未缓冲磁盘空间分配的 Windows 驱动器。格式可以是 \\.\<drive>(其中 drive 是指定给磁盘分区的驱动器盘符)或者 \\.\PhysicalDrive<number>( PhysicalDrive 是常量值, number 是物理驱动器编号) | 有关分配缓冲区磁盘空间的信息,请参阅在 Windows 上分配原始磁盘空间。
示例:
\\.\F: \\.\PhysicalDrive2 有关路径名语法,请参阅操作系统文档 |
-d dbspace | 给出要创建的 dbspace 的名称 | Dbspace 名称必须唯一,且不能超过 128 字节。它必须以字母或下划线开始,且必须只包含字母、数字、下划线或 $ 字符。 |
-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 指定第一个和下一个扩展数据块大小。 |
-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 的非缺省的页大小(千字节)
对于具有充足的存储空间的系统,使用较大的页面大小具有以下性能优点:
|
页大小必须在 2 KB 和 16 KB 之间,并且必须是缺省页大小的倍数。例如:如果缺省页大小是 2 KB ,那么
pagesize 可以是 2 、4 、6 、8 、10 、12 、14 或 16 。如果缺省页大小是 4 KB (Windows) ,那么 pagesize 可以是 4
、8 、12 或 16 。
有关更多信息,请参阅创建具有非缺省页大小的数据库空间 。 |
-m pathname offset | 指定 chunk 的可选路径名和偏移量,该 chunk 对新的 dbspace 的初始 chunk 执行镜像操作
另见此表中的 -p pathname 和 -o offset 条目 |
有关更多信息,请参阅 管理数据库空间。 |
-o offset | 指示为到达新的 dbspace 的初始 chunk 而发生的磁盘分区或设备中的偏移量(千字节) |
无符号整数。无符号整数。开始偏移量必须大于等于 0 。开始偏移量加 chunk 大小不能超过最大 chunk 大小。 最大偏移量为 2 或 4 太兆字节,这与平台有关。 有关更多信息,请参阅在 Windows 上分配原始磁盘空间。 |
-p pathname | 指示正在创建的 dbspace 的初始 chunk 的磁盘分区或设备 | Chunk
必须是现有的未缓冲设备或已缓冲文件。指定路径名时,可以使用完整路径名或相对路径名。然而,如果使用相对路径名,这必须相对于是初始化数据库服务器时的当前目录的目录。
UNIX™ 示例 (未缓冲的设备):/dev/rdsk/c0t3d0s4 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 行的字段值来创建一个缓冲池。您不能使多个缓冲池具有相同页大小。
当使用 onspaces 创建临时 dbspace 时,在您执行以下步骤之后,数据库服务器将使用新创建的临时 dbspace :
将新的临时 dbspace 的名称添加到临时 dbspace 的列表中(在 DBSPACETEMP 配置参数和/或 DBSPACETEMP 环境变量中)。
重新启动数据库服务器。
您不能指定临时 dbspace 的第一个 extent 和下一个 extent 。临时 dbspace 的extent 大小是 100 KB (2 KB 页的系统) 或者 200 KB( 4 KB 页的系统)。
要指定 root dbspace 中 tblspace tblspace 第一个 extent 和下一个 extent 的大小,请在第一次启动数据库服务器时,在创建 root dbspace 之前使用 TBLTBLFIRST 和 TBLTBLNEXT 配置参数。