返回首页

gbase数据、南大通用产品文档:GBase8s存储数据所需的磁盘空间量

更新日期:2024年09月11日

要确定需要多少磁盘空间,请遵循以下步骤:
1. 计算需要多少根数据库空间。
2. 估计要分配给所有数据库服务器数据库的总磁盘空间量,包括用于开销和增长的空
间。
以下主题说明了这些步骤。
根数据库空间的大小
可以计算根数据库空间的大小,此空间存储了描述数据库服务器的信息。
要计算根数据库空间的大小,请考虑下列存储结构:

物理日志(最小 200 KB)

逻辑日志文件(最小 200 KB)

临时表

数据

系统数据库(sysmaster、sysutils、syscdr、sysuuid)以及系统目录(大小随版本的
不同而变化)

保留页 (~24 KB)

表空间 tblspace(最小 100 到 200 KB)

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

额外空间
此估计值是初始化数据库服务器之前根数据库空间的大小。根数据库空间的大小取决于您
是计划在根数据库空间还是在其他数据库空间中存储物理日志、逻辑日志和临时表。根数
据库空间必须足够大以便在磁盘初始化期间进行最小大小配置。
建议: 使用小日志大小(例如,三个 1000 KB 的日志文件或总日志大小为 3000 KB)设置系统。在设置
完成后,请创建新的数据库空间、移动逻辑日志文件并调整其大小、删除根数据库空间中的原始日志。然
后将物理日志移至另一个数据库空间。此过程可最大限度降低日志在根数据库空间中的影响,原因是:

移动这些日志后,根数据库空间中不会有大量空间保留不用。

日志不会与根数据库空间在相同磁盘上争用空间和 I/O。
有关如何移动日志的详细信息,请参阅将逻辑日志文件移至另一个数据库空间和更改物理
日志的位置和大小。
如果在服务器已初始化后,需要将根数据库空间设置得更大,可以向根数据库空间添加新
块。此外,可以通过使用自动空间管理来扩展根数据库空间中的块。
物理日志和逻辑日志
存储在 ONCONFIG 参数 PHYSFILE 中的值定义了在最初创建数据库服务器时物理日志
的大小。在使用 oninit -i 命令初始化磁盘空间并使数据库服务器进入联机方式后,请使用
onparams 实用程序更改物理日志的位置和大小。有关估算物理日志的建议包含在物理日志
的大小和位置中。
要计算逻辑日志文件的大小,请将 ONCONFIG 参数 LOGSIZE 的值乘以逻辑日志文件
数。有关估算逻辑日志的建议,请参阅估计日志文件的大小和数量。
临时表
分析最终用户应用程序以估计数据库服务器可能要求临时表具备的磁盘空间量。尝试估计
这些语句中有多少将会并发运行。已返还的行和列所占据的空间将提供估计所需的空间量
的良好基础。
数据库服务器在热复原期间创建的最大的临时表与逻辑日志的大小相等。您可以通过增加
所有逻辑日志文件的大小来计算逻辑日志的大小。
您还必须分析最终用户应用程序以估计数据库服务器可能需要用于显式临时表的磁盘空间
量。
关键数据
限制: 不要将数据库和表存储在根数据库空间中。为包含关键数据(如物理日志和逻辑日志)的根数据
库空间和其他数据库空间建立镜像。
估计需要为存储在根数据库空间中的表分配的磁盘空间量
(如果有)


额外空间
允许系统数据库的根数据库空间中的额外空间增长以便获得扩展保留页和充足的可用空
间。扩展保留页数取决于数据库服务器中的主要块、镜像块、逻辑日志文件和存储空间的
数目。


GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 186 -
数据库所需空间量
数据库服务器数据存储需要的附加磁盘空间量取决于用户的需求,以及开销和增长。用户
运行的每个应用程序都有不同的存储需要。
以下列表提出了一些您可以用来计算要分配的
磁盘空间(根数据库空间除外)量的步骤:

决定必须存储多少数据库和表。计算每个数据库和表所需的空间量。

计算每个表的增长率并为每个表指定一些磁盘空间量以适应增长。

决定希望监视哪些数据库和表。
有关计算表大小的指示信息,请参阅《GBase 8s 性能指南》。

函数原型:
sword
GCIHandleFree(
dvoid *hndlp,
CONST ub4 type
);
功能描述:
释放已分配的各类句柄,用于结束当前会话、断开数据库连接后的句柄清理。
参数说明:
hndlp(输入)
需要释放的句柄。
type(输入)
释放句柄的句柄类型。取值参见GCIHandleAlloc 函数中type 参数的取值,环境句柄如
下:
GCI_HTYPE_ENV
释放环境句柄

GCI_HTYPE_SVCCTX
释放上下文句柄
GCI_HTYPE_SERVER
释放服务句柄
GCI_HTYPE_SESSION
释放会话句柄
GCI_HTYPE_ERROR
释放错误句柄

GCI_HTYPE_STMT
释放语句句柄



GCI_HTYPE_DIRPATH_CTX
释放dirpath 上下文句柄
GCI_HTYPE_DIRPATH_COLUMN_ARRAY
释放dirpath 类数组句柄
GCI_HTYPE_DIRPATH_STREAM
释放dirpath 流句柄
GCI_HTYPE_DESCRIBE
释放描述符句柄

返回值:
如果释放成功,则返回GCI_SUCCESS,释放失败,则返回GCI_ERROR。
注释:
该函书需要配合GCIHandleAlloc 或GCIEnvCreate 使用。

本部分描述了执行冷和外部热恢复过程。
执行外部冷恢复
如果在冷恢复中指定 onbar -r -e 命令,那么必须恢复所有的存储空间。使用 onbar -r -e -p
命令来恢复所有的或特定的存储空间。
要执行外部冷恢复:
1. 使用 onmode -ky 命令来关闭数据库服务器。
2. 使用 onbar -b -l -s 命令来回收逻辑日志。
3. 要从外部备份恢复存储空间,
请使用复制命令,
例如 UNIX™ 上的 cp、
dd 或 tar,
或使用文件备份程序。
必须将存储空间恢复到与原始数据相同的路径中,并包含所有的块文件。
4. 要执行所有存储空间和逻辑日志的外部恢复,请使用 onbar -r -e 命令。
5. 要执行所有存储空间的时间点外部恢复,请使用 onbar -r -e -t datetime 命令。
这一步让数据库服务器转入快速恢复方式。
ON-Bar 和数据库服务器将前滚逻辑日志并使存储空间处于联机状态。

执行外部热恢复
在外部热恢复期间数据库服务器处于联机状态。外部热恢复仅涉及非关键存储空间。
要执行外部热恢复:
1. 要从外部备份恢复存储空间,
请使用复制命令,
例如 UNIX™ 上的 cp、
dd 或 tar,
或使用文件备份程序。
必须将存储空间恢复到与原始数据相同的路径中,并包含每个已恢复存储空间的所
有块文件。
2. 对非关键存储空间执行外部热恢复以使它们处于联机状态。

要恢复选定的存储空间和所有逻辑日志,请使用 onbar -r -e dbspace_list 命
令。

要分步恢复关闭的非关键存储空间(名为 dbsp1)和逻辑日志,请使用以下
命令:
onbar -r -e -p dbsp1

GBase 8s 备份与恢复指南
南大通用数据技术股份有限公司 - 90 -
onbar -r -l dbsp1

要恢复所有非关键存储空间和逻辑日志,请使用 onbar -r -e -O 命令。

外部恢复命令的示例
下表包含外部恢复命令的示例。
外部恢复命令
操作
注释
onbar -r -e
完整的外部恢复
在冷恢复中恢复所有
内容。
在热恢复中,恢复所
有关闭的非关键存储
空间。
onbar -r -e -p
onbar -r -l
物理外部恢复和单独的逻辑恢复
如果各个外部备份来
自不同的时间,那么
必须执行逻辑恢复。
系统从最早的外部备
份恢复逻辑日志。
onbar -r -e dbspace_list 选定的存储空间和逻辑日志的外部
恢复
仅在外部热恢复中使
用该命令。
onbar -r -e
-p dbspace_list
onbar -r -l
选定存储空间外部恢复和单独的逻
辑恢复
仅在外部热恢复中使
用该命令。
onbar -r -e -t datetime
外部时间点(冷)恢复
确保选择指定时间之
前的备份集。
onbar -r -e rename
-p old_path -o
old_offset
-n new_path -o new_offs
et
重命名块的外部(冷)恢复
仅在外部冷恢复中使
用该命令对块进行重
命名。

GBase 8s 备份与恢复指南
南大通用数据技术股份有限公司 - 91 -
外部恢复命令
操作
注释
onbar -r -e -w
onbar -r -e -p -w
整个系统外部恢复
使用 onbar
-r
-e
-w
-p 时,在一个阻塞
和取消阻塞会话中备
份所有的存储空间。
那样,所有的存储空
间将具有相同的检查
点。