ITPub博客

首页 > 数据库 > Oracle > ogg 延迟传输 怎么排查

ogg 延迟传输 怎么排查

原创 Oracle 作者:pingdanorcale 时间:2026-04-15 19:33:50 0 删除 编辑

在 Oracle GoldenGate(OGG)里出现 延迟(lag),本质就是:
👉 抽取慢 / 传输慢 / 应用慢 三大环节之一出了问题。

生产可用的系统化排查路径(从定位→原因→解决)**👇


一、先确认延迟在哪一段(核心第一步)

OGG 延迟分 3 段:

Source DB → Extract → Trail → DataPump → Target → Replicat

用 GGSCI 快速看:

GGSCI> info all
GGSCI> lag extract ext1
GGSCI> lag replicat rep1

👉 关键指标:

  • Lag at 检查点
  • Time Since 检查点

判断逻辑(非常重要)

现象 问题位置
Extract lag大 源端采集慢
Extract正常,Replicat lag大 目标端应用慢
两边都lag 网络 / Trail / Pump

二、Extract 延迟排查(源端问题)

1. 数据库产生 redo 太快

👉 常见于:

  • 批量更新
  • 大事务

检查:

SELECT to_char(first_time, 'hh24:mi'), sequence#, blocks
FROM v$archived_log
ORDER BY sequence# DESC;

2. Extract 进程性能瓶颈

GGSCI> stats ext1

关注:

  • records/sec

3. 长事务(最致命)

GGSCI> send extract ext1 showtrans

👉 如果看到:

Long Running Transaction

✔ 解决:

  • 等事务结束
  • 或拆分业务事务

4. 参数问题

检查:

TRANLOGOPTIONS
CACHEMGR

优化建议:

CACHEMGR CACHESIZE 2G

三、Pump / 网络延迟

如果 Extract 正常,但 Replicat 延迟:

1. 查看 trail 传输

GGSCI> info exttrail
GGSCI> info dirdat/*

2. 网络问题

👉 常见:

  • 带宽不足
  • 延迟高

检查:

ping target_host

3. Pump 是否堆积

GGSCI> stats pump1

四、Replicat 延迟(最常见瓶颈)

👉 生产中 70% 问题在这里


1. 应用速度慢

GGSCI> stats rep1

看:

  • inserts/sec
  • updates/sec

2. 数据库性能问题(重点)

在目标库( Oracle Database)检查:

等待事件:

SELECT event, total_waits, time_waited
FROM v$system_event
ORDER BY time_waited DESC;

👉 常见瓶颈:

  • db file sequential read
  • log file sync
  • buffer busy waits

3. 索引/约束影响

👉 update/delete 会走索引

✔ 检查:

  • 是否缺索引
  • 是否有过多索引

4. 触发器影响

SELECT trigger_name FROM dba_triggers WHERE table_name='XXX';

👉 建议:

  • OGG 表尽量关闭触发器

5. 大事务

GGSCI> send replicat rep1 showtrans

6. 并行度不足(关键优化点)

👉 使用并行 Replicat:

PARALLELISM 4

或:

DBOPTIONS INTEGRATEDPARAMS(parallelism 4)

五、Trail 文件积压

ls -lh dirdat/*

👉 如果:

  • 文件很多 → 下游处理慢

六、日志深度排查(必须会)

1. ggserr.log

tail -f ggserr.log

2. report 文件

view report rep1
view report ext1

七、终极定位方法(实战推荐)

👉 看“时间差”:

GGSCI> info extract ext1 detail
GGSCI> info replicat rep1 detail

对比:

  • Extract checkpoint 时间
  • Replicat checkpoint 时间

👉 差值 = 延迟位置


八、典型问题总结(生产TOP原因)

最常见的延迟原因:

1️⃣ 大事务(第一杀手)

  • 一个事务几百万行
  • Replicat必须等提交

2️⃣ 目标库性能差

  • IO慢
  • 索引多

3️⃣ 并行度不够

  • 单线程 Replicat

4️⃣ 网络瓶颈

  • 跨机房

5️⃣ redo 产生过快

  • 批量更新

九、优化建议(直接可用)

👉 企业常用优化组合:

1. Replicat 并行

INTEGRATED REPLICAT
PARALLELISM 4~16

2. 批量提交优化

BATCHSQL
GROUPTRANSOPS 1000

3. 关闭不必要对象

  • trigger
  • 外键检查

4. 表优化

  • 合理索引
  • 避免热点块

十、一句话定位法(你可以直接用)

👉 记住这个:

Extract lag → 源库问题
Replicat lag → 目标库问题
中间 lag → 网络 / Pump


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10201716/viewspace-3116159/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-01-02

  • 博文量
    158
  • 访问量
    221183