环境要求
informix用户、设置环境变量、安装数据库实例等)。onbar或dbexport),防止数据丢失。创建复制专用用户
在源服务器上创建用于复制的用户,并授予REPLICATION权限(确保用户具备数据读取和同步权限):
CREATE USER repuser IDENTIFIED BY "StrongPassword123";
GRANT REPLICATION TO repuser;
该用户将用于复制进程的身份验证。
修改onconfig文件
onconfig是Informix的核心配置文件(通常位于/opt/informix/etc/目录),需调整以下参数启用复制功能:
REPLICATION = YES # 开启复制功能
REPLICA = target_server_ip # 目标服务器的IP地址或主机名
REPLICA_PORT = 2438 # 目标服务器的Informix监听端口(默认2438)
REPLICATION_SERVER = ON # 开启复制服务器
REPLICATION_PORT = 9088 # 复制服务器的专用端口(自定义,需与目标服务器一致)
PRIMARY = source_server_ip # 源服务器自身IP(可选,用于双向复制)
PRIMARY_PORT = 2438 # 源服务器端口(可选)
保存文件后,重启Informix服务使配置生效:
sudo -u informix /opt/informix/bin/onmode -c shutdown # 关闭服务
sudo -u informix /opt/informix/bin/oninit -v # 启动服务(-v显示详细日志)
初始化复制组
使用onmode命令创建复制组并添加需同步的数据库(假设数据库名为mydb):
onmode -c "CREATE REPLICATION GROUP rg_mydb" # 创建复制组rg_mydb
onmode -c "ADD DATABASE TO REPLICATION GROUP rg_mydb mydb" # 将mydb加入复制组
此步骤将mydb标记为需要复制的对象。
启动复制进程
在源服务器上启动针对目标数据库的复制:
onmode -c "START REPLICATION FOR DATABASE mydb"
启动后,源服务器会将mydb的变更(如INSERT、UPDATE、DELETE)发送至目标服务器。
修改onconfig文件
目标服务器的onconfig需配置为接收复制数据,参数与源服务器对应:
REPLICATION = YES # 开启复制功能
PRIMARY = source_server_ip # 源服务器的IP地址或主机名
PRIMARY_PORT = 2438 # 源服务器的Informix监听端口
REPLICATION_SERVER = ON # 开启复制服务器
REPLICATION_PORT = 9088 # 复制服务器端口(需与源服务器一致)
保存后重启Informix服务:
sudo -u informix /opt/informix/bin/onmode -c shutdown
sudo -u informix /opt/informix/bin/oninit -v
加入复制组
使用onmode命令将目标服务器加入到源服务器创建的复制组(rg_mydb):
onmode -j "rg_mydb"
此步骤将目标服务器注册为复制组的成员,准备接收源服务器的数据。
检查复制状态
在源服务器和目标服务器上均执行以下命令,查看复制是否正常运行:
onstat -g rep
输出结果中,Replication Status应为UP,且无错误信息(如ERROR或FAILED)。
测试数据同步
在源服务器的mydb数据库中执行数据操作(如插入一条记录):
USE mydb;
INSERT INTO employees (id, name, salary) VALUES (1, 'John Doe', 5000);
COMMIT;
登录目标服务器的mydb数据库,查询该记录是否存在:
USE mydb;
SELECT * FROM employees WHERE id = 1;
若查询到插入的记录,则说明复制配置成功。
定期检查状态
使用onstat -g rep每日检查复制状态,关注Last Error(最后错误)、Lag Time(延迟时间)等指标,确保无异常。
处理复制故障
若出现复制延迟或错误,可尝试重启复制进程:
onmode -c "RESTART REPLICATION FOR DATABASE mydb"
查看/opt/informix/log/目录下的复制日志文件(如replication.log),定位具体错误原因(如网络中断、权限不足)。
备份配置文件
定期备份onconfig文件(如/opt/informix/etc/onconfig.mydb)和复制组配置,以便在故障时快速恢复。
注意事项: