返回首页

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

更新日期:2024年09月11日

使用注意事项
GBase 8a MPP Cluster 提供了丰富的OLAP 函数,辅助用户完成一些复杂的查询
统计。在使用这些函数时,请注意以下几点事项:

OLAP 函数中的PARTITION BY 和ORDER BY 的括号内不再支持使用别名。
SELECT a AS e ,RANK() OVER(ORDER BY e) FROM t1; -- a AS e 后
OVER(ORDER BY e)引用了别名e,不支持此种别名引用。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
884

OLAP 函数中的PARTITION BY 和ORDER BY 的括号内的整型数值不是用
于指定查询结果列的索引。
SELECT a, RANK() OVER(ORDER BY 1) FROM t1;在这个查询语句中,
ORDER BY 括号里的1 不是用于指定引用查询结果列的索引的含义,
即不是
指代a 列,而是当作常量1 来处理。

本部分概述了使用 ontape 恢复整个数据库服务器之前所需完成的先决条件和步骤。
以下列表汇总了完全系统恢复中的主要步骤:
1.
收集适当的备份和逻辑日志磁带。
2.
决定是执行完整的冷恢复还是混合恢复。
3.
验证您的数据库服务器的配置。
4.
执行冷恢复。
尝试整个系统恢复之前请先熟悉这些指示信息。

在恢复前收集备份和逻辑日志磁带
在恢复整个数据库系统前,您必须收集备份和逻辑日志磁带。如果您更改了备份和逻辑日
志文件的名称,那么还必须手动将这些文件重命名为其原始文件名。
备份磁带
从包含要恢复的存储空间的最新 0 级备份以及任何后续 1 级或 2 级备份中收集所
有磁带。
标识出其中有根数据库空间最近一次 0 级备份的磁带;必须先使用该磁带。
逻辑日志磁带
如果在归档检查点时启动了一个打开的事务,请在执行 0 级备份前收集所有逻辑日
志磁带。
从要恢复的存储空间的最新 0 级备份后的备份中,收集所有逻辑日志磁带。
当使用 ontape 创建系统的归档备份时,该归档中会包含逻辑日志的快照。在归档结束
时,系统将显示一条消息以指示归档中包含哪些逻辑日志。归档中包含该快照,这样如果
备份时存在任何打开的事务,这些事务可以在恢复归档时进行调整。然后:

如果您决定不重放任何逻辑日志,系统即可进入一致的状态。

如果您决定重放逻辑日志,那么将放弃归档备份中包含的日志,然后您必须从逻
辑日志备份重放事务。
起始日志文件是最旧的日志文件,其中包含上次恢复归档时的打开事务。您可以从上次恢
复归档时显示的消息识别该日志文件。
示例:

ontape -s -L 0 命令执行系统的 0 级备份,并显示消息以说明归档包含日志 2 到
4。

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


ontape -s -L 1 命令执行系统的 1 级增量备份,并显示消息以说明归档包含日志 8
到 9。
如果您只恢复 0 级归档并且希望重放日志,那么需要从日志 2 开始的日志备份。如果恢
复 0 级和 1 级归档并且希望重放日志,那么需要从日志 8 开始的日志备份。
逻辑日志文件的恢复使用归档格式,而不是日志文件格式。但是,恢复的归档中包含的日
志使用日志文件格式,而不是归档格式。
从目录恢复时的文件名
从文件系统目录恢复时,ontape 要求如 TAPEDEV 和 LTAPEDEV 配置参数所指定那样
命名存储空间归档和逻辑日志备份文件。如果由于重复的归档和备份而重命名了文件(包
括由 ontape 重命名),那么必须手动将这些文件重命名为其原始文件名。要了解存储空
间归档文件和逻辑日志备份文件的命名约定,请参阅备份到目录以获取这些文件的命名约
定。

决定是执行完整的冷恢复还是混合恢复
如冷恢复、热恢复或混合恢复中提到的,如果是恢复整个数据库服务器,可以在冷恢复期
间恢复关键数据库空间(以及需要迅速联机的任何其他存储空间),接着在热恢复期间恢
复剩余的存储空间。启动恢复之前确定是要进行冷恢复还是混合恢复。

验证数据库服务器的配置
在冷恢复期间,不能设置共享内存、添加块或更换磁带设备。因此,开始恢复时,当前数
据库服务器的配置必须保持与最近一次备份后指定的所有参数值一致,并能接受这些值。
有关指导信息,请使用每次备份时创建的配置文件的副本。但是,不要将当前所有参数设
置为与最后一次备份时记录的值相同的那些值。请注意以下三组参数:

共享内存参数

镜像参数

设备参数

将共享内存参数设置为指定的最大值
确保将当前共享内存参数设置为 0 级备份后指定的最大值。例如:如果您在 0 级备份后
的某个时间将 USERTHREADS 的值从 45 减少到 30,那么开始恢复时必须将
USERTHREADS 设置为 45 而不是 30,即使最近一次备份的配置文件副本可能注册了设
置为 30 的 USERTHREADS 值。(如果在 0 级备份后不处理 USERTHREADS 的最大
值的记录,请将该值设置为您需要的最高值。也可以为 BUFFERPOOL、LOCKS 和
TBLSPACES 重新指定值,因为这三个参数的最小值都是基于 USERTHREADS 的值。)

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


将镜像配置设置为 0 级备份状态
请验证当前的镜像配置是否与最近的 0 级备份时的有效配置相匹配。由于建议您在每次
更改镜像配置后都创建 0 级备份,因此这不会产生任何问题。最关键的参数是出现在配
置文件中的镜像参数 MIRRORPATH 和 MIRROROFFSET。

验证原始设备或文件是否可用
验证 0 级备份后用于存储(属于要恢复的存储空间)的原始设备或文件是否可用。
例如:如果在 0 级备份后删除了数据库空间或数据库空间的镜像,那么必须在开始恢复
时确保此数据库空间或镜像块设备对于数据库服务器是可用的。如果数据库服务器试图写
入块中但找不到该块,那么恢复无法完成。同样,如果自上次备份后添加了块,那么必须
在数据库服务器开始前滚逻辑日志时,让块备份对于数据库服务器可用。

执行冷恢复
要执行冷恢复,数据库服务器必须是脱机的。
要使用 ontape,必须以 gbasedbt 用户 或 root 登录。执行以下 ontape 命令可恢复所有存储
空间:ontape -r
如果执行混合恢复,那么在冷恢复期间只恢复部分存储空间。必须至少恢复所有的关键数
据库空间,如以下示例所示:
ontape -r -D rootdbs llogdbs plogdbs

回收逻辑日志文件
冷恢复开始前,控制台提示您回收磁盘上的逻辑日志文件。要回收逻辑日志文件,请使用
新磁带。它将保存您未备份的日志记录,并使您可以将数据库服务器的数据恢复到故障发
生前的情形。
下面显示了一个日志回收示例:
...
继续恢复?(y/n) y
是否要备份日志?(y/n) y

请在 /dev/ltapedev 上安装磁带 1 并按“返回”以继续。
希望备份日志 31 - 32 中的任意一个吗?(y/n) y
逻辑日志 31 - 32 可能已备份。

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

请输入您希望备份的最旧的日志的标识?31

请将该磁带标记为日志磁带序列中的编号 1。

该磁带包含以下逻辑日志:
31-32
日志回收已完成,继续归档的恢复。
恢复 1 级归档 (y/n) y
准备 1 级磁带
...

恢复期间安装磁带
在冷恢复期间,ontape 将提示您安装带有适当备份文件的磁带。
从目录恢复时,提示中会指定目录的绝对路径名。响应提示前,您可以复制或重命名目录
中的文件。
使用 ontape -d 选项可以避免出现提示。使用此选项时,请确保存储空间归档和逻辑日志
备份文件存在于 TAPEDEV 和 LTAPEDEV 参数指定的目录中。ontape 实用程序会扫描
这些目录,获取目录中的文件并将这些文件用于恢复。恢复适用的最新逻辑日志备份文件
后,ontape 会自动落实恢复并将 GBase 8s 实例更改为静默方式。

恢复逻辑日志文件
执行混合恢复时,必须恢复自上次 0 级备份以后备份的所有逻辑日志文件。
执行完全恢复时,可以选择不恢复逻辑日志文件。如果不备份逻辑日志文件或选择不恢复
它们,那么只能将数据恢复到最近一次进行备份时所处的状态。有关更多信息,请参阅使
用 ontape 备份逻辑日志文件。
要恢复逻辑日志,请使用 ontape -l 命令。

恢复完成时使数据库服务器处于联机状态
冷恢复结束后,数据库服务器处于停顿方式。可以让数据库服务器处于联机状态并继续常
规处理。
如果在冷恢复期间仅恢复部分存储空间,那么可以在数据库服务器处于联机状态后对其余
的存储空间启动热恢复。

恢复选定的存储空间

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

这些主题概述当数据库服务器处于联机状态或静默方式时,使用 ontape 恢复选定存储空
间(热恢复)过程中必须执行的步骤。在热恢复期间,与冷恢复不同的是不需要担心共享
内存参数。
尝试恢复前,请先熟悉这些指示信息。
以下列表描述热恢复中采取的主要步骤:
1.
收集适当的磁带
2.
确保需要的设备可用
3.
备份逻辑日志文件
4.
执行热恢复

收集适当的磁带
收集适当的备份和逻辑日志磁带。
备份磁带
开始恢复之前,从包含要恢复的存储空间的最近 0 级备份以及所有随后的 1 级或 2 级
备份中收集所有磁带。
逻辑日志磁带
从要恢复的存储空间的最近一次 0 级备份后的逻辑日志备份中,收集所有逻辑日志磁
带。

确保需要的设备可用
开始恢复前请验证存储设备和文件可用。例如:当您在 0 级备份后删除数据库空间或数
据库空间的镜像时,必须确保开始恢复时数据库空间或镜像块设备对于数据库服务器是可
用的。如果存储设备不可用,那么数据库服务器无法写入块中,恢复将失败。
在上次备份后添加块时,必须确保数据库服务器前滚逻辑日志时,块备份对于数据库服务
器是可用的。

备份逻辑日志文件
开始热恢复前(即使是作为混合恢复的一部分执行热恢复),必须备份逻辑日志文件。请
参阅使用 ontape 备份逻辑日志文件。
执行热恢复后,必须前滚逻辑日志文件,使您要恢复的数据库空间与系统中其他数据库空
间的状态一致。恢复选定的数据库空间后未能前滚逻辑日志,那么 ontape 将生成以下消
息:

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

部分系统恢复未完成。

执行热恢复
要执行热恢复,数据库服务器必须在联机状态或停顿方式下运行。
要使用 ontape,必须以 gbasedbt 用户 或 root 登录。要恢复选定的存储空间,请执
行 ontape 命令,并使用以下示例显示的选项:
ontape -r -D dbspace1 dbspace2
无法在热恢复期间恢复关键数据库空间;必须将其作为冷恢复的一部分进行恢复,如恢复
整个系统中所述。
在恢复期间,ontape 将提示您安装带有适当备份文件的磁带。
热恢复结束时,原来关闭的存储空间又处于联机状态。

恢复原始表
使用 ontape 恢复原始表时,该表中只包含上次备份时磁盘上存在的数据。由于原始表不
记录日志,因此无法恢复自上次备份以来发生的所有更改。要了解更多信息,请参阅备份
原始表和《GBase 8s 管理员指南》。

node (172.168.83.14)
Recover success
--------------------------------------------

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
404