Oracle GoldenGate日常运维过程中常见的问题

一、背景:

在工作,有用到oracle数据库,并且采用了RAC集群模式,但是存在两个oracle数据库之间需要同步指定表的数据,这里就使用到了goldengate,简称是ogg。

1、OGG简介

GoldenGate是一家创建于1995年的美国公司,开发总部设在旧金山,在北美,欧洲和亚洲(包括新加坡、印度、澳大利亚)设有支持中心。
GoldenGate公司专注于数据同步领域,是实现数据同步技术的领导者。至2007年,在全球35个国家售出超过2000个许可证,客户分布在政府、银行、电信、证券、传媒、医疗等行业,大部分客户为全球500强企业,如中国海关总署、中国国家体育总局体彩管理中心、中国电子口岸、海南移动、美国银行、VISA、瑞银集团、澳大利亚海关、新加坡港务局等。 GoldenGate是许多一流的数据库厂商如Oracle、Sybase、Microsoft、MySQL、Teradata等公司的认证合作伙伴,并且和著名的公司如HP、IBM、Sun等厂商建立了战略合作伙伴关系。
2009年被甲骨文Oracle公司收购。

2、GoldenGate 工作原理:

OGG提供了一个单一的平台,这个平台可以为任何企业环境实现秒一级的灾难备份。OGG是一种基于于日志的结构化数据复制方式,它通过解析源数据库在线日志或归档日志获得数据的增删改变化,再将这些变化应用到目标数据库,实现源数据库与目标数据库同步、双活。

机制原理图:

二、常见问题:

问题一:停止了ogg后,完成数据迁移后,启动ogg时报错

问题描述:

报错内容:

Wildcard MAP resolved (entry CAM*DBO.*):
MAP "CAM*DBO"."PSNSDATALOG", TARGET CAM*DBO."PSNSDATALOG";
Using following columns in default map by name:
IDATALOGID, SFILENAME, TSDOWNLOADED, ICOUNT
Using the following key columns for target table CAM*DBO.PSNSDATALOG: IDATALOGID.
 
2019-03-30 12:32:18 WARNING OGG-00869 OCI Error ORA-00001: unique constraint (CAM*DBO.PSNSDATALOG_ID) violated (status = 1). INSERT /*+ RESTRICT_ALL_REF_CONS */ INTO "CAM*DBO"."PSNSDATALOG " ("IDATALOGID","SFILENAME","TSDOWNLOADED","ICOUNT") VALUES (:a0,:a1,:a2,:a3).
 
2019-03-30 12:32:18 WARNING OGG-01004 Aborted grouped transaction on 'CAM*DBO.PSNSDATALOG', Database error 1 (OCI Error ORA-00001: unique constraint (CAM*DBO.PSNSDATALOG_ID) violated (status = 1). INSERT /*+ RESTRICT_ALL_REF_CONS */ INTO "CAM*DBO"."PSNSDATALOG" ("IDATALOGID","SFILENAME","TSDOWNLOADED","ICOUNT") VALUES (:a0,:a1,:a2,:a3)).
 
2019-03-30 12:32:18 WARNING OGG-01003 Repositioning to rba 71736862 in seqno 1967.
 
2019-03-30 12:32:18 WARNING OGG-01154 SQL error 1 mapping CAM*DBO.PSNSDATALOG to CAM*DBO.PSNSDATALOG OCI Error ORA-00001: unique constraint (CAM*DBO.PSNSDATALOG_ID) violated (status = 1). INSERT /*+ RESTRICT_ALL_REF_CONS */ INTO "CAM*DBO"."PSNSDATALOG" ("IDATALOGID","SFILENAME","TSDOWNLOADED","ICOUNT") VALUES (:a0,:a1,:a2,:a3).
 
2019-03-30 12:32:18 WARNING OGG-01003 Repositioning to rba 71736862 in seqno 1967.
 
2019-03-30 12:32:18 ERROR OGG-01296 Error mapping from CAM*DBO.PSNSDATALOG to CAM*DBO.PSNSDATALOG.

问题分析:

这个“表上有一个唯一的索引,用于生成PKFKPC_DI的字段。”这意味着有一个独特的限制。如果表本身没有约束,这并不重要。如果您构建的索引是唯一的,则如果存在重复,则无法插入该索引。
将有一个丢弃文件,您可以使用sqlplus从丢弃文件中的值手动插入此表。您将得到0001错误和复制。获取创建脚本或检查此表上的外部约束。
简单的来说就是主键的唯一约束和索引的唯一约束发生了冲突,在ogg抽取过来到目标的端的时候ogg识别不了哪一个是唯一约束条件,就造成了唯一约束的报错,只要在目标端指定唯一主键约束就可以了, 

问题解决:

只要在复制进程中设置哪一个是唯一约束条件就可以了,是设置主键为唯一约束,
在复制进程配置文件中加入keycols(unique)可以了


例子:

MAP SF_HX.*,TARGET SF_CXTJ.*, colmap (usedefaults , sjtb_sj=@date ("yyyy-mm-dd hh:mi:ss.ffffff", "JTS", @GETENV("JULIANTIMESTAMP"))) keycols(RKFKPC_ID); 

然后启动复制进程就可以了,
 > start rhx2cx07
 > info all              -------------发现复制进程起来了,

问题二:OGG链路源端与目标端版本不同(OGG-01669)

问题描述:

目标端不能读取数据复制链路报错

2019-04-07 23:56:21 INFO OGG-01669 Oracle GoldenGate Collector: Opening ./dirdat/ab000000 (byte -1, current EOF 0).
2012-08-08 00:00:25 ERROR OGG-01389 Oracle GoldenGate Delivery for Oracle, REP.prm: File header failed to parse tokens. File ./dirdat/aa000000, last offset 810, data: 0x 32A: 000000013A00000200003B000004000000013C000014000000101414141414141414141414141114141433000070300000070005455854444131000002000332000002000B3300000200023400000200013500000200003600000200013700003D003B56657273696F6E2031312E322E312E302E31204F4747434F52455F3131.
2012-08-08 00:00:25 ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle, REP.prm: PROCESS ABENDING.

问题分析:

由于使用goldengate软件版本不同,源端版本高,目标版本低导致

问题解决:

解决方法: 在源端传输进程添加如下的内容

> edit param phn2cx
.......
RMTTRAIL ./dirdat/ba ,format release 11.1(版本号)

> alter extract ehn2cx, etrollover        ---------前滚生产新的trail文件
> start ehn2cx

注:有传输进程报错无法打开读取trail文件,查看是不是打开的对应trail文件和抽取的开始的trail文件对不上,
可以查看进程的运行报告得知,view report ehn2cx/phn2cx
-----重置传输的trail文件就可以了

> alter extract phn2cx,extseqno 1,extrba 0
> start phn2cx 

复制进程也重置读取的trail文件

> alter replicat rhn2cx,extseqno 1,extrba 0
> start rhn2cx

但是有时候添加了以后是行不通的,还是报OGG-01669问题,可以如下的操作

> edit param ehn2cx
........
EXTTRAIL ./dirdat/ab,format release 11.1

其他的操作和上面一样的,

 

相关推荐

  1. 常见工具推荐

    2024-07-16 09:34:03       44 阅读
  2. 微服务使用过程 常见问题 解决方案

    2024-07-16 09:34:03       58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 09:34:03       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 09:34:03       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 09:34:03       57 阅读
  4. Python语言-面向对象

    2024-07-16 09:34:03       68 阅读

热门阅读

  1. 【python自动创建文件夹】

    2024-07-16 09:34:03       24 阅读
  2. Top N(前N大或前N小)的算法问题

    2024-07-16 09:34:03       24 阅读
  3. Qt/QML学习-ComboBox

    2024-07-16 09:34:03       28 阅读
  4. 【精简版】jQuery 中的 Ajax 详解

    2024-07-16 09:34:03       24 阅读
  5. 力扣 144题 二叉树的前序遍历 记录

    2024-07-16 09:34:03       24 阅读
  6. ref 和 reactive 区别

    2024-07-16 09:34:03       24 阅读
  7. vue + TinyMCE实现富文本编辑器

    2024-07-16 09:34:03       24 阅读
  8. 如何在本网站中显示所有Logistic回归超参数

    2024-07-16 09:34:03       24 阅读
  9. NIO(NO-Blocking I/O)模型

    2024-07-16 09:34:03       23 阅读
  10. 等保2.0 测评 linux服务器加固 基本安全配置手册

    2024-07-16 09:34:03       27 阅读