返回首页

gbase数据、南大通用产品文档:GBase8s恢复系统

更新日期:2024年09月11日

恢复系统包含备份与恢复系统,它允许您备份数据库服务器的数据,并在当前数据毁坏或
无法访问的情况下随即恢复备份的数据。
数据毁坏或丢失的原因可能从程序错误到磁盘故障,或直到损坏整个设备的灾难性事故
等。恢复系统使您可以恢复在类似的灾难性事故中丢失的数据。

备份系统
备份是数据库服务器维护的一个或多个数据库空间(也称为存储空间)和逻辑日志的副
本。您还可以备份 Blob 空间和智能大对象空间。
备份副本通常会写入辅助存储介质,例如磁盘或磁带。以脱机方式存储介质,并且如有可
能,请保存一个非现场的副本。
备份副本通常会写入辅助存储介质,例如磁盘、磁带或光盘。以脱机方式存储介质,并且
如有可能,请保存一个非现场的副本。
重要: 数据库备份不会替换常规的操作系统备份,后者备份除了 GBase 8s 数据库文件之
外的其他文件。
下图说明了数据库备份的基本概念。
图: 数据库服务器数据的备份


不必始终备份所有的存储空间。如果某些表每天都更改而其他一些则很少更改,那么每次
备份数据库服务器时都备份包含未更改表的存储空间,这将导致效率低下。因此必须仔细
地规划备份调度以避免备份或恢复数据时较长的延迟。

备份级别
为了提供灵活性,ON-Bar 和 ontape 实用程序支持三个备份级别。
0 级
0 级备份将备份指定存储空间内所有包含数据的已使用的页。
您需要所有这些页将数据库恢复到备份时所处的状态。

GBase 8s 备份与恢复指南
南大通用数据技术股份有限公司 - 3 -
0 级备份可能耗时比较长,因为 ON-Bar 会写入所有磁盘页面以备份介质。1 级和 2
级备份花费的时间有可能几乎 与 0 级备份相同,这是因为数据库服务器必须扫描所
有的数据以确定自上次备份以来更改的内容。从 0 级、1 级 和 2 级备份恢复数据
的时间比从 0 级备份和一长串逻辑日志备份恢复数据花费的时间要少。
1 级
1 级备份只备份自上次指定的存储空间进行 0 级备份后更改的数据。
所有已更改的表和索引页(包含带有已删除数据的那些页面)都将进行备份。复制到
备份的数据反映 1 级备份开始时更改过的数据的状态。
1 级备份占用的空间和花费的时间比 0 级备份要少,因为前者只将上次 0 级备份后
更改的数据复制到存储管理器中。
2 级
2 级备份只备份自上次指定的存储空间进行 1 级备份后更改的数据。
2 级备份包含自上次 1 级备份后在存储空间中更改过的每个表和索引页的副本。
2 级备份占用的空间和花费的时间比 1 级备份要少,因为前者只将上次 1 级备份后
更改的数据复制到存储管理器中。
重要: 如果磁盘和其他介质损坏并需要更换,您需要对所有存储空间和相关逻辑日志至少进
行 0 级备份,才能在更换硬件上完全恢复数据。

逻辑日志备份
逻辑日志备份是所有填满的逻辑日志文件在磁盘或磁带上的副本。逻辑日志文件存储发生
在备份间的数据库服务器活动记录。
要释放填满的逻辑日志文件,首先要备份它们。数据库服务器将重用这些已释放的逻辑日
志文件用于记录新事务。有关逻辑日志的完整描述,请参阅《GBase 8s 管理员指南》。
限制: 即使没有指定为数据库或表记录日志,您仍然需要备份逻辑日志,因为它们包含了管
理信息,例如检查点记录和块的添加和删除。如果备份了这些逻辑日志文件,即使不为任何数
据库使用日志记录仍然可以进行热恢复。
手动和连续逻辑日志备份
您可以手动备份逻辑日志,也可以启用连续逻辑日志备份。
手动逻辑日志备份将备份所有已满的逻辑日志文件,并在当前逻辑日志文件处停止。必须
仔细监视逻辑日志,并根据需要启动逻辑日志备份。
要了解逻辑日志文件是否已准备好进行备份,请检查 onstat -l 的标志字段。当逻辑日志文
件标记为已备份后,它可以被重新使用。当标志字段显示以下值中的任意一个时,逻辑日
志文件已准备好进行备份:
U------

GBase 8s 备份与恢复指南
南大通用数据技术股份有限公司 - 4 -
U-----L
值 U 表示逻辑日志文件已被使用。值 L 表示最近的检查点发生时指示的逻辑日志文件是
当前文件。值 C 指示当前日志。如果B 出现在第三列,那么逻辑日志文件已备份并可以重
新使用。
U-B---L
标志值 U---C-L 或 U---C-- 表示当前逻辑日志。虽然允许您备份当前逻辑日志,但这样做
将强制执行日志切换,从而浪费逻辑日志空间。等到逻辑日志文件填满后才备份它。
如果开启连续逻辑日志备份,数据库服务器将自动备份每个要填满的逻辑日志。如果关闭
连续逻辑日志备份,那么继续填充逻辑日志文件。如果所有逻辑日志都已填满,数据库服
务器会挂起,直到备份了这些日志为止。您可以通过在 onconfig 文件中设置
ALARMPROGRAM 配置参数或者通过运行 ON-Bar 或 ontape 命令来启动连续逻辑日志
备份。
日志回收
当数据库服务器处于脱机状态时,您可以执行特别的逻辑日志备份,称为日志回收。在日
志回收中,数据库服务器直接从磁盘访问日志文件。日志回收将备份所有还未备份并且还
未毁坏或损坏的逻辑日志。
日志回收使您可以将所有数据恢复到最近一个可用的并且没有被毁坏的逻辑日志文件以及
最近一次完整的事务中。
保存逻辑日志备份
您应该频繁执行逻辑日志备份,然后从至少最近两个 0 级备份保存逻辑日志备份,这样
就可以使用它们来完成恢复。
经常进行逻辑日志备份,原因如下:

释放已满的逻辑日志文件

当包含逻辑日志的磁盘出现故障时将数据丢失降低到最小限度

确保恢复包含一致的以及最近的事务
您应该从最近两个 0 级备份保存逻辑日志备份,因为如果某个 0 级备份不可访问或无法
使用,您可以从较旧备份中恢复数据。如果所有逻辑日志备份都是不可访问或无法使用
的,那么无法从这些逻辑日志文件或任意后继逻辑日志文件中前滚这些事务。
重要: 您会丢失未备份或未回收的逻辑日志文件中的事务。
为举例说明,如下图所示,假定您在星期一晚上 10 点执行 0 级备份,并接着在星期二
午夜备份逻辑日志。在星期三上午 11 点发生灾难性事故,数据库遭到毁坏。除非您设置
了连续逻辑日志备份,否则您将不能恢复星期二午夜和星期三上午 11 点之间发生的事
务。

GBase 8s 备份与恢复指南
南大通用数据技术股份有限公司 - 5 -
如果包含带有逻辑日志的存储空间的磁盘受损,那么星期二午夜后的事务将丢失。要从最
近的逻辑日志备份中恢复这些事务,请尝试在修理或更换坏磁盘前回收这些逻辑日志并随
后执行冷恢复。
图: 存储空间和逻辑日志备份



恢复系统
恢复就是从已备份的存储空间和逻辑日志文件中重新创建数据库服务器的数据。
由于以下任一条件造成数据库服务器数据不可访问时,恢复将重新创建这些数据:

需要更换包含数据库服务器数据的出故障的磁盘。

程序的逻辑错误毁坏了数据库。

需要将数据库服务器数据移到新的计算机上。

用户意外地毁坏或破坏了数据。
要将数据恢复到发生故障时的状态,必须至少具有在发生故障之前每个存储空间的一个 0
级备份以及包含存储空间备份后所有事务的逻辑日志文件。
物理和逻辑恢复
ON-Bar 和 ontape 分两个阶段恢复数据库服务器的数据。 第一个阶段是物理恢复,它从所
有或选定存储空间的备份中恢复数据。第二个阶段是逻辑恢复,它从逻辑日志备份中恢复
事务。
物理恢复

GBase 8s 备份与恢复指南
南大通用数据技术股份有限公司 - 6 -
在物理恢复期间,ON-Bar 或 ontape 从最近的 0 级、1 级和 2 级备份恢复数据。当遇到
磁盘故障时,可以只将驻留在出故障的磁盘上带有块的那些存储空间恢复到新磁盘上。下
图对物理恢复进行了说明。
图: 物理恢复


逻辑恢复
如下图所示,数据库服务器重放逻辑日志来重新应用上次备份后发生的所有数据库事务。
逻辑恢复仅应用于已物理恢复的存储空间上。
图: 逻辑恢复


数据库服务器将自动分辨要恢复哪些逻辑日志。
有关更多信息,请参阅使用 ON-Bar 恢复数据和使用 ontape 恢复。
热恢复、冷恢复和混合恢复
恢复数据时,您必须确定是在数据库服务器处于停顿、联机还是脱机方式时进行该操作。
恢复的类型取决于服务器处于其中哪一种操作方式。
恢复的种类如下:

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

如果在数据库服务器处于联机或静默状态时恢复非关键数据库空间,那么该过程
称为热恢复。

当 GBase 8s 处于脱机状态时,您只能执行冷恢复。

混合恢复是对某些存储空间进行冷恢复后接着对其余的存储空间进行热恢复。
热恢复
如下图所示,热恢复将恢复非关键的存储空间。热恢复由一个或多个物理恢复、一个逻辑
日志备份以及一个逻辑恢复组成。
图: 热恢复


不能同时执行多个热恢复。
冷恢复
如下图所示,冷恢复会回收逻辑日志,并恢复关键数据库空间(根数据库空间以及包含物
理日志和逻辑日志文件的数据库空间)、其他存储空间以及逻辑日志。
图: 冷恢复

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


通过在恢复期间为任何块提供新路径名和偏移量,可以在与执行备份的计算机不同的计算
机上执行冷恢复。
恢复整个系统备份时,不需要恢复逻辑日志。整个系统备份包含在执行备份时整个实例的
快照,它在所有数据库空间之间具有逻辑一致性。
当恢复标准备份时,您必须执行逻辑恢复来恢复逻辑日志。
冷恢复首先对所有关键存储空间进行物理恢复,接着恢复非关键存储空间,最后恢复逻辑
日志。根数据库空间的保留页恢复后,数据库服务器进入恢复方式。当逻辑恢复完成后,
数据库服务器进入停顿方式。使用 onmode 命令使数据库服务器变成联机状态。
提示: 如果镜像关键数据库空间,那么您不太可能在磁盘故障后执行冷恢复,因为数据库服
务器可以使用镜像的存储空间。如果镜像逻辑日志空间,当一个或多个磁盘出现故障时更可能
回收逻辑日志数据。
必需: 恢复复制前,Enterprise Replication 服务器需要进行冷恢复。
混合恢复
混合恢复可使关键数据更快可用,但是,完整恢复需要更长的时间,因为逻辑日志将进行
多次恢复和重放,初始冷恢复时一次,每个后续热恢复时各一次。
存储在冷恢复中的初始存储空间集合必须包含服务器中的所有关键存储空间。如果在初始
冷恢复期间并未达到恢复所有存储空间的程度,那么可以避免恢复它们所必需的时间,从
而与执行整个服务器的冷恢复相比,您可以使服务器更快地处于联机状态。然后您可以在
一个或多个热恢复中恢复剩余的存储空间。
在冷恢复期间没有恢复的存储空间即使可能没有被故障损坏,也只有在热恢复中对它们进
行恢复以后才可用。
连续日志恢复

GBase 8s 备份与恢复指南
南大通用数据技术股份有限公司 - 9 -
连续日志恢复可保持辅助系统可用,以在恢复日志的主系统发生故障时替换主系统。
标准日志恢复将恢复所有可用日志文件备份并应用日志记录。在最后一个可用日志恢复和
应用之后,日志恢复结束。仍处于打开状态的事务将回滚到事务清除阶段,然后服务器将
处于停顿模式。服务器停顿后,将不能恢复更多的逻辑日志。
通过连续日志恢复(而不是事务清除),在恢复最后一个可用日志后,服务器将处于日志
恢复暂挂状态。恢复客户机(ontape 或 ON-Bar)退出并将控制权返回给您。对处于此状
态的服务器,您可以在其他逻辑日志可用之后,启动另一个逻辑恢复。一旦将每个日志恢
复作为连续日志恢复启动,您可以不断地继续该循环。
连续日志恢复的作用之一就是在主系统故障的情况下保持辅助系统可用。可以在辅助系统
上恢复曾经在主系统上备份的逻辑日志(当逻辑日志可用时)。如果主系统发生故障,那
么可以在辅助系统上恢复剩下的可用逻辑日志,并使辅助系统联机作为新的主系统。
连续的日志恢复所需的网络带宽远比高可用性数据复制 (HDR) 和企业数据复制 (ER) 所
需的带宽少。连续的日志恢复比 HDR 和 ER 更便捷,因为您可以在任意时间启动连续
的日志恢复。因此,在不可预料的情况下(如网络间断时),连续的日志恢复比 HDR 或
ER 更稳健。
有关更多信息,请参阅通过使用 ON-Bar 来配置连续日志恢复和使用 ontape 配置连续日
志恢复。

使用 DB_LIBRARY_PATH 配置参数来指定一个逗号分隔的有效目录前缀位置的列表,数
据库服务器可从此加载外部模块,比如 DataBlade Modules。您还可在该列表中包括服务器
环境变量,比如 $GBS_HOME。
您必须确切地指定外部模块的路径,与数据库服务器注册的路径一致。相对路径或包括双
句号(..)的路径无效。不用这个参数指定的文件系统中的模块不可加载。在加载 C 语言
模块前扫描这个列表。
如果您设置这个配置参数,您还必须包括字符串 $GBS_HOME/extend 作为该值的一部分。
如果 DB_LIBRARY_PATH 中未包括字符串 $GBS_HOME/extend,则不加载内建扩展、
DataBlade 模块和 BladeManager 实用程序。
onconfig.std 值
未设置
如未出现
数据库服务器可从任何位置加载外部模块

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


路径名列表(最多 512 字节)
分隔符
逗号
生效
编辑 onconfig 文件并重启数据库服务器之后。

本出版物描述了如何使用 DB-Access 实用程序来从 GBase 8s 数据库服务器访问、修改和
检索信息。
重要: 将 DB-Access 与 GBase 8s 数据库服务器的当前版本一起使用。如果您将
DB-Access 用于不同版本的数据库服务器,那么您将可能获得不一致的结果,例如:当您
将不支持长标识的版本与支持长标识的版本一起使用时。
本出版物是为以下用户编写的:
l
数据库用户
l
数据库管理员
l
数据库应用程序程序员
本出版物假定您有以下知识背景:
l
对于计算机、操作系统和操作系统提供的实用程序的应用知识
l
使用关系数据库的相关经验或者了解数据库概念
l
一些计算机编程经验