返回首页

gbase数据、南大通用产品文档:GBase8s配置磁盘空间

更新日期:2024年09月11日

配置磁盘以便在数据集市和数据仓库中获得最佳性能。对于 SQL 操作,磁盘 I/O 所占的
响应时间最长。数据库服务器提供对计算机上的多个磁盘的并行访问权。分配磁盘空间之
前,请了解操作系统管理指南中关于磁盘空间的信息并参阅块的磁盘分配。
使用大块
缺省情况下,对于 2 KB 页,数据库空间的块大小是 4 太字节。块可以位于 64 位地址
空间中的任何位置。
在 UNIX 上创建块文件
在 UNIX™ 上,可以将数据存储在使用未缓冲(原始)磁盘或操作系统文件(又称为已缓
冲或熟文件)的块中。
原始或未缓冲的磁盘存取
UNIX 使用字符专用设备(又称为原始磁盘设备)提供未缓冲的磁盘存取。要在 UNIX 上
创建原始磁盘设备,请遵循操作系统中提供的指示信息。
数据库服务器使用原始磁盘存取以提高磁盘 I/O 操作的速度和可靠性。原始磁盘存取绕
过操作系统提供的文件缓冲机制。数据库服务器本身将管理磁盘和内存之间的数据传送。
数据库服务器通过保证连续存储行来优化表的访问。
重要: 虽然必须在 UNIX 上使用原始磁盘设备来获得更好的性能,但是在用于熟写入的
I/O 高速缓存方面的最新进步也可以提供相似的性能(即使不是最好的性能)。要确定最
佳设备性能,请在同时带有数据库空间和表布局两类设备的系统上执行基准测试。
要为数据库服务器分配磁盘,请执行以下操作:
1. 为每个磁盘配置原始磁盘设备。
2. 创建标准的设备名或文件名。
3. 为每个原始磁盘设备设置权限、所有权和组。
熟文件
如果不要求最佳性能,那么可以将数据库服务器配置为在熟文件中存储数据。熟文件比原
始磁盘设备更容易设置。

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 8 -
设置许可权、所有权和组
数据库服务器使用的文件或原始磁盘设备必须有适当的所有权和权限。
仅限 UNIX: 在 UNIX™ 上,所有者和组必须是 gbasedbt,并且这些权限必须设置为允
许用户和组(但不包括其他)进行读写。
如果希望非 gbasedbt或 root 的用户运行 ON-Bar 命令,请创 bargroup 组。只有
bargroup 的成员可以运行 ON-Bar 命令。bargroup 组不会在数据库服务器安装期间自动
创建。
创建标准设备名 (UNIX)
使用符号链接为每个原始磁盘设备指定缩写的标准设备名。如果拥有符号链接,那么可以
使用新磁盘通过为该新磁盘指定符号名来替换发生故障的磁盘。
要在字符专用设备名和另一个文件名之间创建链接,请使用 UNIX™ 链接命令(通常
为 ln)。
在设备目录上运行 UNIX 命令 ls -l 以便验证这些设备和链接都已存在。以下示例显示到
原始设备的链接。如果您的操作系统不支持符号链接,那么可以使用硬链接。
ls -l
crw-rw--- /dev/rxy0h
crw-rw--- /dev/rxy0a
lrwxrwxrwx /dev/my_root@->/dev/rxy0h
lrwxrwxrwx /dev/raw_dev2@->/dev/rxy0a

当您关闭 Statement 和 ResultSet 对象时,可以使用环境变
量 OPTOFC 和 IFX_AUTOFREE 减少网络流量。
将 OPTOFC 设置为 1 来指定:如果已在客户端元组缓冲区检索到所有合格的行,
则 ResultSet.close() 方法不需要网络。在检索完所有的行后,数据库服务器自动关闭游标。

在调用下一个 ResultSet.next() 方法之前,
GBase 8s JDBC Driver 在客户端元组缓冲区中可能
有也可能没有附加的行。因此,除非 GBase 8s JDBC Driver 已经从数据库服务器检索到所
有的行,否则当 OPTOFC 设置为 1 时,ResultSet.close() 方法可能仍然需要网络往返。
将 IFX_AUTOFREE 设置为 1 以指定如果数据库服务器中的游标已经关闭,
则 Statement.close() 方法不需要网络往返来释放数据库服务器游标资源。
还可以使用 setAutoFree(boolean flag) 和 getAutoFree() 方法释放数据库服务器游标资源。有
关更多信息,请参阅“自动释放”特性。

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 234 -

当游标关闭后,数据库服务器显式地通过 ResultSet.close()方法或隐式地通过 OPTOFC 环境
变量自动释放游标资源。
当游标资源释放后,该游标不能再被引用。
有关如何使用 OPTOFC 和 IFX_AUTOFREE 环境变量的示例,
请参阅 示例代码文件 中描
述的 autofree.java optofc.java 演示示例。
在这些示例中,
使用 Properties.put() 方法设置变量。
有关 GBase 8s 环境变量的设置的更多信息,请参阅随同 GBase 8s JDBC 驱动程序的
GBase 8s 环境变量。

切换到多用户模式
(SQL
管理 API)
随同 admin() 或 task() 函数,使用 onmode 和 m 参数来更改数据库服务器到多用户模
式。
语法

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 773 -

用法
使用这个函数来使数据库服务器从 quiescent 模式或从管理模式改为 online。
这个函数等同于 onmode -m 命令。
示例
系列示例更改服务器到多用户模式:
EXECUTE FUNCTION task("onmode","m");