zoukankan      html  css  js  c++  java
  • OGG应用复制进程报错OGG 01161

    OGG 应用进程abend,通过report abend_process_name可以发现如下报错信息

    ERROR   OGG-01161  Bad column index (15) specified for table UPCENTER.STK_LIST, max columns = 15.

    1.目标端,查询报错进程参数,目标端,源端表名称

    ggsci> info all;
    view param abend_process_name;
    可以发现存在def文件,此文件一般是异构环境才存在的!
    sourcedefs /home/oracle/ogg/dirdef/123_666.def map source.a ,target target.b;

    源端查询表结构

    SQL>desc UPCENTER.STK_LIST
    只有15个列

    2.源端,查询同步报错的表信息

    运维的环境有OGG拓扑图,因此很快定位找到源端OGG环境
    通过ggsci>info all
    查询确认 e_xxx,r_xxx找到抽取进程,投递进程后
    
    SQL>desc source.a  发现!列是16个,而并非目标端15个列,并且源端目标端并未使用col列指定参数,因此默认是所有列同步的。
    本次问题得到了,源端新增一个列,导致目标端ogg应用进程abend
    解决方法:目标端手工添加一个字段!并且源端重新配置报错表的def文件!

    确认新增字段无默认值
    SQL> select DATA_DEFAULT,TABLE_NAME,COLUMN_NAME from USER_TAB_COLUMNS where table_name='DDD';

    3.目标端新增字段

    1)确认表无dml操作
    SQL>select object_id from dba_objects where owner='xx' and object_name='xx';
    SQL>select type,id1,id2,lmode,request from gv$lock where id1=object_id;
    确认无TM 3号锁之后或者更高级别的锁之后,添加字段。
    2)添加字段
    SQL>alter table owner.table_name add uxx varchar2(32 char);
    --如果有default 则加上 default 'x';
    3)启动abend进程
    GGSCI> start abend_process;
    报错
    提示def文件列还是只有15列!

    4.源端创建新的def文件,目标端更新def文件使用最新的

    说明,本次只有1个表存在问题,因此流程是源端对单个表创建def文件后,将此表信息复制后,在目标端def文件编辑更新这个表的def记录。
    如果存在多个表有问题,最简单的是源端所有抽取的表创建def文件,目标端直接替换def文件该名。
    
    源端:创建问题表最新def文件
    $cd /u01/app/ogg/base/dirdef
    $vi source_a_bc.prm
    defsfile ./dirdef/source_a_bc.def,purge
    USERID goldengate ,password oracle
    table source.table_name;
    
    /u01/app/ogg$./defgen paramfile /u01/app/ogg/base/dirdef/source_a_bc.prm
    
    $cat ./dirdef/source_a_bc.def
    *
    Definition for table source.table_name
    Record length :1356
    Syskey:0
    Columns:16
    column_name1 xx
    column_name 2 xxx
    End of definition 
    
    上述* => END 整体复制

    5.目标端更新def文件

    !如果应用进程,复制进程无DEF参数,说明不需要配置这个。异构环境添加表字段后,还需要参考def文件才能进行ogg同步!
    ggsci>info abend_process_name
    参数 defsfile  ./······
    备份:cp xxx xxx.bak
    编辑 vi xxx 将上述备份的进行替换
    *
    Definition for table source.table_name
    Record length :1356
    Syskey:0
    Columns:16
    column_name1 xx
    column_name 2 xxx
    End of definition 
    
    上述* => END 整体复制
    启动abend_process 后,OGG中断恢复!
  • 相关阅读:
    A Bayesian Approach to Deep Neural Network Adaptation with Applications to Robust Automatic Speech Recognition
    nnet3的代码分析
    Kaldi中的L2正则化
    HMM拓扑与转移模型
    Kaldi阅读并更改代码
    nnet3中的数据类型
    nnet3配置中的“编译”
    Kaldi的delta特征
    Kaldi的交叉熵正则化
    【搜索】 Prime Path
  • 原文地址:https://www.cnblogs.com/lvcha001/p/13039975.html
Copyright © 2011-2022 走看看