一个能正常复制的ogg进程突然挂起的的情况,一般会有以下几种情况:
1、在数据库复制没开启DDL复制情况下:如果在建设阶段,数据的初始化没有做好(做部署的时候应用或者数据库进程没有停止),当生产端数据表结构发生变化(即有ddl操作)时候,数据库复制的进程会出现abended的状态。
2、另一种是第一种的衍生,如果有临时表产生也会导致复制进程中断。记录下解决过程,
#查看原因:
首先当出现进程abended时候,观察ggserr.log会发现 OGG-01296:error mapping from table_name to table_name。
需要将该表排除(修改复制进程只是一种临时解决办法,最好需要重新初始化)
#su - oracle(确定用户是否是oracle)
$cd /goldengate
$./ggsci ALTER GGSCI (None) 9>info all
#解决方法,修改复制进程参数文件,以repxa为例:
ALTER GGSCI (None) 9>edit params repxa) 然后将这个表名添加到复制进程的参数文件中:mapexclude table_name,然后保存,退出。
#改完复制进程后,重启复制进程:
以repxa为例:
ALTER GGSCI (None) 9>kill repxa
ALTER GGSCI (None) 9>alter repxa,begin now
ALTER GGSCI (None) 9>start repxa
#检查.进程有没有running ,同时查看tail -f ggserr.log