GoldenGate最佳实战经验总结
第一篇:goldengate最佳实战经验总结goldengate最佳实战经验
进程监控的依据•ggsci命令
–通过在ogg命令行中查看进程信息命令的输出结果监控进程运行状态
–常用命令是info命令,如infoall,infoer*等
–通过自定义脚本执行ggsci命令可以监控ogg运行状态
•ggserr.log–该日志文件由manager进程维护
–记录所有进程的启动和停止信息及其它日志信息,按照严重级别划分为
info/warning/error–可以通过director,第三方监控工具或自定义脚本监控
•进程报告
–进程报告里面包含了该进程从启动至今的运行信息–一旦进程中止,是排除错误的首要依据
ogg监控最佳实践–使用director•配置告警邮件–监控ggserr.log出现warning和error信息进行邮件告警
–可为每个ogg实例、进程设定不同的告警接收人
ogg监控最佳实践–使用脚本
•使用脚本执行ggsci命令,根据结果判断运行状态,如进程异
常可以发送告警邮件,可以将进程报告放到邮件中作为附件•脚本示例
#。/usr/bin/kshld_library_path=/app/oracle/10.2/db_1/liboracle_sid=ggsoracle_base=/app/oraclepath=/usr/lib/qt-3.3/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin:/app/oracle/10.2/db_1/binsleeptime=30#numberofsecondstosleepbetweeniterationsalert_email=oracle@localhost.localdomain#emailaddresstoreceivealertmessage.ogg_home=/home/oracle/goldengate#goldengateinstallationdirectory.ogg监控最佳实践–使用脚本(续)
while((1))docd$ogg_homeecho"infoall"|./ggsci|grep-e"manager|extract|replicat">gginfo.tmpwhilereadprogramstatusgrouplagtimedoif["$program"="manager"-a"$status"="stopped"];thenmail-s"goldengatemanagerstopped."$alert_email<$ogg_home/dirrpt/mgr.rptexitelseif["$status"="abended"-o"$status"="stopped"];thenmail-s"goldengate$program$group$status."$alert_email<$ogg_home/dirrpt/$group.rptfifidone •report–reportat14:00–reportonfridayat23:00•reportcount–reportcountevery1000000records–reportcountevery30minutes,rate配置report收集统计信息 –reportcountevery2hours•reportrollover–reportrolloverat01:00配置定时删除过期队列 •用于自动删除过期队列,节省硬盘空间 •建议配置在mgr进程中,可集中管理所有队列–在mgr参数中加入以下行 purgeoldextracts//dirdat/*,usecheckpoint,minkeepdays7其中,第一个参数为队列位置,*可匹配备份中心所有队列文件; 第二个参数表示是首先要保证满足检查点需要,不能删除未处理队列; 第三个参数表示最小保留多少天,后面的数字为天数。例如,如果希望只 保留队列/ggs/dirdat/xm文件3天,可以配置如下:purgeoldextracts/ggs/dirdat/xm,usecheckpoint,minkeepdays3–说明 •mgr进程参数需重启mgr进程后生效•临时停止mgr进程并不影响数据复制。 配置自动定时重启进程 •用于自动恢复由于网络临时中断、数据库或系统维护 等原因造成的进程终止,降低人工工作量 •建议在mgr进程配置 –在mgr参数文件加入以下行autorestarter*,retries3,waitminutes5,resetminutes60以上参数表示每5分钟尝试重新启动所有进程,共尝试三次。以后每60分钟清 零,再按照每5分钟尝试一次共试3次。 •说明 –需重启mgr进程使参数生效 –可查询ggserr.log文件查看重启尝试信息 长交易的管理 •停止extract之前需验证检查点和长交易,以防止下次启动无法找到归档日志: ggsci>infoextxx,showch•查看长交易 例如,查看extsz进程中节点1上最长的10个交易,可以通过下列命令: ggsci>sendextractextsz,showtransthread1count10•强制跳过或接受长交易 ggsci>sendextract,skiptransthread//跳过交易ggsci>sendextract,forcetransthread//强制认为该交易已经提交 •说明:使用这些命令只会让goldengate进程跳过或者认为该交易已经提交 ,但并不改变数据库中的交易,他们依旧存在于数据库中。因此,强烈建议 使用数据库中提交或者回滚交易而不是使用goldengate处理。 长交易的管理(续) •配置长交易告警 –可以在extract进程中配置长交易告警,参数如下所示: warnlongtrans12h,checkintervals10m以上表示goldengate会每隔10分钟检查一下长交易,如果有超过 12个小时的长交易,goldengate会在根目录下的ggserr.log里 面加入一条告警信息。通过察看ggserr.log或者在ggsci中执行
(未完,全文共11510字,当前显示1480字)
(请认真阅读下面的提示信息)