概述

生产环境的ogg做两边数据库之间的同步还是不错的,但是进程容易abend,维护成本太高,下面总结下之前小编碰到ogg的的一些故障和处理的过程。


异常处理的一般步骤

首先确定是GoldenGate的哪类进程有故障(是抽取,投递还是复制进程有问题),解决故障的一般思路如下。

(1)通过GGSCI>view report命令查找ERROR字样,确定错误原因并根据其信息进行排除。

(2)通过GGSCI>view ggsevt查看告警日志信息。

(3)检查两端数据库是否正常运行,网络是否连通。

(4)通过logdump工具对队列文件进行分析。

ps: OGG的告警日志路径

ogg也有类似oracle的告警文件,该文件在 $OGG_HOME/ggserr.log


ogg日常运维的命令(排错必备)

通过ggsci进入

info all ----查看所有进程信息

info ----该命令可以查看指定进程信息

start mgr ----启动管理进程

start ----启动相应进程

view params ----查看该进程配置的参数

edit params ----可配置该进程参数

info detail ----该命令查看更详细的信息。包括所使用的trail文件,参数文件、报告文件、警告日志的位置等

info showch ----该命令可以查看到详细的关于checkpoint的信息,用于查看GoldenGate进程处理过的事务记录。其中比较重要的是extract进程的recovery checkpoint,它表示源数据中最早的未被处理的事务;通过recovery checkpoint可以查看到该事务的redo log位于哪个日志文件以及该日志文件的序列号。所有序列号比它大的日志文件,均需要保留

view report 进程名 ----查看报错日志

基于日志捕获技术的实时增量数据集成


网络故障

如果MGR进程参数文件里面设置了autorestart参数,GoldenGate可以自动重启,无需人工干预。

autorestart参数

当网络发生故障时, GoldenGate负责产生远程队列的Datapump进程会自动停止. 此时, MGR进程会定期根据mgr.prm里面autorestart设置自动启动Datapump进程以试探网络是否恢复。在网络恢复后, 负责产生远程队列的Datapump进程会被重新启动,GoldenGate的检查点机制可以保证进程继续从上次中止复制的日志位置继续复制。

需要注意的是,因为源端的抽取进程(Capture)仍然在不断的抓取日志并写入本地队列文件,但是Datapump进程不能及时把本地队列搬动到远地,所以本地队列文件无法被自动清除而堆积下来。需要保证足够容量的存储空间来存储堆积的队列文件。计算公式如下:

存储容量≥单位时间产生的队列大小×网络故障恢复时间

MGR定期启动抓取和复制进程参数配置参考:

GGSCI > edit param mgrport 7839autorestart er *,waitminutes 3,retries 5,RESETMINUTES 60

每3分钟重试一次,5次重试失败以后等待60分钟,然后重新试三次。

RAC环境下单节点失败

在RAC环境下,GoldenGate软件安装在共享目录下。可以通过任一个节点连接到共享目录,启动GoldenGate运行界面。如果其中一个节点失败,导致GoldenGate进程中止,可直接切换到另外一个节点继续运行。

下面介绍下一般操作的过程:

1) 以oracle用户登录源系统(通过另一完好节点);

2) 确认将GoldenGate安装所在文件系统装载到另一节点相同目录;

3) 确认GoldenGate安装目录属于oracle用户及其所在组;

4) 确认oracle用户及其所在组对GoldenGate安装目录拥有读写权限;

5) 进入goldengate安装目录;

6) 执行./ggsci进入命令行界面;

7) 执行start mgr启动mgr;

8) 执行start er *启动所有进程;

检查各进程是否正常启动,即可进入正常复制。

Extract进程常见异常

对于源数据库,抽取进程extxm如果变为abended,则可以通过在ggsci中使用view report命令察看报告,可以通过搜索ERROR快速定位错误。

一般情况下,抽取异常的原因是因为其无法找到对应的归档日志,可以通过到归档日志目录命令行下执行

ls –lt arch_X_XXXXX.arc

检查该日志是否存在,如不存在则可能的原因是:

1) 日志已经被压缩GoldenGate无法自动解压缩,需要人工解压缩后才能读取。2) 日志已经被删除如果日志已经被删除,需要进行恢复才能继续复制,请联系本单位DBA执行恢复归档日志操作。

一般需要定期备份归档日志,并清除旧的归档日志。需要保证归档日志在归档目录中保留足够长时间之后,才能被备份和清除。即:定期备份清除若干小时之前的归档,而不是全部归档。保留时间计算如下:

某归档文件保留时间≥抽取进程处理完该文件中所有日志所需的时间

可以通过命令行或者GoldenGate Director Web界面,运行info exXX showch命令查看抓取进程exXX处理到哪条日志序列号。在此序列号之前的归档,都可以被安全的清除。如下图所示:

Replicat进程常见异常

对于目标数据库,投递进程repXX如果变为abended,则可以通过在ggsci中使用view report命令察看报告,可以通过搜索ERROR快速定位错误。

复制进程的错误通常为目标数据库错误,比如:

1) 数据库临时停机;2) 目标表空间存储空间不够;3) 目标表出现不一致。

可以根据报告查看错误原因,排除后重新启动rep进程即可。

需要注意一点:往往容易忽略UNDO表空间。如果DML语句中包含了大量的update和delete操作,则目标端undo的生成速度会很快,有可能填满UNDO表空间。因此需要经常检查UNDO表空间的大小。


以上就是生产环境中ogg经常会碰到的一些问题,具体问题具体分析吧,有一些不一定是这里面的,大家还是要根据日志去做分析好一点。

后面会分享更多DBA方面内容,感兴趣的朋友可以关注下!!

springcloud生产环境一般怎么部署_生产环境遇到这些ogg报错该怎么处理?相关推荐

  1. linux环境下编译部署php生产环境

    linux环境下编译部署php生产环境 版本控制 php:7.2.4 nginx:1.9.9 部分插件版本 xlswriter:1.3.3.2 redis:3.1.3 一.安装php 1.安装依赖(之 ...

  2. python环境下数据操作_数据分析环境搭建和Python基础知识

    搭建数据分析环境主要包括使用anaconda管理包和环境:使用Jupyter notebook将说明文本.数学方程.代码和可视化内容全部组合到一个易于共享的文档中.Python基础知识包括关键点(数据 ...

  3. 动力环境监控系统论文_机房环境论文,关于网络技术在机房动力环境集中监控系统中的应用相关参考文献资料-免费论文范文...

    导读:为您写机房环境毕业论文范文和职称论文提供相关参考文献. 1. 机房动力环境集中监控系统 (一)机房动力环境集中监测系统的必要性 1.网络技术可靠性要求的体现 网络质量是部门发展的关键,稳定的机房 ...

  4. java version找不到_配置环境变量时,cmd下运行java -version,报错:找不到或无法加载主类 -version...

    这个方面适用于报错为:java 找不到或无法加载主类,一般是找不到类的路径,问题出在CLASSPATH环境变量上,当然这是大多数.大概率的出错点 不排除根据个人情况不况,所以想起来伟大领袖毛主席的话: ...

  5. FTP服务器部署与优化+Received message too long报错

    ftp就是进行数据传输的,vsftpd是一种更安全的数据传输,优化FTP服务器,就是做好对实体用户(user).匿名用户(anonymous)以及特殊需求用户的管理.那么可以对这些用户限制什么或者说开 ...

  6. KVM+OVS环境虚机修改网卡为ovs网桥后启动报错

    问题环境: 本地新搭建了kvm+ovs网桥的测试环境,linux系统用的是centos7.9,测试虚机启动默认使用的网桥是linux bridge,brctl show能看到虚机起的网桥. 问题描述: ...

  7. web部署到服务器显示404,WAR包部署到服务器的tomcat下404报错

    问题描述:后端项目开发工具是IntelliJ IDEA,运行web项目,本地测试项目能够正常运行.将项目打包成war包之后放到本机的tomcat的webapps下报404,原因应该是版本太低,7版本和 ...

  8. VS2019 x64环境下应用程序无法正常启动,出现0xc000007b报错

    vs出现这种情况,首先需要检查自己调用的dll库是否是x64版本,如果版本不正确,会出现0xc000007b的错误. 如果之前用的是x86环境,更改成x64后需要删除release或debug目录下的 ...

  9. h5ai界面修改_解决宝塔面板使用h5ai报错的问题

    Loading... 前言 -- h5ai是一款由德国人开发的开源目录索引程序,因其界面美观简约受到了很多网友的喜爱.本文旨在解决基于宝塔面板的Nginx和php环境下安装h5ai后无法正常使用的问题 ...

  10. springcloud生产环境一般怎么部署_机器学习模型生产环境部署的四种系统架构总结...

    本文将从简单到复杂介绍典型架构的特点以及其优缺点. 介绍 一旦数据科学家对模型的性能感到满意,下一步便是"模型生产环境部署", 没有系统的合理配置,您的Kaggle Top1模型可 ...

最新文章

  1. Oracle高效分页存储过程实例
  2. 三、6Gbps SAS冲锋队——Cheetah 15K.7、NS.2
  3. 爬虫-windows下安装Scrapy及scrapy模块介绍
  4. .NET Standard 2.1 公布
  5. ADS-B显示终端5.9
  6. Linux表空间扩容,linux下oracle表空间导致磁盘空间不足
  7. html加载js文件失败,firefox/chrome动态设置script加载js文件失败
  8. Android主题换肤实现
  9. c语言的表达式2 4 6 8的值,C语言程序设计测试题二
  10. 网站链接跳转安全警告提示l单页源码
  11. 瑞幸咖啡首席技术官也离职了:并未参加公司财务造假
  12. linux操作系统的训练目的,《西南交大-Linux操作系统应用训练》.doc
  13. centos下mysql执行命令_CentOS下mysql数据库常用命令总结
  14. Qt5.9配置安卓开发环境
  15. Axure常见的几种原型图
  16. 【HTML】HTML基础知识详解【2万字+代码实例+显示效果】
  17. QQ、微信、QQ浏览器UserAgent
  18. 学习帮——懒人菜谱,电饭煲可以做的菜!
  19. idea使用docker-mave插件打包镜像并部署到harbor私服仓库
  20. 【企业】如何将零和博弈转换为正和博弈

热门文章

  1. C#:数据库操作(待补充)
  2. 冒泡排序(bubble sort)算法实现
  3. 概率论:假设检验、极大似然估计、无偏估计
  4. 递归求解汉诺塔问题(C++)
  5. Spring Boot引起的“堆外内存泄漏”排查及经验总结 1
  6. python常用的十进制、16进制、字符串、字节串之间的转换
  7. linux内存管理2:内存映射和需求分页(英文名字:demand Paging,又叫:缺页中断)【转】...
  8. 读取xml数据装配到字典中之应用场景
  9. asp.net 操作Excel大全
  10. 偷懒才能编程序——计算机达人成长之路(18)