goldengate dml同步进程目标表加字段处理测试
2015-01-06 11:10
591 查看
--实验:对于仅有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操作,
然后重新启动进程就可以了,复制进程会正常进行。
--源端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操作,
然后重新启动进程就可以了,复制进程会正常进行。
相关文章推荐
- GoldenGate 12.3 MA架构介绍系列(2) - 数据同步测试
- GoldenGate不配置PUMP进程和本地TRAIL路径的同步
- GoldenGate单向表DML同步
- OGG_GoldenGate数据控制进程Manager(案例)
- Oracle Golden Gate 系列十一 -- 配置 GG DDL 同步 说明 与 示例
- Oracle Golden Gate 系列十一 -- 配置 GG DDL 同步 说明 与 示例
- Oracle Golden Gate 系列十一 -- 配置 GG DDL 同步 说明 与 示例
- 更新了已经过测试-Windows下如何改写目标进程的窗口函数来注入DLL
- GoldenGate for mysql to mysql:单向同步
- Oracle Golden Gate 系列十三 -- 配置GG进程检查点(checkpoint) 说明
- 利用勾子监视系统或进程中的各种事件消息,截获发往目标窗口的消息并进行处理
- GoldenGate学习三 在windows下配置oracle到oracle的DDL同步。
- 多进程多线程环境下的同步机制性能测试
- goldengate复制同步单表修复
- GoldenGate Data Pump 进程 report 报 WARNING OGG-01223 Cannot find executable file './server' 无法启动
- goldengate 复制进程replicat出现ORA-01403 错误
- Goldengate单向大事务复制性能测试
- Goldengate单向大事务复制性能测试
- Oracle Golden Gate 系列十一 -- 配置 GG DDL 同步 说明 与 示例
- Oracle Golden Gate 系列十三 -- 配置GG进程检查点(checkpoint) 说明