验证配置

DR 设置完成后,通过执行完全切换或打开辅助站点进行验证,立即验证设置是否正确。打开辅助站点进行验证不会影响在主要站点中运行的系统。

打开辅助验证

您可以通过将备用数据库转换为快照备用数据库来验证备用站点而不执行完全切换。这允许在备用站点中启动辅助 WebLogic Server 服务器并验证辅助系统。在备用站点数据库中处于快照备用模式时执行的任何更改将在再次转换为物理备用数据库后被放弃。主要数据不受辅助站点验证影响。

注意:

此操作必须谨慎:如果数据库在转换为快照时存在暂挂的 JMS 消息,则备用站点的服务器将在启动时处理这些消息。检查在转换为快照备用数据库时主数据库中是否没有暂挂操作。
  1. oracle 用户身份,在主数据库主机中使用 Oracle Data Guard 代理,并将辅助数据库转换为快照备用数据库。
    [oracle@dbhost1~]$ dgmgrl sys/your_sys_password@primary_db_unqname
    DGMGRL> convert database secondary_db_unqname to snapshot standby
    
    使用命令 show configuration 验证是否已正确执行转换。
  2. 如果尚未启动,请在辅助站点中启动 Oracle HTTP Server 系统。
  3. 在辅助站点中启动管理服务器。
  4. 启动辅助站点中的辅助托管服务器。
    使用 WebLogic 控制台或脚本启动辅助托管服务器。
  5. 验证辅助站点。

    由于这不是切换操作,并且主站点仍处于活动状态,因此虚拟前端名称将解析为主站点的负载平衡器 IP 地址,因此默认情况下,任何浏览器访问都将被重定向到活动主站点。

    要直接访问辅助站点的 WebLogic 服务器应用程序,必须在受控客户机(例如手提电脑)中更新 /etc/hosts 文件,设置虚拟前端名称以解析为辅助站点的前端负载平衡器 IP 地址,并从此客户机运行任何验证。

    注意:

    验证用于验证的客户机是否不会通过 HTTP 代理访问系统,因为 HTTP 代理可能会继续使用主站点的负载平衡器 IP 地址解析虚拟前端名称,而不管哪个名称位于客户端的 /etc/hosts 中。

    在浏览器使用定制的主机文件条目解析 IP 地址之前,非 Linux 客户机可能需要重置其本地 DNS 高速缓存。

    验证辅助站点后,转到下一步以将其恢复为备用角色。

    注意:

    验证辅助站点可能需要一些时间。
  6. 停止辅助站点中的托管服务器和管理服务器。
    使用辅助 WebLogic 控制台关闭辅助站点中的托管服务器和管理服务器。
  7. oracle 用户身份,在 primary 数据库主机中使用 Oracle Data Guard 代理,然后再次将辅助数据库转换为物理备用数据库。
    您需要系统口令和主数据库的唯一名称。
    [oracle@dbhost1 ~]$ dgmgrl sys/your_sys_password@primary_db_unqname
        DGMGRL> convert database secondary_db_unqname to physical standby
    使用 show configuration 验证转换。
  8. 还原所有更新的 /etc/hosts 文件。
    如果将客户机中的任何 /etc/hosts 文件更新为指向辅助站点进行验证,则恢复,以便虚拟前端名称再次指向主前端 IP 地址。

执行切换

切换是计划操作,管理员在其中恢复两个站点的角色。切换后,主系统变为辅助系统,辅助系统变为主要系统。执行切换将导致主站点停机。
WebLogic Server 混合 DR 配置中执行切换之前,传播所有暂挂的配置更改。确保对辅助站点没有任何待处理的复制更改。
  1. 在执行切换时禁用任何调度的复制,因为它可能会失败并干扰切换操作本身。
  2. 停止主站点中的 Oracle HTTP Server 系统。
  3. 停止主站点中的服务器。
    使用 WebLogic 管理服务器控制台或脚本停止主站点中的 WebLogic 服务器。

    注意:

    主站点中的管理服务器可以在切换期间保持运行状态。但是,建议在站点处于备用角色时停止该站点,因为在生命周期中主配置将覆盖备用站点中的域配置。如果管理服务器在发生这种情况时已启动,它将使用过时的配置运行。
  4. 切换前端 DNS 名称。

    在托管系统使用的名称的 DNS 服务器中执行所需的 DNS 推送,或者更改客户端中的文件主机解析,以将系统的前端虚拟名称指向辅助站点中的负载平衡器使用的公共 IP。

    对于将 DNS 用于外部前端解析(例如 OCI DNS 或商业 DNS)的情况,您可以使用 API 来推动更改。要查看在 OCI DNS 中推送此更改的示例,请转至 GitHub (例如脚本)。

    请注意,DNS 条目的 TTL 值将影响切换的 RTO:如果 TTL 高(例如 20 分钟),则 DNS 更改将需要该时间才能在客户机中生效。使用较低的 TTL 值会使其更快;但是,这可能会导致开销,因为客户机将更频繁地命中 DNS 而不是使用缓存的名称。好的方法是在 DNS 更改之前将 TTL 暂时设置为低值(例如,1 分钟)。然后,执行更改,完成切换过程后,再次将 TTL 恢复为其原始值。

  5. oracle 用户身份在主数据库主机中使用 Oracle Data Guard 中介来执行数据库切换。
    您需要系统口令和主数据库的唯一名称。
    [oracle@dbhost1~]$ dgmgrl sys/your_sys_password@primary_db_unqname
    DGMGRL> switchover to secondary_db_unqname
  6. 如果尚未启动,请在辅助站点(新的主站点)中启动 Oracle HTTP Server 系统。
  7. 在辅助站点(新的主站点)中启动管理服务器,或者重新启动服务器(如果已启动)。
    通过启动管理服务器,可以在备用数据库生效时复制的配置更改。
  8. 在辅助站点(新的主站点)中启动辅助托管服务器。
    使用 WebLogic 控制台或脚本启动辅助托管服务器。