Oracle案例13—— OGG-01163 Oracle GoldenGate Delivery for Or
由于虚拟机宿主机重启,导致很多虚拟机服务需要重点关注,其中一个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数据同步恢复。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |