本文主要是介绍TimesTen 数据库复制学习:18. classic复制的典型设计模式-双向复制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
双向复制是classic复制的典型模式,双向复制即active/active模式,本文定义对于单表的双向复制,两边对于同一表可以同时更改。
DSN如下:
[master1]
Driver=/home/oracle/TimesTen/tt1122/lib/libtten.so
DataStore=/tmp/master1
DatabaseCharacterSet=AL32UTF8
ConnectionCharacterSet=AL32UTF8[master2]
Driver=/home/oracle/TimesTen/tt1122/lib/libtten.so
DataStore=/tmp/master2
DatabaseCharacterSet=AL32UTF8
ConnectionCharacterSet=AL32UTF8
在 master1 和 master2 上同时执行以下操作:
create table a1(k int, v int, primary key(k));CREATE REPLICATION r1
ELEMENT elem1 TABLE a1MASTER master1 ON "timesten-hol"SUBSCRIBER master2 ON "timesten-hol" RETURN RECEIPT
ELEMENT elem2 TABLE a1MASTER master2 ON "timesten-hol"SUBSCRIBER master1 ON "timesten-hol" RETURN RECEIPT;
在cachedb1和cachedb2上同时启动rep agent
call ttrepstart;
查看rep scheme:
Command> repschemes;Replication Scheme ORACLE.R1:Element: ELEM1 Type: Table ORACLE.A1Master Store: MASTER1 on TIMESTEN-HOL Transmit DurableSubscriber Store: MASTER2 on TIMESTEN-HOL Return ReceiptElement: ELEM2 Type: Table ORACLE.A1Master Store: MASTER2 on TIMESTEN-HOL Transmit DurableSubscriber Store: MASTER1 on TIMESTEN-HOL Return ReceiptStore: MASTER1 on TIMESTEN-HOLPort: (auto)Log Fail Threshold: (none)Retry Timeout: 120 secondsCompress Traffic: DisabledReturn Service Wait Time: 10 secondsReturn Service on Replication Stop: DisabledReturn Service Failure Policy: (none)Store: MASTER2 on TIMESTEN-HOLPort: (auto)Log Fail Threshold: (none)Retry Timeout: 120 secondsCompress Traffic: DisabledReturn Service Wait Time: 10 secondsReturn Service on Replication Stop: DisabledReturn Service Failure Policy: (none)1 replication scheme found.
在master1上插入数据,数据复制到master2
master1> insert into a1 values(1, 1);
1 row inserted.
master2> select * from a1;
< 1, 1 >
在master1上更新此行数据,数据复制到master1
master2> update a1 set v = 2 where k = 1;
1 row updated.
master1> select * from a1;
< 1, 2 >
这篇关于TimesTen 数据库复制学习:18. classic复制的典型设计模式-双向复制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!