由于虚拟机宿主机重启,导致很多虚拟机服务需要重点关注,其中一个DG的从库和另一个report库有OGG同步,所以这里再系统恢复后检查OGG状态的时候,果然目标端的REPLICAT进程处于abend状态,重启也无效,具体信息如下:

一、错误信息

目标端ggserr.log

2018-07-29 10:15:56  INFO    OGG-06510  Oracle GoldenGate Delivery for Oracle, reprpt01.prm:  Using the following key columns for target table GGS.T_EMP.
2018-07-29 10:15:56 ERROR OGG-01163 Oracle GoldenGate Delivery for Oracle, reprpt01.prm: Bad column length (21) specified for column BANK in table CU.T_EMP, maximum allowable length is 20.
2018-07-29 10:15:56 ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle, reprpt01.prm: PROCESS ABENDING.

二、错误原因

从错误日志看出这里由于源端和目标端的表结构不一致,导致ogg进程启动失败。这种一般是由于源改了表结构,目标端没改,在源和目标进程不重启的情况下不影响同步,一旦重启进程则无法直接同步,即报如上错误。

三、处理过程

1.排查源端和目标端的表结构

(果然表结构不一致,目标端通过alter table GGS.T_EMP modify  BANK varchar2(21);更改后重启目标端进程,依旧报错)

2.通过源端和目标端建立表定义文件的方式完成同步

源端配置

1)配置表定义文件

GGSCI (cus) 1> edit params defen.prm
defsfile /ogg/dirdef/cus.def
userid ggs ,password ggspass
table CUS.t_emp;

defgen paramfile ./dirprm/defgen.prm

在dirdef目录生成文件dirdef/cus.def ,具体内容如下

后面内容就不截图了,包含现有表结构的实际定义内容等。

2)源端的表定义文件scp到目标端的./dirdef目录下

目标端配置

3)目录端的replicat进程配置文件添加内容

GGSCI (cusreport) 2> edit params REPRPT01

sourcedefs  /ogg/dirdef/cus.def  override

##切记一定要假如override,否则不会生效

4)重启目标端

GGSCI (cusreport) 3> start  REPRPT01

至此OGG数据同步恢复。

最新文章

  1. Android 学习笔记之一 “Unable to establish loopback connection”
  2. debian bcm43* 无线网卡驱动
  3. php 表单提交
  4. wpa_supplicant 使用
  5. 【BZOJ】【1877】【SDOI2009】晨跑
  6. JSFのAjaxタグのoneventでbegin/complete/successを使う
  7. 摘记:Web应用系统测试内容
  8. java Classpath 的解读
  9. Hibernate之SchemaExport的使用
  10. 【CPU微架构设计】分布式多端口(4写2读)寄存器堆设计
  11. linux 压缩当前文件夹下所有文件
  12. odoo - context
  13. React 60S倒计时
  14. maven release版本不自动更新的原因
  15. NGINX前端代理TOMCAT取真实客户端IP
  16. openwrt编译系统制作ubi镜像时会使用系统自带的ubinize还是openwrt编译系统中编译的ubinize
  17. 在Ubuntu16.04.4上安装docker
  18. springboot整合fastjson 将null转成空字符串
  19. bzoj 1499 [NOI2005]瑰丽华尔兹——单调队列优化dp
  20. Nginx 下配置Laravel 错误404

热门文章

  1. vsts~CI/CD实现自动化编译
  2. mongodb3.4.15集群搭建
  3. #!/usr/bin/python和#!/usr/bin/env 的区别
  4. Boosting和Bagging的异同
  5. 自动换行的两种代码(C#)
  6. Java 集合框架(二)—— ArrayList
  7. rails 过滤掉所有的html标签 strip_tags
  8. 【LeetCode题解】169_求众数(Majority-Element)
  9. Tornado异步IO
  10. Java基础教程(12)--深入理解类