首页 > 数据库 > Oracle > ogg 延迟传输 怎么排查
在
Oracle GoldenGate(OGG)里出现
延迟(lag),本质就是:
👉
抽取慢 / 传输慢 / 应用慢 三大环节之一出了问题。
生产可用的系统化排查路径(从定位→原因→解决)**👇
OGG 延迟分 3 段:
Source DB → Extract → Trail → DataPump → Target → Replicat
GGSCI> info all
GGSCI> lag extract ext1
GGSCI> lag replicat rep1
👉 关键指标:
| 现象 | 问题位置 |
|---|---|
| Extract lag大 | 源端采集慢 |
| Extract正常,Replicat lag大 | 目标端应用慢 |
| 两边都lag | 网络 / Trail / Pump |
👉 常见于:
检查:
SELECT to_char(first_time, 'hh24:mi'), sequence#, blocks
FROM v$archived_log
ORDER BY sequence# DESC;
GGSCI> stats ext1
关注:
GGSCI> send extract ext1 showtrans
👉 如果看到:
Long Running Transaction
✔ 解决:
检查:
TRANLOGOPTIONS
CACHEMGR
优化建议:
CACHEMGR CACHESIZE 2G
如果 Extract 正常,但 Replicat 延迟:
GGSCI> info exttrail
GGSCI> info dirdat/*
👉 常见:
检查:
ping target_host
GGSCI> stats pump1
👉 生产中 70% 问题在这里
GGSCI> stats rep1
看:
在目标库( Oracle Database)检查:
SELECT event, total_waits, time_waited
FROM v$system_event
ORDER BY time_waited DESC;
👉 常见瓶颈:
👉 update/delete 会走索引
✔ 检查:
SELECT trigger_name FROM dba_triggers WHERE table_name='XXX';
👉 建议:
GGSCI> send replicat rep1 showtrans
👉 使用并行 Replicat:
PARALLELISM 4
或:
DBOPTIONS INTEGRATEDPARAMS(parallelism 4)
ls -lh dirdat/*
👉 如果:
tail -f ggserr.log
view report rep1
view report ext1
👉 看“时间差”:
GGSCI> info extract ext1 detail
GGSCI> info replicat rep1 detail
对比:
👉 差值 = 延迟位置
最常见的延迟原因:
👉 企业常用优化组合:
INTEGRATED REPLICAT
PARALLELISM 4~16
BATCHSQL
GROUPTRANSOPS 1000
👉 记住这个:
Extract lag → 源库问题
Replicat lag → 目标库问题
中间 lag → 网络 / Pump
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10201716/viewspace-3116159/ ,如需转载,请注明出处,否则将追究法律责任。