欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle GoldenGate 常见问题:长事务处理

程序员文章站 2022-05-25 17:58:27
...

OGG是基于事务级的实时复制工具,也就是说OGG只复制已提交的事务,在遇到事务的commit或rollback之前,它会将每个事务的操作存储

长事务的影响

OGG是基于事务级的实时复制工具,也就是说OGG只复制已提交的事务,在遇到事务的commit或rollback之前,它会将每个事务的操作存储在称为cache的托管虚拟内存池中。内存再大也有不够用的时候,,当事务数据超过一定的阈值或者当前空闲内存无法满足分配请求时,OGG进程会将最少使用的old buffer swap 到磁盘上的dirtmp中。

当OGG遇到长事务时,如果extract进程因某种原因终止,原有的文件系统上的临时数据都将被删除,重启后会根据recoverycheckpoint查找最早开始进行的长事务起始点所在的归档日志进行恢复,如果重启时发现所需归档被删除,则extract进程将无法重启,只能通过恢复归档或初始化解决。即使归档存在,重启后进行recovery会很大程度影响OGG 的性能。

长事务的处理

1.监控ggserr.log 中的长事务警告,可以通过配置extract 进程参数warnlongtrans 调整警告频率

2.监控数据库中的长事务

selectstart_timefrom gv$transaction;

3.ggsci提供了如下命令来处理未提交事务

send extract ,showtrans查看正在处理的未提交事务

send extract ,skiptrans跳过事务(不建议)

send extract ,forcetrans强制认为事务已经提交(不建议)

建议所有的事务提交或回滚操作都在数据库中进行

4.说明:在OGG11g中,extract提供了BR参数可以设置每隔一段时间(默认4小时)将长交易缓存及BR检查点到本地硬盘(默认dirtmp目录下),因此extract只要不停止一般需要的归档日志不超过8个小时(极限情况)。但是如果extract停掉后,便无法再自动缓存长交易,需要的归档日志就会依赖于停机时间变长。

相关阅读:

RAC环境下管理OGG-HA

RAC环境下配置OGG同步

GoldenGate单向表DML同步

Oracle GoldenGate 系列:Extract 进程的恢复原理

Oracle GoldenGate安装配置

Oracle goldengate的OGG-01004 OGG-1296错误

Oracle GoldenGate 常见问题:长事务处理