IBM DB2数据复制和迁移可以通过IBM InfoSphere Data Replication工具或DB2内置的HADR(High Availability Disaster Recovery)功能实现。从实操步骤:1. 安装InfoSphere Change Data Capture (CDC) 或 Q Replication;2. 配置源库和目标库的连接;3. 创建订阅和映射表;4. 启动捕获和应用进程;5. 监控复制状态。对于迁移,使用db2move工具导出数据:db2move dbname export -tc user -u user -p pass,然后在目标库import。HADR实操:db2set DB2HA_GRP=group,配置主备服务器,启动takeover。
背景介绍
数据复制和迁移在DB2环境中是常见需求,用于灾备、高可用、数据仓库加载等。DB2支持多种方式:Q Replication(队列复制)、CDC(变更数据捕获)、SQL Replication和HADR。迁移则常用export/import、db2look生成DDL、db2move全库迁移。
使用Q Replication实现数据复制
Q Replication是DB2的异步复制技术。步骤:1. 在源和目标数据库创建队列和控制表,如IBMQREP_CAPTURES。2. 配置发送和接收队列。3. 使用db2mqrgq命令注册队列。4. 创建订阅:CREATE SUBSCRIPTION...语句。5. 启动捕获:START CAPTURE...。监控用db2pd -qrep命令。
CDC数据复制实操
InfoSphere CDC for DB2支持实时复制。安装Access Server和CDC实例。配置数据存储库:db2 "create database datastor"。添加源端点:dmconfiguretable...。创建镜像:dmcreateconfiguration...。启动镜像:dmstartmirroring...。支持异构目标如Oracle。
HADR高可用复制
HADR用于主备复制。源库配置:db2set DB2HA_GRP=hadrgrp,在db2nodes.cfg定义备机。启动HADR:db2 "hadr instance primary ... standby hostname:port local_host:port"。备库:db2 "hadr instance standby hostname:port service_name"。测试切换:db2 "hadr takeover"。
数据迁移方法
简单迁移用db2move:源端db2move db export -sn schema -u user -p pass。目标端db2move import。跨版本迁移先export schema用db2look -d srcdb -a -e > schema.sql,然后import到新库。负载用LOAD FROM file OF DEL INSERT INTO table。
监控和故障排除
复制监控:db2pd -db dbname -replication。检查队列滞后:SELECT * FROM IBMQREP_QUEUE_STATE。常见问题:网络延迟导致滞后,调整WRITEAFFINITY;权限不足,grant REPLICATION权限。
FAQ
Q: DB2数据复制支持实时吗?
A: 是,CDC和HADR支持近实时复制,延迟毫秒级。
Q: 迁移大表怎么优化?
A: 用EXPORT TO pipe | LOAD FROM pipe,管道传输避免中间文件。
Q: HADR和Q Replication区别?
A: HADR是日志复制用于HA,Q Rep是表级异步复制用于分发。
Q: 异构迁移怎么做?
A: 用CDC到目标如SQL Server,或Federated Server创建wrapper nick。