OGG(ORACLE GOLDENGATE)使用手册(图中涉及工作,未贴,见谅)

一、OGG原理

OGG是一种基于日志的结构化数据复制软件,通过捕获源数据库online redo log (在线重做日志)或archive log(归档日志)获得数据变化,形成tail(队列文件 ),再将这些tail通过网络协议,传输到目标数据库,目标端通过解析,插入至目标端数据库,从而实现源端与目标端数据同步。

二、目录结构

OGG部署安装完成后,在glodengate目录下,会生成一些目录文件,提供我们在配置参数或者便利我们日常运维时使用,常用主要目录文件有以下几个,2-1如图所示:

图2-1 OGG安装目录结构

1、dirchk:存放由extract抽取进程和replicat复制进程创建的checkpoint(检查点)文件;

2、dirdat:存放extract进程创建的抽取文件,等待被复制;

3、dirdef:存放生成的源端或目标端数据定义文件;

4、dirrpt:进程报告文件,进程挂查断时,可以查看此文件,找出错误报告,也可在./ggsci下,用view report查看错误日志;

5、dirprm:存放配置参数的文件,修改参数时,可以直接修改本文件,也可以在./ggsci下,用edit param 修改;

6、dirtmp:临时文件目录,用于长事务处理;

三、主要进程

OGG数据的复制主要是通过进程实现控制的,不同进程负责不同职能,进程中配置了端口号、数据库表信息、是否自启等一些我们常用的参数。进程状态主要有四种:STOPPED(正常停止)、STARTING(正在启动)、RUNNING(正在运行)、ABENDED(异常中断,此情况需看日志报错信息,排查错误)。OGG进程主要分为以下四种:

1.Manager进程:manager进程是配置在源端或者目标有且只有一个的总控进程,用于开启、停止、监控配置在服务器上的其他进程。此进程只有STOPPED和RUNNING两种状态,如图3-1所示;

图3-1 mgr进程信息

2.Extract(抽取)进程:部署在源端,用于捕获数据表或日志中的数据文件;

3.Pumpbam(投递)进程:部署在源端,把本地的trail(队列文件),通过TCP/IP协议,投递到目标端。

4.Replicat(复制)进程:部署在目标端,把远端trail解析成数据库语句,应用到目标端数据库中去。

四、 OGG常用命令

OGG常用命令放在ggsci(goldengate software command interface)里面,命令对大小写不敏感,我们日常运维主要用到命令有以下几种:

1.info all:查看配置在 服务器上所有进程的信息,Program(所属进程),Status(运行状态),Group(进程名称),Lag at Chkpt(延迟时间),Time Since Chkpt(检查点信息),如图4-1所示:

图4-1 info all显示信息

2.info 进程名:查看进程详细信息,包括进程最后启动时间 、运行状态、延迟信息、检查点的读取信息以及RAB号,如图4-2所示:

图4-2 info extbam 显示信息

3.stats 进程名:查看进程处理的记录数,如图4-3所示:

图4-3 stats repbuf显示信息

4.stats 进程名table 表名:查看某一个进程某一张表的具体进程处理数,如图4-4所示:

图4-4 stats repbuf table ODS_YYJC_BUF.IM_PART_ARMY_BASIINFO显示信息

5.start 进程名:当进程停止或者异常中断恢复时,可以使用这个命令让进程正常运行;

6.stop 进程名:当我们对某一个进程里的参数进行变动时,使用此命令先停止需要变动的进程,也可使用send,进程名 forcestop或者查找此进程的进程PID号,用kill -9结束此进程,除非特殊情况,一般不建议使用。停进程是建议先用info all查看进程延时情况,延时太大,停止可能造成当前交易数据丢失;

7.view param 进程名:查看进程里面参数配置,如图4-5所示:

图4-5 view param extbam显示信息

8.edit param 进程名:修改进程里面参数配置:

9.view report 进程名:查看进程运行报告,进程运行异常中断,可以查看此报告,查找错误信息,从而解决问题,如图4-6所示:

图4-6 view report extbam显示信息

10.lag 进程名:可以查看详细的延时信息,如图4-7所示:

4-7 lag repbuf显示信息

11.view ggsevt:查看OGG日志文件,包括GGSCI 命令的历史记录、GoldenGate 进程的启动与停止、已执行的处理、发生的错误信息和警告消息如图4-8所示:

4-8 view ggsevt显示信息

12.info 进程名 showch:此命令可以查看到详细的关于checkpoint 的信息,用于查看OGG进程处理过的事务记录,如图4-9所示:

图4-9 info repbuf showch显示信息

OGG命令之间的运用灵活多变,一些命令中我们可以使用通配符(*)方便我们日常的运维,如stop *,start ext*等。

五、OGG常见错误处理

OGG在使用的过程中,会遇到各种各样的问题,在出现问题是我们可以在命令界面使用view report 进程名 查看错误信息,或者到OGG安装目录./dirrpt下 找相对应的文件,找出”ERROR”,快速处理问题所在,以下是OGG运维中我们常见的错误及解决方案:

1.ERROR OGG-01232:TCP/IP error 73(Connection reset by per):此问题出现在浙江UPS主机检修时,投递进程网络中断造成。

处理方案:用ping 主机IP /t命令,测试主机IP与本机网络连接状况,ping通后,start即可;

2.ERROR OGG-01172: discard file(./dirrpt/discard_BF.dsc) exceeded max bytes(100000):总部下发复制进程,由于discardfile配置的megabytes 过小导致。

处理方案:1).找到相应目录下的文件,删除文件里面内容,防止意外可以进行先备份,删除时最好保留前100行内容,start即可;

2).如找不到目录,可以使用edit param 进程名,修改discard_BF.dsc后的参数,把append修改成purge,start即可,如果运行成功,一段时间后把参数修改回append即可;

3.ERROR OGG-01705:由于复制进程宕机,导致RBA号错乱。

处理方案:用logdump来确定最后异常的数据的rba,用alter语句修改,把RBA号回归正常;

4.RRROR: OGG-01296:01296错误在我们日常运维复制进程很常见,造成这个错误的原因也有很多,如源端进行了表结构更改,但目标端没有,OGG内存空间使用率达到100%等。

处理方案:此问题需要具体问题具体对待,我们只能根据大量的日志文件分析出具体的问题,进行解决。

OGG错误多种多样,不同进程同一种错误,错误编号也不相同。在运维中我们需要根据具体的问题,提出不同解决方案,如果是数据问题,我们还需与业务部门进行沟通解决。

六、OGG中间件GOLDENGATE VERIDATA的使用

veridata是 OGG的一款中间件,主要用于数据库源端与目标端数据比对。我们需要把比对的源端表与目标端表配置在此工具上,进行数据校验操作。

在比对的过程中,经常会遇到两种情况:

1.源端数据与目标端数据量虽然一致,但是数据内容不同,这可能是源端与目标端数据字段精度不同导致,有时字符集设置不同,会导致数据内容出现乱码情况,如图6-1所示:

图6-1 veridata数据比对内容不一致

2.源端与目标端数据量不一致,导致这个问题的原因是由于OGG没有捕获在源端数据日志文件导致,如图6-2所示:

图6-2 veridata比对数据量不一致

这两种问题的出现我们需要对目标端数据库进行表的初始化操作,第一种情况如果我们对数据内容要求不高,只要求数据量的话,可以在veridata工具中把所不一致的字段进行屏蔽。第二种问题需要进行初始化操作,对目标端进行初始化操作的方法多种,我们目前使用一种,步骤如下:

1.停止复制进程,用info 进程名 观看进程是否正常停止;

2.用sqlplus / as sysdba进入源端数据库,从源端用select to_char(CURRENT_SCN) from v$database获取当前数据库的SCN号,如图6-3所示:

图6-3 获取源端SCN号

3.用sqlplus / as sysdba进入目标端数据库,使用insert into 目标端用户名.表名(字段名) select (对应字段名) from 源端用户名.源端表名@源端实例名 as of scn’从源端获取的SCN’,必须commit数据才会生效,如图6-4所示:

图6-4 目标端插入数据

4.保存,用edit param 进程名 找到对应表,替换新的SCN,保存,退出,如图6-5所示:

图6-5 修改进程配置

5.使用view param 进程名 查看是否配置成功;

6.启动复制进程;

7.进行数据比对。

OGG(ORACLE GOLDENGATE)使用手册相关推荐

  1. OGG|Oracle GoldenGate 微服务架构

    作者 | JiekeXu 来源 |公众号 JiekeXu DBA之路(ID: JiekeXu_IT) 大家好,我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来学习利用 OGG 微服务架构, ...

  2. OGG|Oracle GoldenGate 基础

    作者 | JiekeXu 来源 |公众号 JiekeXu DBA之路(ID: JiekeXu_IT) 大家好,我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来学习利用 OGG 19c 迁移 ...

  3. oracle ogg常用指令,OGG(ORACLE GOLDENGATE)使用手册

    OGG(ORACLE GOLDENGATE)使用手册(图中涉及工作,未贴,见谅) 一.OGG原理 OGG是一种基于日志的结构化数据复制软件,通过捕获源数据库online redo log (在线重做日 ...

  4. ogg oracle 测试kafka_基于OGG的Oracle与Hadoop集群/kafka准实时同步

    Oracle里存储的结构化数据导出到Hadoop体系做离线计算是一种常见数据处置手段.近期有场景需要做Oracle到Hadoop体系的实时导入,这里以此案例做以介绍. Oracle作为商业化的数据库解 ...

  5. Oracle Goldengate 安装配置

    首先要下载ogg的安装包.下载地址如下 http://www.oracle.com/technetwork/middleware/goldengate/downloads/index.html 将安装 ...

  6. oracle goldengate 端口,Oracle Goldengate 安装配置

    首先要下载ogg的安装包.下载地址如下 将安装包上传至服务器 解压压缩包[oracle@localhost app]$ mkdir /u01/app/ogg [oracle@localhost app ...

  7. 【ogg二】Oracle GoldenGate(ogg)安装经验大汇总,采坑总结,绝对干货!

    一下是安装ogg过程中遇到的问题和解决办法,绝对良心干货,抽空会写更详细的安装教程.更多精彩内容请点击 OGG-00685 begin time prior to oldest log in log ...

  8. Oracle Goldengate OGG 11g与各操作系统及数据库版本的兼容列表

    Oracle Goldengate OGG 11g (11.1.1.0.0)与各操作系统及数据库版本的兼容列表如下,仅供参考: Oracle GoldenGate Certification Matr ...

  9. oracle 11gogg,【OGG】Oracle GoldenGate 11g (二) GoldenGate 11g 单向同步配置 上

    Oracle GoldenGate 11g (二) GoldenGate 11g 单向同步配置 上 Item Source System Target System Platform RHEL6.4 ...

最新文章

  1. Gitea 1.7.6 发布,一键部署的自助 Git 服务
  2. 每张脸值5美元,谷歌花钱买数据强化刷脸,还把隔空操控手机变成现实
  3. 边缘计算 — 与 CDN
  4. Exercise: Logistic Regression and Newton's Method
  5. JS和安卓 IOS的交互 例子式记录
  6. CCNA-第三篇-OSI模型-上
  7. FreeModbus输入寄存器
  8. 我密集面试了若干位Java后端的候选人,给广大程序员的一点建议
  9. 8B/10B编码(转)
  10. Linux下如何从mysql数据库里导出导入数据
  11. python openpose
  12. 关于键盘(总论8042)
  13. 计算机英语 自我介绍,计算机专业学生面试英语自我介绍
  14. 少儿编程有多火,家长就有多焦虑...
  15. V2X-ViT:基于Vision Transformer的V2X协同感知
  16. 【解锁技能】学会Python条件语句的终极指南!
  17. 可发教育类论文的期刊《家长》简介及投稿邮箱
  18. 面试被问到如何设计微信钉钉后端高并发IM架构?懵了.....
  19. 学习笔记——Kaggle_Digit Recognizer (Random Forest算法 Python实现)
  20. 2020计算机数电实验第四次(2)

热门文章

  1. 物流查询 批量查询物流信息并复制快递单号和公司
  2. 长尾关键词是什么意思呢
  3. redis和redission分布式锁原理及区别
  4. MacBook Pro(13 英寸,2011 年末)A1278 电源不充电问题通过重置SMC解决
  5. ENU与ecef与WGS84相互转换(c++和python)
  6. 微信公众平台认证步骤详解及服务号和订阅号区别 分类: 微信 2014
  7. 仿射变换(AffineTransform)与仿射矩阵
  8. 太蔟---于丹的脊续
  9. div边框拖拽改变宽度
  10. 【Unity】UI交互组件之按钮Button可选基类总结