本文档风哥主要介绍Oracle GoldenGate Extract进程配置的实战操作,包括Oracle GoldenGate Extract进程的概念、类型、架构原理、参数配置、创建管理等内容,由风哥教程参考Oracle官方文档GoldenGate文档,适合DBA人员在学习和测试中使用,如果要应用于生产环境则需要自行确认。
Part01-基础概念与理论知识
1.1 Oracle GoldenGate Extract进程概念
Oracle GoldenGate Extract进程是GoldenGate数据复制的核心组件之一,负责从源数据库捕获数据变更。Extract进程读取数据库的重做日志或事务日志,捕获DML和DDL操作,并将这些变更写入到Trail文件中。更多视频教程www.fgedu.net.cn
- 捕获源数据库的数据变更(DML和DDL)
- 读取数据库重做日志或事务日志
- 将捕获的变更写入Trail文件
- 支持初始数据加载和增量数据同步
- 提供数据过滤和转换功能
1.2 Oracle GoldenGate Extract进程类型
Oracle GoldenGate Extract进程主要有以下几种类型:
- 经典Extract(Classic Extract):直接从数据库重做日志读取变更
- 集成Extract(Integrated Extract):使用Oracle LogMiner读取变更,支持更复杂的功能
- 初始加载Extract:用于初始数据加载,捕获表的全部数据
- 数据泵Extract(Data Pump):用于在源端和目标端之间传输Trail文件
1.3 Oracle GoldenGate Extract架构原理
Oracle GoldenGate Extract架构工作原理:
- 日志读取:Extract进程读取Oracle重做日志或归档日志
- 变更捕获:捕获INSERT、UPDATE、DELETE等DML操作
- 事务处理:维护事务边界,确保数据一致性
- Trail文件写入:将变更数据写入本地Trail文件
- 检查点管理:记录读取位置,支持断点续传
Part02-生产环境规划与建议
2.1 Oracle GoldenGate Extract进程规划
Oracle GoldenGate Extract进程规划要点:
– 经典Extract:EXT开头,如EXT01、EXT02
– 集成Extract:IE开头,如IE01、IE02
– 数据泵Extract:DP开头,如DP01、DP02
# Extract进程数量规划
– 小型系统:1-2个Extract进程
– 中型系统:2-4个Extract进程
– 大型系统:4-8个Extract进程
– 超大型系统:按业务模块分组
# Trail文件规划
– 存储位置:独立的磁盘或文件系统
– 文件大小:默认100MB,可调整为500MB-1GB
– 保留策略:根据磁盘空间和业务需求设置
2.2 Oracle GoldenGate Extract参数配置建议
Oracle GoldenGate Extract参数配置建议:
EXTRACT ext01
SETENV (NLS_LANG=”AMERICAN_AMERICA.AL32UTF8″)
SETENV (ORACLE_HOME=/oracle/app/oracle/product/19c/dbhome_1)
SETENV (ORACLE_SID=fgedudb)
USERIDALIAS fgedu_ggadmin
EXTTRAIL /oracle/goldengate/dirdat/et
# 性能参数
CACHEMGR CACHESIZE 2GB
FLUSHSECS 1
FLUSHCSECS 100
# 事务处理参数
TRANLOGOPTIONS MINEFROMACTIVEDG
TRANLOGOPTIONS INTEGRATEDPARAMS (max_sga_size 256)
# DDL捕获参数
DDL INCLUDE ALL
DDLOPTIONS ADDTRANDATA
2.3 Oracle GoldenGate Extract最佳实践
Oracle GoldenGate Extract最佳实践:
- 使用集成Extract:Oracle 11.2.0.4及以上版本推荐使用
- 启用DDL捕获:根据业务需求决定是否捕获DDL
- 配置心跳表:用于监控复制延迟
- 定期检查:监控Extract进程状态和性能
- 备份配置:定期备份GoldenGate参数文件
Part03-生产环境项目实施方案
3.1 Oracle GoldenGate创建Extract进程
3.1.1 登录GoldenGate管理控制台
$ su – oracle
# 进入GoldenGate安装目录
$ cd /oracle/goldengate
# 启动GoldenGate命令行界面
$ ./ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 19.1.0.0.4 OGGCORE_19.1.0.0.0_PLATFORMS_191017.1054_FBO
Linux, x64, 64bit (optimized), Oracle 19c on Oct 18 2019 03:14:54
Operating system character set identified as UTF-8.
Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.
GGSCI (fgedu.net.cn) 1>
3.1.2 创建Extract进程
GGSCI (fgedu.net.cn) 1> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
# 创建集成Extract进程
GGSCI (fgedu.net.cn) 2> dblogin useridalias fgedu_ggadmin
Successfully logged into database.
GGSCI (fgedu.net.cn) 3> register extract ext01 database
Extract EXT01 successfully registered with database at SCN 12345678.
GGSCI (fgedu.net.cn) 4> add extract ext01, integrated tranlog, begin now
Extract EXT01 added.
GGSCI (fgedu.net.cn) 5> add exttrail /oracle/goldengate/dirdat/et, extract ext01, megabytes 500
EXTTRAIL added.
# 验证Extract进程创建
GGSCI (fgedu.net.cn) 6> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT STOPPED EXT01 00:00:00 00:00:00
3.2 Oracle GoldenGate配置Extract参数
3.2.1 编辑Extract参数文件
GGSCI (fgedu.net.cn) 7> edit params ext01
# 输入以下内容
EXTRACT ext01
SETENV (NLS_LANG=”AMERICAN_AMERICA.AL32UTF8″)
SETENV (ORACLE_HOME=/oracle/app/oracle/product/19c/dbhome_1)
SETENV (ORACLE_SID=fgedudb)
USERIDALIAS fgedu_ggadmin
EXTTRAIL /oracle/goldengate/dirdat/et
# 捕获参数
TRANLOGOPTIONS INTEGRATEDPARAMS (max_sga_size 256, parallelism 2)
# DDL捕获
DDL INCLUDE ALL
DDLOPTIONS ADDTRANDATA, REPORT
# 表映射
TABLE fgedu.fgedu_orders;
TABLE fgedu.fgedu_customers;
TABLE fgedu.fgedu_products;
# 保存并退出
# 按Esc键,输入:wq保存
3.2.2 验证参数配置
GGSCI (fgedu.net.cn) 8> view params ext01
EXTRACT ext01
SETENV (NLS_LANG=”AMERICAN_AMERICA.AL32UTF8″)
SETENV (ORACLE_HOME=/oracle/app/oracle/product/19c/dbhome_1)
SETENV (ORACLE_SID=fgedudb)
USERIDALIAS fgedu_ggadmin
EXTTRAIL /oracle/goldengate/dirdat/et
TRANLOGOPTIONS INTEGRATEDPARAMS (max_sga_size 256, parallelism 2)
DDL INCLUDE ALL
DDLOPTIONS ADDTRANDATA, REPORT
TABLE fgedu.fgedu_orders;
TABLE fgedu.fgedu_customers;
TABLE fgedu.fgedu_products;
# 检查参数语法
GGSCI (fgedu.net.cn) 9> checkprm ext01
Parameter file check successful.
No errors found in parameter file.
3.3 Oracle GoldenGate启动和管理Extract
3.3.1 启动Extract进程
GGSCI (fgedu.net.cn) 10> start extract ext01
Sending START request to MANAGER …
EXTRACT EXT01 starting
# 验证Extract进程状态
GGSCI (fgedu.net.cn) 11> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING EXT01 00:00:00 00:00:05
# 查看Extract详细信息
GGSCI (fgedu.net.cn) 12> info extract ext01, detail
EXTRACT EXT01 Last Started 2026-04-03 10:30:15 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:05 ago)
Process ID 12345
Log Read Checkpoint Oracle Integrated Redo Logs
2026-04-03 10:30:15 SCN 12345678
Target Extract Trails:
Trail Name Seqno RBA Max MB Trail Type
/oracle/goldengate/dirdat/et 0 1234 500 EXTTRAIL
Integrated Extract outbound server status:
Extract database user name: GGADMIN
Extract process name: EXT01
Outbound server name: OGG$EXT01
Outbound server current log position: 12345678
3.3.2 监控Extract进程
GGSCI (fgedu.net.cn) 13> stats extract ext01
Sending STATS request to EXTRACT EXT01 …
Start of Statistics at 2026-04-03 10:35:00.
Extracting from FGEDU.FGEDU_ORDERS to FGEDU.FGEDU_ORDERS:
*** Total statistics since 2026-04-03 10:30:15 ***
Total inserts 150.00
Total updates 80.00
Total deletes 20.00
Total discards 0.00
Total operations 250.00
*** Daily statistics since 2026-04-03 00:00:00 ***
Total inserts 150.00
Total updates 80.00
Total deletes 20.00
Total discards 0.00
Total operations 250.00
*** Hourly statistics since 2026-04-03 10:00:00 ***
Total inserts 150.00
Total updates 80.00
Total deletes 20.00
Total discards 0.00
Total operations 250.00
End of Statistics.
# 查看Extract报告
GGSCI (fgedu.net.cn) 14> view report ext01
2026-04-03 10:30:15 INFO OGG-01057 Oracle GoldenGate Capture for Oracle, ext01.prm: EXTRACT starting.
2026-04-03 10:30:15 INFO OGG-01226 Oracle GoldenGate Capture for Oracle, ext01.prm: Connected to database fgedudb.
2026-04-03 10:30:15 INFO OGG-01635 Oracle GoldenGate Capture for Oracle, ext01.prm: BOUNDED RECOVERY: recovery start position: Seqno 100, RBA 12345678.
2026-04-03 10:30:15 INFO OGG-01517 Oracle GoldenGate Capture for Oracle, ext01.prm: Position of first record processed Seq 100, RBA 12345678.
Part04-生产案例与实战讲解
4.1 Oracle GoldenGate单表Extract配置案例
以下是一个单表Extract配置的完整案例:
# 1. 添加补充日志
GGSCI (fgedu.net.cn) 15> dblogin useridalias fgedu_ggadmin
Successfully logged into database.
GGSCI (fgedu.net.cn) 16> add trandata fgedu.fgedu_orders
Logging of supplemental redo data enabled for table FGEDU.FGEDU_ORDERS.
# 2. 创建Extract进程
GGSCI (fgedu.net.cn) 17> register extract ext_orders database
Extract EXT_ORDERS successfully registered with database at SCN 12345700.
GGSCI (fgedu.net.cn) 18> add extract ext_orders, integrated tranlog, begin now
Extract EXT_ORDERS added.
GGSCI (fgedu.net.cn) 19> add exttrail /oracle/goldengate/dirdat/et, extract ext_orders, megabytes 500
EXTTRAIL added.
# 3. 配置参数文件
GGSCI (fgedu.net.cn) 20> edit params ext_orders
EXTRACT ext_orders
SETENV (NLS_LANG=”AMERICAN_AMERICA.AL32UTF8″)
SETENV (ORACLE_HOME=/oracle/app/oracle/product/19c/dbhome_1)
SETENV (ORACLE_SID=fgedudb)
USERIDALIAS fgedu_ggadmin
EXTTRAIL /oracle/goldengate/dirdat/et
# 只捕获单表
TABLE fgedu.fgedu_orders;
# 4. 启动Extract
GGSCI (fgedu.net.cn) 21> start extract ext_orders
Sending START request to MANAGER …
EXTRACT EXT_ORDERS starting
# 5. 验证状态
GGSCI (fgedu.net.cn) 22> info extract ext_orders
EXTRACT EXT_ORDERS Last Started 2026-04-03 10:40:00 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:02 ago)
Log Read Checkpoint Oracle Integrated Redo Logs
2026-04-03 10:40:00 SCN 12345700
4.2 Oracle GoldenGate多表Extract配置案例
以下是一个多表Extract配置的完整案例,包含表过滤和列映射:
# 1. 添加补充日志
GGSCI (fgedu.net.cn) 23> dblogin useridalias fgedu_ggadmin
Successfully logged into database.
GGSCI (fgedu.net.cn) 24> add trandata fgedu.fgedu_orders
GGSCI (fgedu.net.cn) 25> add trandata fgedu.fgedu_customers
GGSCI (fgedu.net.cn) 26> add trandata fgedu.fgedu_products
GGSCI (fgedu.net.cn) 27> add trandata fgedu.fgedu_order_items
# 2. 创建Extract进程
GGSCI (fgedu.net.cn) 28> register extract ext_erp database
Extract EXT_ERP successfully registered with database at SCN 12345800.
GGSCI (fgedu.net.cn) 29> add extract ext_erp, integrated tranlog, begin now
Extract EXT_ERP added.
GGSCI (fgedu.net.cn) 30> add exttrail /oracle/goldengate/dirdat/er, extract ext_erp, megabytes 1000
EXTTRAIL added.
# 3. 配置参数文件
GGSCI (fgedu.net.cn) 31> edit params ext_erp
EXTRACT ext_erp
SETENV (NLS_LANG=”AMERICAN_AMERICA.AL32UTF8″)
SETENV (ORACLE_HOME=/oracle/app/oracle/product/19c/dbhome_1)
SETENV (ORACLE_SID=fgedudb)
USERIDALIAS fgedu_ggadmin
EXTTRAIL /oracle/goldengate/dirdat/er
# 性能参数
CACHEMGR CACHESIZE 2GB
FLUSHSECS 1
# DDL捕获
DDL INCLUDE MAPPED OBJNAME fgedu.*
DDLOPTIONS ADDTRANDATA
# 表映射,带过滤条件
TABLE fgedu.fgedu_orders, FILTER (ON INSERT, ON UPDATE, ON DELETE, order_amount > 1000);
TABLE fgedu.fgedu_customers;
TABLE fgedu.fgedu_products;
TABLE fgedu.fgedu_order_items;
# 4. 启动Extract
GGSCI (fgedu.net.cn) 32> start extract ext_erp
Sending START request to MANAGER …
EXTRACT EXT_ERP starting
# 5. 验证统计信息
GGSCI (fgedu.net.cn) 33> stats extract ext_erp
Sending STATS request to EXTRACT EXT_ERP …
Start of Statistics at 2026-04-03 10:45:00.
Extracting from FGEDU.FGEDU_ORDERS to FGEDU.FGEDU_ORDERS:
Total inserts 500.00
Total updates 200.00
Total deletes 50.00
Total operations 750.00
Extracting from FGEDU.FGEDU_CUSTOMERS to FGEDU.FGEDU_CUSTOMERS:
Total inserts 300.00
Total updates 150.00
Total deletes 30.00
Total operations 480.00
Extracting from FGEDU.FGEDU_PRODUCTS to FGEDU.FGEDU_PRODUCTS:
Total inserts 100.00
Total updates 80.00
Total deletes 10.00
Total operations 190.00
Extracting from FGEDU.FGEDU_ORDER_ITEMS to FGEDU.FGEDU_ORDER_ITEMS:
Total inserts 1200.00
Total updates 400.00
Total deletes 100.00
Total operations 1700.00
End of Statistics.
4.3 Oracle GoldenGate Extract常见问题处理
4.3.1 Extract进程无法启动
GGSCI (fgedu.net.cn) 34> start extract ext01
Sending START request to MANAGER …
EXTRACT EXT01 starting
GGSCI (fgedu.net.cn) 35> info extract ext01
EXTRACT EXT01 Last Started 2026-04-03 10:50:00 Status ABENDED
# 查看错误报告
GGSCI (fgedu.net.cn) 36> view report ext01
2026-04-03 10:50:00 ERROR OGG-00664 Oracle GoldenGate Capture for Oracle, ext01.prm: OCI Error beginning session (status = 28009-ORA-28009: connection as SYS should be as SYSDBA or SYSOPER).
# 解决方案:检查数据库连接配置
GGSCI (fgedu.net.cn) 37> dblogin useridalias fgedu_ggadmin
Successfully logged into database.
# 重新注册Extract
GGSCI (fgedu.net.cn) 38> unregister extract ext01 database
GGSCI (fgedu.net.cn) 39> register extract ext01 database
GGSCI (fgedu.net.cn) 40> start extract ext01
4.3.2 Extract进程延迟过高
GGSCI (fgedu.net.cn) 41> info extract ext01
EXTRACT EXT01 Last Started 2026-04-03 11:00:00 Status RUNNING
Checkpoint Lag 00:30:00 (updated 00:00:05 ago)
# 分析原因
GGSCI (fgedu.net.cn) 42> stats extract ext01, latest
Sending STATS request to EXTRACT EXT01 …
# 解决方案1:增加并行度
GGSCI (fgedu.net.cn) 43> edit params ext01
# 修改参数:TRANLOGOPTIONS INTEGRATEDPARAMS (parallelism 4)
# 解决方案2:重启Extract进程
GGSCI (fgedu.net.cn) 44> stop extract ext01
GGSCI (fgedu.net.cn) 45> start extract ext01
# 解决方案3:检查数据库日志生成速度
SQL> SELECT thread#, sequence#, bytes/1024/1024 mb, first_time, next_time
FROM v$archived_log
WHERE first_time > sysdate – 1
ORDER BY first_time DESC;
THREAD# SEQUENCE# MB FIRST_TIME NEXT_TIME
———- ———- ———- ——————- ——————-
1 1234 500 2026-04-03 10:59:00 2026-04-03 11:00:00
1 1233 500 2026-04-03 10:58:00 2026-04-03 10:59:00
1 1232 500 2026-04-03 10:57:00 2026-04-03 10:58:00
Part05-风哥经验总结与分享
5.1 Oracle GoldenGate Extract配置总结
Oracle GoldenGate Extract配置的关键要点:
- 进程规划:根据业务需求合理规划Extract进程数量和命名
- 参数配置:根据数据量和性能要求调整参数
- 补充日志:确保所有同步表都启用了补充日志
- 监控管理:建立完善的监控体系,及时发现和处理问题
- 备份恢复:定期备份GoldenGate配置,制定恢复方案
5.2 Oracle GoldenGate Extract检查清单
Oracle GoldenGate Extract部署检查清单:
□ 数据库版本是否支持集成Extract(11.2.0.4+)
□ GoldenGate用户权限是否足够
□ 同步表是否已启用补充日志
□ Trail文件存储路径是否存在且权限正确
□ 网络连接是否正常
□ 数据库字符集是否配置正确
# 部署后检查清单
□ Extract进程状态是否为RUNNING
□ 检查点是否正常更新
□ 统计信息是否正常增长
□ 报告文件是否有错误
□ 延迟是否在可接受范围内
□ Trail文件是否正常生成
5.3 Oracle GoldenGate管理工具推荐
Oracle GoldenGate Extract管理推荐工具:
- GGSCI:GoldenGate命令行管理工具,功能最全面
- Oracle Enterprise Manager:图形化管理界面,适合大规模部署
- GoldenGate Monitor:实时监控工具
- 自定义脚本:根据业务需求开发的自动化管理脚本
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
