停止OGG e进程时遭遇长事务分析

php中文网
发布: 2016-06-07 16:08:59
原创
3013人浏览过

日常在进行数据库维护时经常要停止ogg进程,有时会遇到提示当前有一个长时间执行的事务存在的错误,OGG提示可使用 SEND EXTRACT

日常在进行数据库维护时经常要停止ogg进程,有时会遇到提示当前有一个长时间执行的事务存在的错误,ogg提示可使用  send extract ehxzg001, forcestop命令强制停止进程。然后最后重启该进程需要读取的是20939和12852两个redo日志。

GGSCI (gdlt2hxzgdb02) 21> stop *
Sending STOP request to EXTRACT EHXZG001 ...
There are open, long-running transactions. Before you stop Extract, make the archives containing data for those transactions available for when Extract restarts. To force Extract to stop, use the SEND EXTRACT EHXZG001, FORCESTOP command.
Oldest redo log files necessary to restart Extract are:
Redo Thread 1, Redo Log Sequence Number 20939, SCN 3340.2050804863 (14347241573503), RBA 47790608
Redo Thread 2, Redo Log Sequence Number 12852, SCN 3340.2057322291 (14347248090931), RBA 4788752.


关键点分析:
1.当数据库中一个事务发起时,OGG的e进程将捕捉该事务,进而扫描相关的redo 日志或archive 日志。
2.当数据库中一个事务较长未提交或回滚时,OGG将事务keep在内存中,因此同样保持该事务而不提交或中断。
3.当需要停止OGG e进程时,便会提示事务正在执行。

措施:
措施1:使用  SEND EXTRACT EHXZG001, FORCESTOP命令强制停止进程,但是,你必须保证重启时包含该事务的日志文件存在并可用,意思就是说ogg进程重启时会再次恢复捕捉该事务,当此时发现相应的日志文件不存在了,,于是OGG便会报错,一般提示找不到归档等,其实强制停止个人建议不在万不得已情况下还是不要做。有一篇文章阐述了过程并做了总结:
措施2:不在OGG层面操作,直接从源端数据库进行回滚或提交,这样虽然需要等待一定时间但相对比较保险。

JoinMC智能客服
JoinMC智能客服

JoinMC智能客服,帮您熬夜加班,7X24小时全天候智能回复用户消息,自动维护媒体主页,全平台渠道集成管理,电商物流平台一键绑定,让您出海轻松无忧!

JoinMC智能客服 193
查看详情 JoinMC智能客服


OGG事务处理延伸分析:
1.OGG的抽取进程会实时捕捉事务,但投递到目标端时,如果该事务未做提交,复制进程是不会将其写入到目标数据库中的,这样避免了不一致性。
2.OGG有个Bounded Recovery机制,会每隔一段时间做一个检查,如果检测到长事务,OGG会将时间段内这个未提交或回滚的长事务从内存中保存到磁盘上,往后每隔一段时间同样做一次检查。以上这个时间段是可以通过参数自定义的 BR BRINTERVAL 2H  。(两个小时)。
3.Bounded Recovery机制在你强制停止抽取进程后重启时,可以不必一整个事务都从数据库的日志中读取,而已在检查点内保存的事务过程可以通过OGG 自己保存的BR文件读取。
4.一个长事务中未受Bounded Recovery检测保存的过程,OGG通过记录检查点去归档中读取。

本文永久更新链接地址

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号