|
IOTN :: Field Book :: Altibase 
 |
altibase replication test
|
ÃÖ±æÈ£
[LIST]
|
2016-11-17 12:41:53, Á¶È¸ : 2,012 |

grep PORT $ALTIBASE_HOME/conf/altibase.properties
PORT_NO = 20300
REPLICATION_PORT_NO = 20301
//
PORT_NO = 22300
REPLICATION_PORT_NO = 22301
select count(*) from v$statement where execute_flag = 1; # ¼öÇà ÁßÀÎ statement
select name from v$datafiles;
create tablespace tester1 datafile '/home/altibase/data/tester1.dbf' size 10m
autoextend on next 20m maxsize unlimited;
create user tester1 identified by pwd default tablespace tester1;
connect tester1/pwd
create table tester1.test1 ( i1 integer primary key, i2 char(10));
drop replication rep
-- node1
create replication rep with '192.168.20.5',22301 from tester1.test1 to tester1.test1;
-- node2
create replication rep with '192.168.20.5',20301 from tester1.test1 to tester1.test1;
insert into tester1.test1 select level,level from dual connect by level <=100;
insert into tester1.test1 select level,level from dual where level > 100 connect by level <=150;
select count(1) from tester1.test1 ;
// ¼ºñ½º test: node2 down / node1 data insert / node2 start [ ÀÚµ¿Àû¿ë ] / È®ÀÎ
node2$ server stop [ ÁßÁö ]
node1> delete tester1.test1 ; [ rollback ¾ÈµÊ [default] , ¿É¼ÇÁÖ¸é °¡´ÉÇÒÁöµµ ]
node1> insert into tester1.test1 select level,level from dual connect by level <=100;
node2$ server start [ ÀÚµ¿ Àû¿ë ]
// Ä÷³ º¯°æ
node1,node2>
alter replication rep stop;
alter replication rep drop table from tester1.test1 to tester1.test1;
alter system set REPLICATION_DDL_ENABLE=1;
alter table tester1.test1 add column ( i3 varchar(10));
alter system set REPLICATION_DDL_ENABLE=0;
alter replication rep add table from tester1.test1 to tester1.test1;
<<¿Ï·á>>
// ÁøÇàÁß ¿¡·¯
alter table tester1.test1 add column ( i3 varchar(10));
[ERR-312C4 : Cannot execute this DDL on a replicated table when the system property REPLICATION_DDL_ENABLE is 0.]
>> alter system set REPLICATION_DDL_ENABLE=1;
iSQL> alter replication rep drop table from tester1.test1 to tester1.test1;
[ERR-6106F : You cannot drop only one replicated table.]
>> create table sys.rep1 (id integer primary key );
>> alter replication rep add table from sys.rep1 to sys.rep1;
// Ãß°¡ º¯°æ
alter replication rep stop
alter replication rep add host 'ip','port';
// °ü·Ã Á¤º¸ È®ÀÎ
select * from v$repreceiver;
select * from v$repsender;
select * from system_.SYS_REPLICATIONS_ ;
SELECT rep_name, rep_gap FROM v$repgap;
select replication_name||': '||local_user_name||'.'||local_table_name from system_.sys_repl_items_ order by replication_name;
// insert conflict test
tail -f $ALTIBASE_HOME/trc/altibase_rp.log
node1,node2>
alter replication rep stop;
node1> insert into tester1.test1 values(1000,'node1');
node2> insert into tester1.test1 values(1000,'node2');
alter replication rep start;
select * from tester1.test1 where i1=1000;
node1: i1=1000 ,i2=node1
node2: i1=1000 ,i2=node2
delete tester1.test1 where i1=1000;
//
// test with replication_insert_replace=1
alter system set replication_insert_replace=1;
>> [ ¸ÕÀú ½ÇÇàÇÑ°Ô sync ¶Ç´Â ¼·Î ¹Ù²î±âµµÇÑ´Ù.]
node1: i1=1000 ,i2=node2
node2: i1=1000 ,i2=node1
// delete conflict test
node1>
insert into tester1.test1 values(10,'test');
alter session set replication=false;
insert into tester1.test1 values(1000,'node1');
node2>
alter session set replication=true;
delete from tester1.test1 ;
// update conflict test
node1>
alter session set replication=false;
insert into tester1.test1 values(1000,'node1');
node2>
alter session set replication=false;
insert into tester1.test1 values(1000,'node2');
node1>
alter session set replication=true;
update tester1.test1 set i2='test' where i1=1000;
>> node2 ¹Ý¿µµÇÁö ¾Ê´Â´Ù.
>> node2$ $ALTIBASE_HOME/trc/altibase_rp.log
>> [2016/11/22 17:40:54] [Thread-1096284480] [Level-2]
>> ERR-61035(errno=0) [Receiver] An update conflict occurred.
>> [2016/11/22 17:40:54] [Thread-1096284480] [Level-3]
>> UPDATE TESTER1.TEST1 SET I2 = test WHERE I1 = 1000;
iSQL> alter replication rep sync;
[ERR-6100D : [Sender] Failed to handshake with the peer server (Handshake Process Error)]
=> ip,port check
[ERR-311B1 : The user must have CREATE_ANY_TABLE privilege(s) to execute this statement.]
=> alter user tester1 access tester1 on;
iSQL> drop table tester1.test1;
[ERR-3103F : No DDL statement may be executed on a replicated table.]
iSQL> create replication rep with '127.0.0.1',22301 from tester1.test1 to tester1.test1;
[ERR-31088 : A replicated table must have a primary key. (TESTER1.TEST1)]
http://support.altibase.com/kr/faq-view?no=163
http://a07274.tistory.com/89 | 44.200.145.223
|
|
 |
Copyright 1999-2023 Zeroboard / skin by ÃÖ±æÈ£(gilho.kr@gmail.com)
|
|
|