OGG源端抽取进程引发的ORA 01555

客户环境11.2.0.4,LInux redhat 6.9 ,2节点RAC,运行多个OGG进程。

1.现象,监控告警,  xx ip /u01 使用率过高;

2.登录环境,检查发现alert日志 1G???  服务器存在脚本,每天mv alert日志,因此单天alert一般远远小于1G

3.tail -200f a*.log 

输出ORA 01555 刷屏!!!

ORA-01555 caused by SQL statement below (SQL ID: 415z3g9r6r1c7, Query Duration=0 sec, SCN: 0x0006.37709561):
SELECT x."Q_NAME",x."MSGID",x."CORRID",x."PRIORITY",x."STATE"······   省略50个列名称 FROM "AAA"."BBB" AS OF SCN :scn  x WHERE "ID"=:a0

这个SQL是不是很奇怪??? select * from tab as of scn xxx where id=???;

4.检查ogg 抽取进程

果然发现存在延迟非常高的进程!!!

EXTRACT     RUNNING     E_6X     69:09:18      00:00:07   
与客户沟通,可以删除
"AAA"."BBB" 这个表不需要同步!!! 因此直接注释,重新重启抽取进程。问题解决!!!


关于源端抽取进程如何加快???
1.删除不需要同步的表;
2.对变换很大的表进程拆分,这样变换少量的表OK,但是dml操作太频繁的表,还是无法优化;
3.可以通过参数只抽取某些符合条件的数据??? 等,本次不做说明。
原文地址:https://www.cnblogs.com/lvcha001/p/13577552.html