oracle GoldenGate系列:(二)有关ogg下的触发器


两边同步已经同步的数据
SQL> select * from student;

       SID SNAME
---------- ---------------
         1 zhangsan
         2 LiSi
         3 WangWu
         4 ZhaoLiu
SQL> select * from score;

       SID CNAME                SCORE
---------- --------------- ----------
         1 Math                    96
         1 History                 80
         2 Math                    97
         2 History                 85
         3 Math                   100
         3 History                 70

6 rows selected.

两边都建了触发器
create trigger trigger_1
after delete on scott.student
for each row
begin
delete score where sid=:old.sid;
end;
  7  /

Trigger created.

源端进行删除操作
SQL> delete student where sid=1;

1 row deleted.

SQL> select * from score;

       SID CNAME                SCORE
---------- --------------- ----------
         2 Math                    97
         2 History                 85
         3 Math                   100
         3 History                 70

SQL> commit;

Commit complete.

查看目标端的数据,并没有变化
SQL> select * from student;

       SID SNAME
---------- ---------------
         1 zhangsan
         2 LiSi
         3 WangWu
         4 ZhaoLiu
SQL> select * from score;

       SID CNAME                SCORE
---------- --------------- ----------
         1 Math                    96
         1 History                 80
         2 Math                    97
         2 History                 85
         3 Math                   100
         3 History                 70

查看目标端的进程,repdb2已经abended了
GGSCI (linfan2) 22> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
REPLICAT    ABENDED     REPDB2      00:00:00      00:00:20    

解决:
删除目标端的触发器
SQL> drop trigger trigger_1;

Trigger dropped.
重新开启进程
GGSCI (linfan2) 24> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
REPLICAT    RUNNING     REPDB2      00:00:00      00:00:03   
查看数据,已经自动同步
SQL> select * from student;

       SID SNAME
---------- ---------------
         2 LiSi
         3 WangWu
         4 ZhaoLiu

SQL> select * from score;

       SID CNAME                SCORE
---------- --------------- ----------
         2 Math                    97
         2 History                 85
         3 Math                   100
         3 History                 70
总结:ogg下,源端已经配置了触发器,目标端就不需要配置了,不然会报错。

请使用浏览器的分享功能分享到微信等