GoldenGate教程FG081-OGG数据过滤与转换高级配置实战
目录大纲
- Part01-基础概念与理论知识
- 1.1 数据过滤原理
- 1.2 数据转换机制
- Part02-生产环境规划与建议
- 2.1 系统硬件要求
- 2.2 网络与安全配置
- Part03-生产环境项目实施方案
- 3.1 数据过滤配置
- 3.2 数据转换配置
- Part04-生产案例与实战讲解
- 4.1 表级过滤实战
- 4.2 字段级转换实战
- Part05-风哥经验总结与分享
- 5.1 常见问题与解决方案
- 5.2 最佳实践建议
内容简介
本篇文章介绍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;
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’);
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
);
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
$ 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_*;
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
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.
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
$ 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
);
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
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.
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
