您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

将 Multiplex 存储恢复至不同的位置

恢复操作视恢复位置不同而异。

先决条件

  • 确认每个服务器都具有数据库主目录。如果没有,则创建这些目录或从文件系统备份恢复这些目录。

  • 如果这不是您第一次恢复至新位置,请关闭目标位置中正在运行的所有 Multiplex 服务器(协调服务器和辅助服务器)。在执行备份的位置运行的 Multiplex 可以继续运行。 注意 如果在 ODBC 配置中启用自动启动,则可以将与服务器位于同一计算机上的用户设置为自动启动服务器。在恢复数据库时应防止发生这种情况。

  • 确认数据库已成功关闭: 平台操作UNIX% ps -ef | grep iqsrv16 如果看到具有 Multiplex 名称的活动 iqsrv16 进程,请停止该进程。 Windows在任务管理器中,在“进程”选项卡上查找 iqsrv16.exe,或在系统任务栏中查找 “IQ 服务器”图标,然后选择“关闭”。 

  • 生成 .iqmsg 文件的文件系统副本。如果已配置消息日志存档,请参见备份正确的文件。

    过程

  1. 关闭原始协调器,然后使用协调服务器的名称从协调服务器目录启动实用程序数据库:% start_iq -n coordinator_svr -c 32MB -x tcpip(port=1234)

  1. 连接到实用程序数据库 (utility_db):% dbisql -c "eng=coordinator_svr;uid=DBA;pwd=;dbn=utility_db" -host myhost -port 1234

  1. 使用新的位置路径对数据库及其 dbspace 运行 RESTORE 命令。要将特定 dbspace 文件恢复至不同路径,请指定 RENAME 子句。在不停止实用程序数据库的情况下按顺序执行所有或任何增量恢复操作。警告 如果在完全恢复操作与增量恢复操作之间停止实用程序数据库,则可能导致目录失效且恢复后的数据库无法使用。

  1. 启动已恢复的数据库,方法是:重新连接到 utility_db 服务器并指定已恢复的数据库文件名,或者停止该服务器并使用已恢复的数据库重新启动该服务器。如果重新启动服务器,请使用单节点和覆盖标志:-iqmpx_sn 1 -iqmpx_ov 1

  1. 使用 DROP MULTIPLEX SERVER 删除所有辅助节点。例如:DROP MULTIPLEX SERVER node_w3_skm删除最后一个辅助节点之后,将自动关闭协调器,并表明将转换至 Simplex。

  1. 在没有单一节点或覆盖开关的情况下重新启动协调器。

  1. 使用正确的位置路径,包括数据库文件扩展名 (.DB),重新创建所有辅助节点:CREATE MULTIPLEX SERVER node_r2_skm DATABASE'/sunx3005/mpx_simdb.db'HOST 'localhost' PORT 8998ROLE READER STATUS INCLUDED在创建第一个辅助节点之后,将自动关闭服务器,并表明将转换至 Multiplex

  1. 重启协调器时,服务器日志中将显示一条有关 Multiplex 环境即将无效的警告。如果 IQ_SYSTEM_TEMP dbspace 不包含任何文件,则会生成该警告,此规则适用于在步骤 7 中创建的所有辅助节点。暂时可忽略此警告。

  1. 如果高速缓存 dbspace 存在于一个或多个辅助节点上,在这些辅助节点上重新创建高速缓存 dbspace 和 dbfile。当您在步骤 7 中删除并重新创建辅助节点时,高速缓存 dbspace 和 dbfile 没有自动恢复。使用 DROP MULTIPLEX SERVER 语句来删除所有辅助节点;然后在每个节点上创建高速缓存 dbspace;接着手动添加文件,或使用 ALTER MULTIPLEX SERVER 语句使每个辅助节点指向其高速缓存 dbspace 和 dbfile 的路径。

  1. 使用 DROP MULTIPLEX SERVER 语句来删除所有辅助节点;然后在每个节点上创建高速缓存 dbspace;接着手动添加文件,或

  1. 使用 ALTER MULTIPLEX SERVER 语句使每个辅助节点指向其高速缓存 dbspace 和 dbfile 的路径。

  1. 同步并重新启动辅助服务器。

  1. 连接各辅助服务器,并在 IQ_SYSTEM_TEMP 中添加文件。

  1. 在协调器上运行 sp_iqmpxvalidate。应报告 no error detected。

    结果

    要将 Multiplex 的精确副本恢复至不同位置,如果新位置中存在服务器的所有临时文件的副本,请用下面的步骤取代上面的步骤 5 至 12:

    使用 ALTER MULTIPLEX SERVER 来更改每个服务器的服务器名称、主机、端口和数据库路径。