返回首页

gbase数据、南大通用产品文档:GBase8c背景信息

更新日期:2024年09月11日


GBase 8c 工具参考手册
南大通用数据技术股份有限公司
VII

使用 SHMVIRT_ALLOCSEG 配置参数来指定 GBase 8s 应分配新的共享内存段的阈值,以及
如果服务器不能分配新内存段时激活的事件报警级别。
onconfig.std 值
SHMVIRT_ALLOCSEG 0,3

一个数值,可选地后跟一个逗号和另一个数值。
threshold = 当数据库服务器应添加一个共享内存段时指出的数值。:
 0 = 缺省。当需要时数据库服务器分配的共享内存段。
 .40 - .99 = 添加一个段之前使用的内存百分比。
 256 - 10000000 = 添加一个段之前保留的 KB 数。
alarm_level:可选的。一个从 1 至 5 的整数值,指定发出的事件报警级别:1
= 不值得
注意,2 = 信息,3 = 关注(缺省),4 = 紧急,5 = 致命。事件报警的类 ID 是 24,事
件 ID 是 24003。
分隔符
以逗号分隔这些值。
生效
编辑 onconfig 文件并重启数据库服务器之后。
用法
设置 SHMVIRT_ALLOGSEG 配置参数来主动地添加共享内存段,而不是等到数据库服务器自
动地添加共享内存段。
如果不能分配新的内存段,则事件报警每三十分钟重复一次。

使用 archecker 实用程序可执行两种类型的恢复操作。
archecker 实用程序执行的两种恢复类型如下:

基于 0 级归档的物理恢复。

先执行物理恢复,然后执行逻辑恢复,逻辑恢复使用 0 级归档和逻辑日志以将数
据恢复到特定时间点。
archecker 在读取命令文件时,确定是只执行物理恢复,还是在物理恢复后执行逻辑恢复。
缺省情况下,
archecker 执行物理和逻辑恢复。
如果使用了 WITH NO LOG 子句,
archecker
将不执行逻辑恢复。
archecker 在单纯的物理恢复中使用的过程和资源不同于在物理及逻辑恢复中所使用的。
以下各部分概述了这些过程。

物理恢复
当 archecker 实用程序执行物理恢复时,该实用程序将从 0 级归档抽取数据。
执行物理恢复时,archecker 执行以下任务:

在数据恢复之前,
禁用所有约束
(包括引用此目标表的外部约束)

索引和触发器。
如果表没有约束、索引或触发器,那么恢复性能更佳。

读取模式命令文件,以确定以下各项:

源表

目标表

所有表的模式

表位于的数据库空间的名称

从中抽取数据的特定归档

扫描归档,寻找属于被恢复的表的页面

GBase 8s 备份与恢复指南
南大通用数据技术股份有限公司 - 193 -

处理数据页的每一行,以确定该行是完整的还是部分的。
如果该行目前是部分的,那么 archecker 将确定该行剩余部分是否已分阶段,如未
分阶段,那么将其分阶段以便于后续处理。

对于单纯的物理恢复,对该行应用过滤器并拒绝不需要的行。

将该行插入目标表。
要使用原始模式恢复表,必须指定源模式。要使用不同模式恢复表,目标模式中的表名称
必须与源模式中的表名称不同。使用不同模式恢复之后,可以使用 rename table 语句重命
名表。

逻辑恢复
物理恢复后,逻辑恢复可以进一步将表恢复到用户指定的时间点。 为此,archecker 实用
程序读取已备份的逻辑日志,将它们转换成 SQL 语句,然后重放这些语句以恢复数据。
在执行逻辑恢复之前,确保所要恢复的事务都包含在已备份的逻辑日志中。 archecker 实
用程序不能从当前日志中重放事务。 不能对外部表执行逻辑恢复。
如果逻辑恢复期间一个表被更改、删除或截断,那么恢复因该表终止。 终止发生在执行更
改的点上。 archecker 消息日志文件中的消息将记录发生了更改操作。
archecker 实用程序无法在逻辑恢复非记录数据库中的压缩表期间处理压缩字典。如果逻辑
恢复发现为表创建了新的压缩字典,那么恢复将为该表停止。
执行逻辑恢复时,archecker 使用两个同时运行的进程:
stager
汇编逻辑日志并将其保存在表中。
applier
将日志记录转换为 SQL 语句并执行这些语句。

stager
为收集相关的逻辑日志记录,stager 将执行以下步骤:
1. 仅扫描已备份的逻辑日志
stager 读取逻辑日志备份文件并汇编成完整的日志记录。
2. 测试逻辑日志记录
任何不适用于被恢复的表的日志记录将被拒绝。


GBase 8s 备份与恢复指南
南大通用数据技术股份有限公司 - 194 -
3. 将逻辑日志信息插入表中
如果没有拒绝逻辑日志记录,那么会将它插入到一个阶段表中。

applier
applier 从 stager 创建的控制表中读取数据。
它开始处理必需的事务,
并更新控制表以显示
该事务正在处理。 接下来,它按顺序对每条日志记录逐行进行操作,直到事务落实。
所有对控制表的更新在同一个事务中以日志记录修改的形式出现。
这使得所有的工作可以
作为一个独立单元完成或撤销,始终保持了完整性。 如果发生了错误,就会回滚事务,该
错误将记录到该事务的控制表条目中。
如果数据正在恢复而数据库管理员决定包含逻辑恢复,那么两个附加的工作列和一个索引
将被添加到目标表中。 这些列包含了原始行标识及原始部件号。 这些列提供了在原始的
源归档中识别该行位置的唯一键。
要控制索引的存储,
可使用 SET WORKSPACE 命令
(请
参阅 SET 语句)。 否则会将索引和表存储在同一个空间。
applier 结束且恢复完成之后,这些列以及对它们创建的任何索引都将从目标表中删除。