• Oracle案例13—— OGG-01163 Oracle GoldenGate Delivery for Oracle, reprpt01.prm


    由于虚拟机宿主机重启,导致很多虚拟机服务需要重点关注,其中一个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数据同步恢复。

  • 相关阅读:
    为STARUML写的自动生成文档脚本 分类: 开发工具 2015-07-28 10:27 9人阅读 评论(0) 收藏
    StartUML自动生成代码 分类: 开发工具 2015-07-28 10:26 11人阅读 评论(0) 收藏
    使用无连接的数据报(UDP)进行通信 分类: Java 2015-07-27 20:59 13人阅读 评论(0) 收藏
    在线HTTP POST/GET接口测试工具
    完全卸载Oracle 11g
    Spring自动事物代理
    Spring的事物处理(转)
    如何写出高性能的SQL语句(转)
    JAVA读取xml(转)
    FineReport的使用
  • 原文地址:https://www.cnblogs.com/rangle/p/9389828.html
Copyright © 2020-2023  润新知