TimesTenデータベースレプリケーション学習:18.classicレプリケーションの典型的な設計モード-双方向レプリケーション
5567 ワード
双方向レプリケーションはclassicレプリケーションの典型的なモードであり、双方向レプリケーション、すなわちactive/activeモードであり、本明細書では単一テーブルに対する双方向レプリケーションを定義し、両方を同じテーブルに対して同時に変更することができる.
DSNは以下の通りである.
master 1とmaster 2では、次の操作を同時に行います.
cachedb 1とcachedb 2でrep agentを同時に起動
rep schemeを表示するには:
マスター1にデータを挿入し、データをマスター2にコピーします.
この行のデータをmaster 1で更新し、データをmaster 1にコピーします.
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
master 1とmaster 2では、次の操作を同時に行います.
create table a1(k int, v int, primary key(k));
CREATE REPLICATION r1 ELEMENT elem1 TABLE a1 MASTER master1 ON "timesten-hol" SUBSCRIBER master2 ON "timesten-hol" RETURN RECEIPT ELEMENT elem2 TABLE a1 MASTER master2 ON "timesten-hol" SUBSCRIBER master1 ON "timesten-hol" RETURN RECEIPT;
cachedb 1とcachedb 2でrep agentを同時に起動
call ttrepstart;
rep schemeを表示するには:
Command> repschemes;
Replication Scheme ORACLE.R1:
Element: ELEM1
Type: Table ORACLE.A1
Master Store: MASTER1 on TIMESTEN-HOL Transmit Durable
Subscriber Store: MASTER2 on TIMESTEN-HOL Return Receipt
Element: ELEM2
Type: Table ORACLE.A1
Master Store: MASTER2 on TIMESTEN-HOL Transmit Durable
Subscriber Store: MASTER1 on TIMESTEN-HOL Return Receipt
Store: MASTER1 on TIMESTEN-HOL
Port: (auto)
Log Fail Threshold: (none)
Retry Timeout: 120 seconds
Compress Traffic: Disabled
Return Service Wait Time: 10 seconds
Return Service on Replication Stop: Disabled
Return Service Failure Policy: (none)
Store: MASTER2 on TIMESTEN-HOL
Port: (auto)
Log Fail Threshold: (none)
Retry Timeout: 120 seconds
Compress Traffic: Disabled
Return Service Wait Time: 10 seconds
Return Service on Replication Stop: Disabled
Return Service Failure Policy: (none)
1 replication scheme found.
マスター1にデータを挿入し、データをマスター2にコピーします.
master1> insert into a1 values(1, 1);
1 row inserted.
master2> select * from a1;
< 1, 1 >
この行のデータをmaster 1で更新し、データをmaster 1にコピーします.
master2> update a1 set v = 2 where k = 1;
1 row updated.
master1> select * from a1;
< 1, 2 >