首次启动 HDR

当您完成了 HDR 的配置后,您将准备启动 HDR。本主题描述了启动 HDR 的必需步骤。

您希望在两个数据库服务器(ServerAServerB)上启动 HDR。启动 HDR 的过程(将 ServerA 用作主数据库服务器,将 ServerB 用作辅助数据库服务器)将在以下步骤中进行描述。下表列出了执行每个步骤所需的命令以及发送到消息日志的消息。您可以使用 ontapeON-Bar 执行备份与复原。您必须在整个过程中使用相同的实用程序。
重要: 即使使用 ON-Bar 执行备份与复原,两个数据库服务器上仍然需要 ontape 实用程序来执行备份和应用逻辑日志。不要从参与 HDR 集群环境的数据库服务器除去 ontape 实用程序。
还可以使用外部备份与复原来设置 HDR。 请参阅《GBase 8s 备份与复原指南》,以获取有关如何执行外部备份与复原的信息。请参阅使用 ontape STDIO 功能来减少设置时间,以获取直接从 HDR 主服务器设置 HDR 辅助服务器的最快方法。

要启动 HDR,请执行以下操作:

  1. 在两个数据库服务器上均安装用户定义的类型、用户定义的例程和 DataBlade 模块,然后仅在 ServerA 上注册它们。
  2. 创建 ServerA 的 0 级备份。
  3. 使用 onmode -d 命令将 ServerA 的类型设置为主类型并指示相关联的辅助数据库服务器的名称(在本例中为 ServerB)。

    当您发出 onmode -d 命令时,数据库服务器将尝试与 HDR 对中的另一数据库服务器建立连接并启动 HDR 操作。仅当复制对中另一数据库服务器已经设置为正确类型时,建立连接的尝试才会成功。

    此时,ServerB 未联机且未设置为类型辅助,因此将不会建立 HDR 连接。

  4. 从您在步骤 1 中创建的 0 级备份执行对 ServerB 的物理复原。不要执行逻辑复原。
    如果您使用的是:
    • ON-Bar,请使用 onbar -r -p 命令来执行物理复原。
    • ON-Bar 并正在执行外部复原,请使用 onbar -r -p -e 命令来执行物理复原。
    • ontape,使用 ontape -p 选项。 您无法使用 ontape -r 选项,因为它同时执行物理复原和逻辑复原。
      注: 如果主服务器和辅助服务器位于两台不同的机器上,那么必须将主服务器的物理复原放在辅助服务器上。物理复原的位置将由 onconfig 参数 TAPE 定义。 必须先在辅助服务器上设置 IFX_ONTAPE_FILE_PREFIX 变量,然后才能运行 ontape -p
    • ontape 并正在执行外部复原,请使用 ontape -p -e 命令来执行物理复原。
  5. 使用 onmode -d 命令将 ServerB 的类型设置为辅助类型并指示相关联的主数据库服务器。

    ServerB 尝试与主数据库服务器 (ServerA) 建立 HDR 连接,并启动操作。必须成功建立连接。

    在 HDR 开始前,辅助数据库服务器使用自步骤 2 以来写入主数据库服务器的逻辑日志记录来执行逻辑恢复。如果所有这些逻辑日志记录仍然位于主数据库服务器磁盘上,那么主数据库服务器将通过网络直接将这些记录发送到辅助数据库服务器,并且自动执行逻辑恢复。

    如果您已备份并释放主数据库服务器上的逻辑日志文件,那么这些文件中的记录不再在磁盘上。 辅助数据库服务器会提示您从磁带恢复这些文件。在这种情况下,您必须执行步骤 6
    重要: 在同一会话期间,必须完成步骤 45。如果必须在步骤 4 后关闭并重新启动辅助数据库服务器,那么必须重新执行步骤 4
  6. 如果写入主数据库服务器的逻辑日志记录不再在主磁盘上,那么辅助数据库服务器会提示您从磁带备份恢复这些文件。

    如果辅助数据库服务器必须通过网络读取备份逻辑日志文件,那么将辅助数据库服务器上的磁带设备参数设置为正在运行主数据库服务器的计算机上的设备或设置为与主数据库服务器处于相同位置的设备。

    在您恢复磁带上的所有逻辑日志文件后,逻辑复原将完成使用主数据库服务器磁盘上的逻辑日志文件。

下表说明了前面的步骤,这样您可以清楚地确定在主服务器上执行的步骤和在辅助服务器上执行的步骤。该表还显示在执行每个步骤之后写入日志文件的信息。

表 1. 首次启动 HDR 的步骤
步骤 在主服务器 (ServerA) 上 在辅助服务器 (ServerB) 上
1. 安装 UDR、UDT 和 DataBlade 模块。

注册 UDR、UDT 和 DataBlade 模块。

安装 UDR、UDT 和 DataBlade 模块。
2. ontape 命令:

运行 ontape -s -L 0

ON-Bar 命令

:运行 onbar -b -L 0

发送至消息日志的消息:

Level 0 archive started on rootdbs
Archive on rootdbs completed

 
3.

onmode 命令

onmode -d primary sec_name

发送至消息日志的消息:

DR: new type = primary
    server name = sec_name
DR: Trying to connect to secondary server
DR: Cannot connect to secondary server
 
4.   ontape 命令

运行 ontape -pontape -p -e

当提示您备份日志时回答

ON-Bar 命令

运行 onbar -r -ponbar -r -p -e

发送至消息日志的消息:

GBase 8s Database Server Initialized --
   Shared Memory Initialized
Recovery Mode
Physical restore of rootdbs started
Physical restore of rootdbs completed
5.   运行 onmode -d secondary prim_name

发送至消息日志的消息:

DR: new type = secondary, primary server
   name = prim_name

如果自步骤 1 以来写入主数据库服务器的所有逻辑日志记录仍位于主数据库服务器磁盘上,那么辅助数据库服务器将读取这些记录以执行逻辑恢复。(否则,必须执行步骤 6)。

 

发送至消息日志的消息:

DR: Primary server connected
DR: Primary server operational

发送至消息日志的消息:

DR: Trying to connect to primary server
DR: Secondary server connected
DR: Failure recovery from disk in progress
n recovery worker threads will be started
Logical Recovery Started
Start Logical Recovery - Start Log n, End Log ?
Starting Log Position - n 0xnnnnn
DR: Secondary server operational
6.   ontape 命令

ontape -l

ON-Bar 命令

onbar -r -l

 

发送至消息日志的消息:

DR: Primary server connected
DR: Primary server operational

发送至消息日志的消息:

DR: Secondary server connected
DR: Failure recovery from disk in progress
n recovery worker threads will be started
Logical Recovery Started
Start Logical Recovery - Start Log n, End Log ?
Starting Log Position - n 0xnnnnn
DR: Secondary server operational