返回首页

gbase数据、南大通用产品文档:GBase8agcluster_connection_keep_idle

更新日期:2024年09月11日

取值:[60,7200]
默认值:120
说明:连接开启心跳发送前的空闲时间,最小60,最大7200,默认为120。
修改方式:可使用set 语句修改值也可在配置文件中修改值。适用于global 范围。

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

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

先执行物理恢复,然后执行逻辑恢复,逻辑恢复使用 0 级归档和逻辑日志以将数
据恢复到特定时间点。

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

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

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

在数据恢复之前,禁用所有约束(包括引用此目标表的外部约束)、索引和触发
器。如果表没有约束、索引或触发器,那么恢复性能更佳。

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

源表

目标表

所有表的模式

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

从中抽取数据的特定归档

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

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

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

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

逻辑恢复
物理恢复后,逻辑恢复可以进一步将表恢复到用户指定的时间点。 为此,archecker 实用
程序读取已备份的逻辑日志,将它们转换成 SQL 语句,然后重放这些语句以恢复数据。
在执行逻辑恢复之前,确保所要恢复的事务都包含在已备份的逻辑日志中。 archecker 实
用程序不能从当前日志中重放事务。 不能对外部表执行逻辑恢复。

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

如果逻辑恢复期间一个表被更改、删除或截断,那么恢复因该表终止。 终止发生在执行
更改的点上。 archecker 消息日志文件中的消息将记录发生了更改操作。
archecker 实用程序无法在逻辑恢复非记录数据库中的压缩表期间处理压缩字典。如果逻
辑恢复发现为表创建了新的压缩字典,那么恢复将为该表停止。
执行逻辑恢复时,archecker 使用两个同时运行的进程:
stager
汇编逻辑日志并将其保存在表中。
applier
将日志记录转换为 SQL 语句并执行这些语句。

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

3.
将逻辑日志信息插入表中
如果没有拒绝逻辑日志记录,那么会将它插入到一个阶段表中。

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

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

语法
GROUP BY ROLLUP( (…),(…),…)
功能
对ROLLUP 后面括号里的n 个字段或表达式组合做GROUP BY 操作,最后将结果
合并在一起,组合方式为n、n-1、n-2、…、1、0。
详见下面的解释:
GROUP BY ROLLUP(A,B,C) (A、B、C 代表语法中的“(…)”)
首先会对(A、B、C)进行GROUP BY,然后对(A、B)进行GROUP BY,然后是(A)
进行GROUP BY,
然后对全表进行GROUP BY 操作,
最后将所有结果合并在一起(相
当于UNION ALL 操作),如果n 个字段或表达式中的一个或多个在某一分组中不出
现在GROUP BY 后面,用NULL 代替不出现的字段或表达式。
通常该函数用于统计例如商品的明细,小计以及最后总计的场景。
示例
示例1:GROUP BY ROLLUP(color_type,f_YearMonth)

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 576
gbase> SELECT NVL(color_type,'') as color_type_show,DECODE(NVL(color_type,''),'','总计
',NVL(f_YearMonth,color_type || ' 小计')) AS f_YearMonth_show,SUM(color_count) FROM
(SELECT color_type,DATE_FORMAT(in_date, '%Y-%m') as f_YearMonth,color_count FROM
t3) t GROUP BY ROLLUP(color_type,f_YearMonth) ORDER BY color_type,f_YearMonth;
+-----------------+------------------+------------------+
| color_type_show | f_YearMonth_show | SUM(color_count) |
+-----------------+------------------+------------------+
| black | 2010-09 | 18 |
| black | 2010-10 | 49 |
| black | black 小计 | 67 |
| blue | 2010-09 | 38 |
| blue | 2010-10 | 62 |
| blue | blue 小计 | 100 |
| red | 2010-09 | 41 |
| red | 2010-10 | 23 |
| red | red 小计 | 64 |
| | 总计 | 231 |
+-----------------+------------------+------------------+
10 rows in set