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

将数据库转换为 Multiplex

要将 SAP IQ 数据库更改为 Multiplex,应连接到 SAP IQ 数据库并使用 CREATE MULTIPLEX SERVER。

先决条件

在 Multiplex 环境中,所有 IQ 主存储文件路径必须是 Multiplex 中的所有服务器均可访问的绝对路径或相对路径。

过程

  1. 请确保系统符合硬件前提条件。主存储库 dbfile 必须对辅助节点可见。

  1. 启动 SAP IQ 服务器并连接到具有可共享主存储的数据库。此服务器成为 Multiplex 的事务协调器:start_iq @params.cfg -n mpxnode_c -x "tcpip{port=2763}" mpxtest.db

  1. 连接使用 Interactive SQL:dbisql

  1. 在 Interactive SQL 中运行 CREATE MULTIPLEX SERVER 命令:CREATE MULTIPLEX SERVER mpxnode_w1 DATABASE '<database path>/mpxtest.db' HOST 'host2' PORT 2957 ROLE WRITER STATUS INCLUDED此命令将已连接的服务器 mpxnode_c 连接到协调器,并为辅助写入程序服务器 mpxnode_w1 创建定义。

  1. 该服务器关闭以将服务器重新初始化为 Multiplex 协调器。(作为此关闭的正常步骤,创建第一个辅助节点时,Interactive SQL 可能会返回无须更正操作的断开连接 (-308) 错误。)

  1. 重新启动协调器。start_iq @params.cfg -n mpxnode_c -x "tcpip{port=2763}" mpxtest.db

  1. 将目录存储库备份到将运行辅助服务器的目录中。因为 .db 文件应位于本地磁盘上,所以在辅助节点计算机上,从将运行辅助节点的计算机运行此备份命令。例如,从辅助节点的 .db 文件所在的目录运行以下命令:dbbackup -y -d -c "uid=DBA;pwd=;links=tcpip{port=2763};eng=mpxnode_c" .如果您已更改辅助节点的 .db 文件将驻留的目录,则可以在 dbbackup 命令上指定点 (.) 而非路径。

  1. 删除将运行辅助服务器的目录中的事务日志文件:rm -rf mpxtest.log

  1. 运行 dblog 以重置事务日志:dblog -r -t mpxtest.log mpxtest.db

  1. 启动辅助服务器:start_iq -STARTDIR /host2/mpx @params.cfg -n mpxnode_w1 -x "tcpip{port=2957}" mpxtest.db

  1. 启动 Interactive SQL 并连接到辅助 Multiplex 节点:dbisql -c "uid=DBA;pwd=;eng=mpxnode_w1;links=tcpip{port=2957}"

  1. 使用 ALTER DBSPACE 语句在 Interactive SQL 中添加临时 dbfile。辅助服务器不允许使用 CREATE DBSPACE。ALTER DBSPACE IQ_SYSTEM_TEMP ADD FILE mpxnode_w1_temp 'w1_temp1.iqtmp' SIZE 500启动服务器将为您创建消息日志,但您必须自行创建临时存储文件。您必须连接到辅助服务器,为该服务器添加一个临时存储文件。在 Multiplex 中添加临时存储文件是专门向您已建立连接的服务器添加文件。您可以启动服务器,但直到添加了临时存储,您才能运行 IQ 查询。