goldengate dml同步进程目标表加字段处理测试

--实验:对于仅有dml同步的goldengate进程,如果源端进行ddl加字段操作,如何处理对应的进程

--源端orcl
--首先检查进程状态,running状态:
[oracle@localhost ogg]$ ./ggsci
GGSCI (localhost.localdomain) 1> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
EXTRACT     RUNNING     DPUMP1      00:00:00      00:00:08    
EXTRACT     RUNNING     EXT1        00:00:00      00:00:06    

--停止抽取进程及传输进程:
GGSCI (localhost.localdomain) 2> stop *

Sending STOP request to EXTRACT DPUMP1 ...
Request processed.

Sending STOP request to EXTRACT EXT1 ...
Request processed.

GGSCI (localhost.localdomain) 3> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
EXTRACT     STOPPED     DPUMP1      00:00:00      00:00:11    
EXTRACT     STOPPED     EXT1        00:00:00      00:00:09  



--目标端orcltest
--确认复制进程状态为running,并停掉进程:
GGSCI (localhost.localdomain) 8> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
REPLICAT    RUNNING     REP1        00:00:00      00:00:06    

GGSCI (localhost.localdomain) 9> stop *

Sending STOP request to REPLICAT REP1 ...
Request processed.



--源端orcl
--对同步的表添加一个字段
[oracle@localhost ogg]$ sqlplus / as sysdba
SQL> alter table ggs.test add new_col varchar2(10);

Table altered.

SQL> exit

--目标端orcltest
--同样添加字段:
[oracle@localhost ogg]$ sqlplus / as sysdba
SQL> alter table ggs.test add new_col varchar2(10);

Table altered.

SQL> exit


--源端orcl
--启动抽取,传输进程
[oracle@localhost ogg]$ ./ggsci
GGSCI (localhost.localdomain) 2> start *

Sending START request to MANAGER ...
EXTRACT DPUMP1 starting

Sending START request to MANAGER ...
EXTRACT EXT1 starting

GGSCI (localhost.localdomain) 4> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
EXTRACT     RUNNING     DPUMP1      00:40:12      00:00:04    
EXTRACT     RUNNING     EXT1        00:02:55      00:00:08  


--目标端orcltest
--启动复制进程  
[oracle@localhost ogg]$ ./ggsci
GGSCI (localhost.localdomain) 2> start *

Sending START request to MANAGER ...
REPLICAT REP1 starting

GGSCI (localhost.localdomain) 5> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
REPLICAT    RUNNING     REP1        00:00:00      00:00:01    


--源端orcl
--进行数据修改测试
[oracle@localhost ~]$ sqlplus / as sysdba
SQL> select count(*) from ggs.test;

  COUNT(*)
----------
        33

SQL> delete from ggs.test where rownum<5;

4 rows deleted.

SQL> commit;

Commit complete.

SQL> insert into ggs.test (username,user_id,account_status,default_tablespace,temporary_tablespace,created,profile,new_col)
values ('a','7','open','one','temp',sysdate,'default','test');  2  

1 row created.

SQL> commit;

Commit complete.

SQL> 


--目标端orcltest
--对应的测试结果:结果正确,说明同步进程是正常的
SQL> select count(1) from ggs.test;

  COUNT(1)
----------
        29
        
SQL> select count(*) from ggs.test;

  COUNT(*)
----------
        30

SQL> exit


实验结论:对于正常进行的dml复制进程,如果目标表需要加字段,通过停止进程,源端目标端同时进行ddl操作,
然后重新启动进程就可以了,复制进程会正常进行。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值