1. 首页 > Oracle教程 > 正文

Oracle教程FG225-GoldenGate监控与管理

本文档详细介绍Oracle GoldenGate的监控与管理方法,风哥教程参考Oracle官方文档GoldenGate部分。更多视频教程www.fgedu.net.cn

Part01-基础概念与理论知识

1.1 监控概述

Oracle GoldenGate的监控与管理是确保数据复制系统稳定运行的关键环节,通过监控可以及时发现和解决问题,保证数据复制的连续性和一致性。学习交流加群风哥微信: itpux-com

监控的主要目标:

  • 确保所有GoldenGate进程正常运行
  • 监控数据复制的延迟情况
  • 及时发现和解决错误
  • 优化系统性能
  • 确保数据一致性

1.2 监控工具

Oracle GoldenGate提供了多种监控工具:

  • GGSCi命令行工具:用于基本的进程管理和监控
  • Oracle GoldenGate Director:图形化管理工具
  • Oracle Enterprise Manager:企业级监控解决方案
  • 自定义监控脚本:根据业务需求编写的监控脚本
  • 第三方监控工具:如Zabbix、Nagios等

1.3 监控指标

需要监控的关键指标:

  • 进程状态:确保所有进程正常运行
  • 复制延迟:监控数据复制的延迟情况
  • 数据量:监控复制的数据量
  • 错误率:监控复制过程中的错误率
  • 系统资源:监控CPU、内存、磁盘等系统资源使用情况
  • 网络状态:监控网络连接和带宽使用情况

Part02-生产环境规划与建议

2.1 监控策略

生产环境的监控策略:

  • 实时监控:实时监控所有GoldenGate进程的状态
  • 定期检查:定期检查复制延迟和数据一致性
  • 日志分析:定期分析GoldenGate日志,发现潜在问题
  • 性能监控:监控系统性能,及时发现性能瓶颈
  • 容量规划:根据监控数据进行容量规划

2.2 告警设置

告警设置建议:

  • 进程状态告警:当进程异常时触发告警
  • 复制延迟告警:当复制延迟超过阈值时触发告警
  • 错误告警:当复制过程中出现错误时触发告警
  • 系统资源告警:当系统资源使用超过阈值时触发告警
  • 网络状态告警:当网络连接异常时触发告警

2.3 日志管理

日志管理建议:

  • 定期备份日志:确保日志的安全存储
  • 日志轮转:定期轮转日志,避免日志文件过大
  • 日志分析:定期分析日志,发现潜在问题
  • 日志清理:定期清理过期日志,释放存储空间
  • 日志监控:监控日志中的错误信息

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

GoldenGate监控与管理的实施步骤:

  1. 配置监控工具
  2. 设置监控指标和告警
  3. 实施日志管理
  4. 定期检查和维护
  5. 优化监控策略

Part04-生产案例与实战讲解

4.1 使用GGSCi命令行工具监控

# 连接到GoldenGate
su – ggsuser
cd /oracle/gg19
./ggsci

# 输出日志
Oracle GoldenGate Command Interpreter for Oracle
Version 19.1.0.0.0 OGGCORE_19.1.0.0.0_PLATFORMS_190524.1007
Linux, x64, 64bit (optimized), Oracle 19c on May 24 2019 10:16:11

Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.

GGSCI (fgedu.net.cn) 1>

# 查看所有进程状态
INFO ALL

# 输出日志
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING EXT1 00:00:00 00:00:05
EXTRACT RUNNING DP1 00:00:00 00:00:03
REPLICAT RUNNING REP1 00:00:00 00:00:02

# 查看特定进程的详细信息
INFO EXT1 DETAIL

# 输出日志
EXTRACT EXT1 Last Started 2026-04-01 10:00:00 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:02 ago)
Process ID 12345
Log Read Checkpoint Oracle Redo Logs
2026-04-01 10:05:00 Seqno 1234, RBA 567890
SCN 1234567890 (0x4651234a)

# 查看进程报告
VIEW REPORT EXT1

# 查看当前参数
SHOW PARAMS EXT1

# 输出日志
EXTRACT EXT1
USERID ggsadmin, PASSWORD ********
EXTTRAIL /oracle/gg19/dirdat/et
TABLE fgedu.emp;

4.2 使用Oracle Enterprise Manager监控

# 登录Oracle Enterprise Manager
# 打开浏览器,访问https://fgedu.net.cn:7809/em

# 导航到GoldenGate监控页面
# 数据库 → 管理 → GoldenGate

# 查看GoldenGate实例状态
# 实例 → 状态

# 查看进程状态
# 进程 → 所有进程

# 查看复制延迟
# 性能 → 复制延迟

# 查看错误信息
# 告警 → 错误

4.3 使用自定义脚本监控

# 创建监控脚本
vi /oracle/gg19/scripts/monitor_gg.sh

# 添加以下内容
#!/bin/bash
# monitor_gg.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn

GG_HOME=/oracle/gg19
LOG_FILE=/oracle/gg19/logs/monitor_gg.log

echo “$(date) – GoldenGate监控开始” >> $LOG_FILE

# 检查所有进程状态
$GG_HOME/ggsci << EOF >> $LOG_FILE
INFO ALL
EOF

# 检查复制延迟
echo “复制延迟检查:” >> $LOG_FILE
$GG_HOME/ggsci << EOF >> $LOG_FILE
INFO REP1, DETAIL
EOF

# 检查错误信息
echo “错误信息检查:” >> $LOG_FILE
$GG_HOME/ggsci << EOF >> $LOG_FILE
VIEW REPORT REP1
EOF

echo “$(date) – GoldenGate监控结束” >> $LOG_FILE
echo “====================================” >> $LOG_FILE

# 保存并退出

# 给脚本添加执行权限
chmod +x /oracle/gg19/scripts/monitor_gg.sh

# 执行监控脚本
/oracle/gg19/scripts/monitor_gg.sh

# 输出日志
2026-04-01 10:00:00 – GoldenGate监控开始
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING EXT1 00:00:00 00:00:05
EXTRACT RUNNING DP1 00:00:00 00:00:03
REPLICAT RUNNING REP1 00:00:00 00:00:02
复制延迟检查:
REPLICAT REP1 Last Started 2026-04-01 10:00:00 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:01 ago)
Process ID 67890
Log Read Checkpoint File /oracle/gg19/dirdat/rt000001
2026-04-01 10:00:30 RBA 123456
错误信息检查:
***********************************************************************
* Oracle GoldenGate Delivery Report *
* *
* REP1 *
***********************************************************************

# 配置定时执行
crontab -e

# 添加以下内容
*/5 * * * * /oracle/gg19/scripts/monitor_gg.sh

# 保存并退出

4.4 监控复制延迟

# 使用GGSCi命令查看复制延迟
./ggsci
INFO REP1, LAG

# 输出日志
REPLICAT REP1 Last Started 2026-04-01 10:00:00 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:01 ago)

# 使用SQL查询复制延迟
sqlplus ggsadmin/ggsadmin
SELECT
group_name,
to_char(last_update_ts, ‘YYYY-MM-DD HH24:MI:SS’) as last_update,
lag_seconds
FROM
ggsadmin.gs$checkpoint
WHERE
group_name = ‘REP1’;

# 输出日志
GROUP_NAME LAST_UPDATE LAG_SECONDS
———- ——————- ———–
REP1 2026-04-01 10:05:00 0

4.5 监控错误信息

# 查看错误日志
./ggsci
VIEW ERRORLOG

# 输出日志
2026-04-01 10:00:00 ERROR OGG-01234 Oracle GoldenGate Delivery, rep1.prm:
Oracle Error 1403 encountered.
ORA-01403: no data found
2026-04-01 10:00:01 INFO OGG-01024 Oracle GoldenGate Delivery, rep1.prm:
Repositioning to rba 12345 in seqno 123.
2026-04-01 10:00:02 INFO OGG-01025 Oracle GoldenGate Delivery, rep1.prm:
Repositioning completed successfully.

# 查看进程报告
VIEW REPORT REP1

# 输出日志
***********************************************************************
* Oracle GoldenGate Delivery Report *
* *
* REP1 *
***********************************************************************

2026-04-01 10:00:00 ERROR OGG-01234 Oracle GoldenGate Delivery, rep1.prm:
Oracle Error 1403 encountered.
ORA-01403: no data found
2026-04-01 10:00:01 INFO OGG-01024 Oracle GoldenGate Delivery, rep1.prm:
Repositioning to rba 12345 in seqno 123.
2026-04-01 10:00:02 INFO OGG-01025 Oracle GoldenGate Delivery, rep1.prm:
Repositioning completed successfully.

4.6 管理GoldenGate进程

# 启动进程
./ggsci
START EXT1

# 输出日志
Sending START request to MANAGER …
EXTRACT EXT1 starting

# 停止进程
STOP EXT1

# 输出日志
Sending STOP request to MANAGER …
EXTRACT EXT1 stopping
EXTRACT EXT1 stopped

# 重启进程
RESTART EXT1

# 输出日志
Sending RESTART request to MANAGER …
EXTRACT EXT1 starting

# 查看进程历史
INFO EXT1, HISTORY

# 输出日志
EXTRACT EXT1 Last Started 2026-04-01 10:00:00 Status RUNNING
Start Time Stop Time
2026-04-01 09:00:00 2026-04-01 09:30:00
2026-04-01 08:00:00 2026-04-01 08:30:00

4.7 日志管理

# 查看日志目录
ls -la /oracle/gg19/dirrpt/

# 输出日志
total 16
-rw-r–r– 1 ggsuser oinstall 1024 Apr 1 10:00 ext1.rpt
-rw-r–r– 1 ggsuser oinstall 1024 Apr 1 10:00 dp1.rpt
-rw-r–r– 1 ggsuser oinstall 1024 Apr 1 10:00 rep1.rpt

# 清理过期日志
find /oracle/gg19/dirrpt/ -name “*.rpt” -mtime +7 -delete

# 配置Manager进程的日志轮转
EDIT PARAMS MGR

# 添加以下内容
PORT 7809
DYNAMICPORTLIST 7810-7909
AUTORESTART EXTRACT *, RETRIES 5, WAITMINUTES 3
AUTORESTART REPLICAT *, RETRIES 5, WAITMINUTES 3
PURGEOLDEXTRACTS /oracle/gg19/dirdat/*, USECHECKPOINTS, MINKEEPDAYS 7

# 保存并退出

# 重启Manager进程
STOP MANAGER
START MANAGER

# 输出日志
Manager stopped.
Manager started.

Part05-风哥经验总结与分享

5.1 监控与管理最佳实践

  • 建立完善的监控体系:使用多种监控工具,确保全面监控
  • 设置合理的告警阈值:根据业务需求设置合适的告警阈值
  • 定期检查和维护:定期检查GoldenGate系统,及时发现和解决问题
  • 优化监控策略:根据监控数据不断优化监控策略
  • 建立应急响应机制:当出现问题时,能够快速响应和解决

5.2 常见问题与解决方案

  • 进程异常:检查进程状态,查看错误日志,重启进程
  • 复制延迟:检查网络连接,优化系统性能,调整参数
  • 数据不一致:检查源和目标数据,修复数据差异
  • 系统资源不足:监控系统资源使用情况,及时扩容
  • 网络连接问题:检查网络配置,确保网络稳定

5.3 经验分享

  • 提前规划:在实施前充分了解监控需求,制定监控计划
  • 测试验证:在测试环境中充分测试监控工具和策略
  • 文档管理:建立完善的监控文档,记录监控配置和问题处理过程
  • 培训人员:对运维人员进行培训,提高监控技能
  • 持续优化:根据监控数据和业务需求,持续优化监控策略

联系我们

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

微信号:itpux-com

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