您可以备份一台计算机上的数据并在另一台计算机上复原该数据。对于灾难恢复或升级数据库服务器,导入复原很有用。备份数据并移至存储管理器对象上之后,可以执行导入的复原。导入的复原涉及将源计算机中的文件复制到目标计算机,以及以多种方式之一执行复原。
先决条件:
- 您的存储管理器必须支持导入的复原。
- 整个系统的备份必须包含所有存储空间;逻辑日志是可选的。
0 级备份必须包含所有存储空间和逻辑日志。
- 源计算机和目标计算机都必须在相同的 LAN 或 WAN 上,并且必须具有以下属性:
- 相同的硬件和操作系统
- 相同的数据库服务器版本
- 相同的配置和 ROOTPATH 信息,但服务器名称和数量可以不同。
- 相同的存储管理器版本
- 兼容的 XBSA 库
重要: 要完成导入复原,源计算机和目标计算机上的每个块(包括镜像)的大小、位置和偏移量都必须精确匹配。
要执行导入的复原:
-
在目标计算机上安装数据库服务器和存储管理器。
-
在目标数据库服务器实例上安装存储管理器。
-
设置必要的环境变量。
-
定义与源实例上类型相同的存储设备。
-
用正确的池名标记存储介质。
-
安装存储设备。
-
用存储管理器的版本更新目标计算机上的 sm_versions 文件。
-
对于与源计算机上的设备和链接匹配的块,确保目标计算机已将这些设备和链接准备就绪
-
对源数据库服务器上的所有存储空间执行 0 级备份(onbar -b 或 onbar -b -w)。
-
如果在使用 Storage Manager,请遵循以下步骤:
-
关闭两台计算机上的存储管理器。
-
在源计算机上创建存储管理器目录的 tar 文件。
-
将这个 tar 文件复制到目标计算机上并解包。
如果使用其他存储管理器,您可以使用备份磁带或通过网络导入存储管理器目录。要了解更多信息,请参阅您的存储管理器文档。
-
安装传送的存储卷。
- 如果备份文件在磁盘上,请将它们从源计算机复制到目标计算机上。
- 如果备份位于磁带上,请在连接到目标计算机的存储设备上安装传输的卷。源计算机和目标计算机都必须使用相同类型的存储设备,如 8 毫米磁带或磁盘。
- 如果备份位于备份服务器上,请从该备份服务器检索该备份。
-
使用存储管理器命令将源主机名作为客户机添加到目标计算机上。
-
将以下文件从源计算机复制到目标计算机上。
表 1. 要复制的管理文件
文件 |
操作 |
紧急引导文件 |
用目标数据库服务器编号重命名紧急引导文件。例如:将 ixbar.51 重命名为 ixbar.52。
紧急引导文件只需要来自源计算机上 0 级备份的条目。
文件名为 ixbar.servernum。
|
oncfg 文件:oncfg_
servername.servernum |
ON-Bar 需要让 oncfg 文件知道要检索哪些数据库空间。用目标数据库服务器的名称和编号重命名 oncfg 文件。例如:将 oncfg_bostonserver.51 重命名
为 oncfg_chicagoserver.52。该文件名必须与目标计算机上的 DBSERVERNAME 和 SERVERNUM 相匹配。
|
onconfig 文件
|
在 onconfig 文件中,使用目标数据库服务器名称和编号更新 DBSERVERNAME 和 SERVERNUM 参数。
|
存储管理器配置文件,如果有该文件
|
存储管理器配置文件可能需要更新。 |
-
使用以下方法之一复原数据:
表 2. 复原数据选项.
选项 |
操作 |
如果未在目标服务器上启动 GBase 8s 实例
|
使用 onbar -r 命令来复原数据。
|
如果要导入整个系统备份 |
使用 onbar -r -w -p 命令来复原数据。
|
如果已在目标服务器上启动了 GBase 8s 实例。
|
分阶段复原数据:
- 使用 onbar -r -p 命令来复原物理数据。
- 使用 onbar -r -l 命令来复原逻辑日志。
此过程可避免回收日志和对实例的任何潜在破坏。
|
-
在您使用 onsmsync 实用程序使目标计算机和存储管理器上的对象到期之前,请执行以下某个任务。
否则,onsmsync 将使错误对象到期。
- 手动编辑目标计算机上的 $GBASEDBTDIR/etc 目录中的紧急引导文件 viz ixbar.servernum。将源计算机上使用的 GBase 8s 服务器名称替换为目标计算机的 GBase 8s 服务器名称
- 在目标计算机上以用户 gbasedbt 身份运行 onsmsync -b 命令,以只从 sysutils 数据库重新生成紧急引导文件。重新生成的紧急引导文件反映了目标计算机的服务器名称。