1. 首页 > GoldenGate教程 > 正文

GoldenGate教程FG081-OGG数据过滤与转换高级配置实战

目录大纲

内容简介

本篇文章介绍OGG数据过滤与转换的高级配置方法,包括表级过滤、字段级过滤、数据转换规则等。风哥教程参考GoldenGate官方文档数据过滤与转换指南。

Part01-基础概念与理论知识

1.1 数据过滤原理

OGG数据过滤是指在数据同步过程中,根据预设规则筛选需要同步的数据,主要包括:

  • 表级过滤:基于表名进行过滤
  • 字段级过滤:基于字段值进行过滤
  • 事务级过滤:基于事务属性进行过滤

1.2 数据转换机制

OGG数据转换是指在数据同步过程中,对数据进行格式转换、值转换等操作,主要包括:

  • 字段映射:源端和目标端字段名不同时的映射
  • 数据类型转换:源端和目标端数据类型不同时的转换
  • 值转换:对字段值进行计算、替换等操作
  • 函数转换:使用OGG内置函数进行数据处理

更多视频教程www.fgedu.net.cn

Part02-生产环境规划与建议

2.1 系统硬件要求

风哥提示:数据过滤与转换会增加OGG进程的CPU和内存消耗,生产环境建议配置至少8核CPU、32GB内存。

2.2 网络与安全配置

网络要求:

  • 源端和目标端之间网络带宽至少1Gbps
  • 确保网络延迟小于10ms
  • 配置防火墙规则,开放必要的端口

Part03-生产环境项目实施方案

3.1 数据过滤配置

表级过滤配置示例:

— Extract参数文件配置表级过滤
EXTRACT ext1
USERID ogg@fgedudb, PASSWORD ogg
EXTTRAIL ./dirdat/et
TABLE fgedu.*;
— 排除特定表
TABLEEXCLUDE fgedu.log_table;

字段级过滤配置示例:

— Replicat参数文件配置字段级过滤
REPLICAT rep1
USERID ogg@fgedudb, PASSWORD ogg
MAP fgedu.customer, TARGET fgedu.customer,
FILTER (COLUMN customer_status = ‘ACTIVE’);

3.2 数据转换配置

字段映射与转换配置示例:

— Replicat参数文件配置数据转换
REPLICAT rep1
USERID ogg@fgedudb, PASSWORD ogg
MAP fgedu.employee, TARGET fgedu.employee,
COLMAP (
TARGET emp_id = SOURCE employee_id,
TARGET emp_name = SOURCE name,
TARGET hire_date = SOURCE hire_date,
TARGET salary = SOURCE salary * 1.1,
TARGET status = CASE WHEN SOURCE active = 1 THEN ‘ACTIVE’ ELSE ‘INACTIVE’ END
);

学习交流加群风哥微信: itpux-com

Part04-生产案例与实战讲解

4.1 表级过滤实战

# 创建Extract进程配置文件
$ vi /GoldenGate/app/ogg/dirprm/ext1.prm

EXTRACT ext1
USERID ogg@fgedudb, PASSWORD ogg
EXTTRAIL ./dirdat/et
— 只同步fgedu模式下的表
TABLE fgedu.*;
— 排除日志表和临时表
TABLEEXCLUDE fgedu.log_*;
TABLEEXCLUDE fgedu.temp_*;
# 启动Extract进程
$ ./ggsci
GGSCI> add extract ext1, tranlog, begin now
GGSCI> add exttrail ./dirdat/et, extract ext1
GGSCI> start ext1

GGSCI (fgedu.net.cn) 1> add extract ext1, tranlog, begin now
EXTRACT added.

GGSCI (fgedu.net.cn) 2> add exttrail ./dirdat/et, extract ext1
EXTTRAIL added.

GGSCI (fgedu.net.cn) 3> start ext1
Sending START request to MANAGER …
EXTRACT EXT1 starting

4.2 字段级转换实战

# 创建Replicat进程配置文件
$ vi /GoldenGate/app/ogg/dirprm/rep1.prm

REPLICAT rep1
USERID ogg@fgedudb, PASSWORD ogg
MAP fgedu.customer, TARGET fgedu.customer,
FILTER (COLUMN country = ‘CN’),
COLMAP (
TARGET customer_id = SOURCE id,
TARGET customer_name = SOURCE name,
TARGET email = LOWER(SOURCE email),
TARGET status = CASE WHEN SOURCE active = 1 THEN ‘ACTIVE’ ELSE ‘INACTIVE’ END,
TARGET create_time = SYSDATE
);
# 启动Replicat进程
$ ./ggsci
GGSCI> add replicat rep1, exttrail ./dirdat/et, checkpointtable ogg.checkpoint
GGSCI> start rep1

GGSCI (fgedu.net.cn) 1> add replicat rep1, exttrail ./dirdat/et, checkpointtable ogg.checkpoint
REPLICAT added.

GGSCI (fgedu.net.cn) 2> start rep1
Sending START request to MANAGER …
REPLICAT REP1 starting

学习交流加群风哥QQ113257174

Part05-风哥经验总结与分享

5.1 常见问题与解决方案

  • 问题1:过滤条件导致数据不同步

    解决方案:检查过滤条件是否正确,使用LOGDUMP工具验证数据是否被正确过滤
  • 问题2:转换规则执行错误

    解决方案:检查转换规则语法,确保源端和目标端字段类型匹配
  • 问题3:性能下降

    解决方案:优化过滤条件,减少复杂转换操作,增加OGG进程内存配置

5.2 最佳实践建议

  • 使用TABLE和TABLEEXCLUDE组合实现精细的表级过滤
  • 优先使用简单的过滤条件,减少复杂的WHERE子句
  • 合理使用COLMAP进行字段映射和转换
  • 定期监控OGG进程性能,及时调整配置
  • 使用参数文件版本控制,便于回滚和对比
风哥提示:在生产环境中,建议先在测试环境验证过滤和转换规则,确保数据同步的正确性和性能。

更多学习教程公众号风哥教程itpux_com

from GoldenGate视频:www.itpux.com

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息