ogg-00869的一个乌龙事件

 

     说是乌龙,也不是乌龙,各位看官,如果有相符的经历能解惑,请不吝留言告知。

     给客户添加一个新的ogg队列。客户给了表名级对应关系,抽取,传输都没有问题,目标端启动rep进程时也无报错(当时没有数据)。第二天来发现,rep进程abend,数据延迟8个小时。

     view report  提示ogg-00869warning,还有一个error 在目标端找不到某表。(由于客户端环境不允许插取移动设备所以没有详细报错)

     1)目标端数据库为rac数据库,并且只存在一个数据库,所以使用ogg的用户连接的环境变量的配置是没有问题的;

     2)检查数据库中是否存在a.tablename

          select * froma.tablename where rownum<10;

          存在9个在返回结果。

     3)rep 进程禁用def文件,并且将需要map的表注释掉,启动依然abend。

     4)  从源端重新生成def 文件,比对,没有发现问题。

     5)   根据error报错,目标端数据库不存在该表的提示,去dba_tables 查询 

         select table_name,owner fromdba_tables where table_name ='TABLE_NAME';

      6)输出的结果table_name表对应的owner 不是A。

          询问相关人员后修改rep的参数文件,将schema改为相应的用户,rep进程启动正常。

 

          后来了解到客户是将一号库的一些表同步到2号库后,搭建2号库到一号库的ogg同步环境,并且修改了这些表的schema

         疑问:与客户应用人员交流,schema确实不是A,但当时客户提要求时用desc了所有xxx.table,而且在第2步的检查A.table中也存在数据,

    

你可能感兴趣的:(ogg)