您好,我是小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 查询。