Oracle GoldenGate双向同步配置详解

2星 需积分: 12 26 下载量 121 浏览量 更新于2024-10-05 收藏 7KB TXT 举报
"Goldengate 双向同步最佳解决方案" Oracle GoldenGate 是一款高效的数据复制工具,用于实现数据库之间的实时或接近实时的数据同步。双向复制(Bidirectional Replication)是GoldenGate的一种高级用法,旨在确保数据在两个数据中心之间保持一致和高可用性。这种方案有以下两种主要的部署方式: 1. 方式一:主动-主动模式(Active-Active) 在这种部署模式下,源和目标数据库都可以处于活动状态,并且都能处理应用系统的事务。为了防止两个数据库对相同数据进行更新导致的冲突,应用系统需要具备冲突检测和解决机制。这通常通过序列号、时间戳或其他唯一标识符来实现,确保在一个节点上修改的数据不会在另一个节点上被修改。 2. 方式二:主备模式(Active-Standing-by) 这种方式中,源数据库是活动的,而目标数据库处于备用状态。当源数据库出现故障时,可以迅速将服务切换到目标数据库,以确保业务连续性。这种方式通常用于灾难恢复策略,目标数据库通常会延迟接收来自源数据库的更新,以便在发生故障时能够提供一个一致的数据视图。 实现双向同步的步骤如下: 1. 安装和配置GoldenGate进程: - Extract进程:在每个数据库实例上,都需要启动一个Extract进程来捕获数据库的更改日志。例如,`addextract ext1, tranlog, beginnow` 创建了一个名为ext1的Extract进程,它开始从源数据库的重做日志中读取更改。 - Trail文件:创建Trail文件用于存储Extract进程捕获的日志数据,如`addexttrail /u01/app/oracle/product/10.2.0/ggs_1/dirdat/lt, extractext1, MEGABYTES20`。 - 参数配置:通过`editparam`命令设置Extract进程的参数,包括环境变量、数据库连接信息、Trail文件选项等。 - Replicat进程:在目标数据库上,启动Replicat进程来应用Trail文件中的更改,例如`ADDEXTRACT ext2, EXTTRAIL SOURCE/u01/app/oracle/product/10.2.0/ggs_1`。 2. 冲突处理与数据一致性: - GoldenGate提供了多种冲突检测和解决机制,例如基于时间戳的冲突解决,或者通过自定义的冲突解决程序来处理特定情况下的冲突。 - DDL处理:可以配置GoldenGate来包含或排除特定的DDL语句,以确保数据库结构的一致性。 3. 监控与维护: - 通过GoldenGate Manager和GGSCI工具进行监控和管理,包括检查进程状态、报告、日志文件管理和错误处理。 - 动态分辨率和文件管理:动态resolution用于自动解析数据,numfiles选项用于控制Trail文件的数量,以防止单个文件过大。 双向同步的实施需要谨慎规划,以确保在不影响性能和数据完整性的情况下达到高可用性和数据一致性。正确配置和管理GoldenGate的双向复制方案,可以为企业提供强大的数据保护和业务连续性保障。
2010-10-31 上传
第1章 GoldenGate概述 5 1.1 GoldenGate技术原理 5 1.2 GoldenGate可靠的复制 8 1.3 GoldenGate支持操作系统和数据库类型 8 第2章 安装GoldenGate 9 2.1 安装GoldenGate环境 9 2.2 分别在源数据库,目标数据库安装GoldenGate 9 2.2.1 下载GoldenGate 9 2.2.2 解压 10 2.2.3 安装GoldenGate 10 2.2.4 同时在目标数据库安装GoldenGate 11 第3章 把源数据库的数据同步到目标数据库中 11 3.1 设置ORACLE_HOME,ORACLE_SID环境变量 11 3.2 在源数据库ora01上打开归档日志及其辅助日志 12 3.3 在源数据库,目标数据库创建GoldenGate GLOBALS参数文件 13 3.3.1 在源数据库创建 13 3.3.2 创建Goldengate manager服务 13 3.3.3 在目标数据库安装上面步骤创建manager 14 3.4 在源数据库,目标数据库配置mgr,启动manager进程 14 3.4.1 配置manager服务的mgr配置文件 14 3.4.2 启动mgr 15 3.4.3 同样在目标数据库配置mgr文件 15 3.5 测试把源数据库数据同步到目标数据库数据库上 16 3.5.1 在源数据库创建test01数据库用户 16 3.5.2 执行GoldenGate的测试脚本,创建表 16 3.5.3 插入数据脚本 17 3.5.4 在goldengate中用oracle用户登陆数据库 17 3.5.5 增加需要传输的用户表 18 3.5.6 在目标数据库创建用户及其表结构 18 3.6 用goldengate中的direct load方式导入数据到目标数据库的test02用户表上 19 3.6.1 在源数据库配置一个extract进程 eini01 19 3.6.2 在目标数据库端配置一个replicat进程 19 3.6.3 在源数据库执行初始化过程 20 3.6.4 验证目标数据库端的test02用户表数据是否和源数据库一样 20 第4章 把源数据库的修改数据同步到目标数据库中 21 4.1 在源数据库配置一个EXTRACT进程及配置其文件 21 4.1.1 配置EXTRACT文件 21 4.1.2 在GGSCI.exe增加一个EXTRACT进程 22 4.2 配置data pump 23 4.2.1 在源数据库端添加一个pump进程 23 4.2.2 在源数据库的ggsci中增加extract进程 24 4.2.3 在源数据库执行RMTTRAIL 24 4.3 启动data pump capture process 24 4.4 在目标数据库端配置change delivery 26 4.5 在目标数据库中创建goldengate专属用户及其表 26 4.6 在目标数据库配置replicat进程 27 4.6.1 在ggsci增加一个replicat进程 27 4.6.2 编辑配置replicat文件 27 4.7 启动replicat进程 28 4.8 测试检查同步结果 28 4.8.1 在源数据库执行插入数据 28 第5章 把源数据库的DDL(表结构)修改同步到目标数据库中 32 5.1 在源数据库端关闭数据库的回收站 32 5.2 编辑源数据库参数文件GLOBALS 32 5.3 在源数据库创建goldengate01用户,并创建goldengate所需要的表 33 5.4 检查源数据库上的表是否安装好 35 5.5 修改源数据库配置extract文件 35 5.6 重新启动extract进程 36 5.7 验证源数据库是否可以同步表结构到目标数据库中 36 第6章 配置源数据库、目标数据库的双向数据传输 36 6.1 关闭目标数据库回收站,打开数据库辅助日志 37 6.2 在源数据库端添加checkpoint表,实现一致性 37 6.3 在源数据库增加一个replicat进程 38 6.4 在源数据库创建一个checkpoint表 38 6.5 编辑配置replicat进程 39 6.6 在目标数据库端配置GLOBALS文件 39 6.7 在目标数据库安装goldengate用户需要的表 39 6.8 在目标数据库配置一个extract进程 40 6.9 在目标数据库端配置一个pump进程 40 6.10 在源数据库端启动replicat进程 42 6.11 在目标数据库中启动extract、replicat的进程 42 6.12 目标数据库可以把数据、表结构的修过同步到源数据库服务器上 42 第7章 备注: 44 7.1 Oracle官网的下载地址 44 7.2 GoldenGate的GLOBALS配置文件内容 44 7.3 GoldenGate的eiex01配置文件内容 44 7.4 GoldenGate的epmp01配置文件内容 44 7.5 GoldenGate的rora01配置文件内容 45 7.6 GoldenGate的eiexbb配置文件内容 45 7.7 GoldenGate的epmpbb配置文件内容 45 7.8 GoldenGate的rorabb配置文件内容 45 7.9 更改GoldenGate的复制时间点 46 7.10 查看GoldenGate命令格式 46 7.11 查看manager,extract,replicat是否运行 47 7.12 查看goldengate进程的错误 48