-- http://download.oracle.com/docs/cd/E11882_01/server.112/e10707/rarrepsite.htm -- na obou databazich: -- -- AS SYSTEM -- -- zprostredkovatel synchronizace CREATE USER repadmin IDENTIFIED BY repadmin; -- odpovidajici prava BEGIN DBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_SCHEMA (username => 'repadmin'); END; / GRANT COMMENT ANY TABLE TO repadmin; GRANT LOCK ANY TABLE TO repadmin; GRANT SELECT ANY DICTIONARY TO repadmin; -- registrace propagatora BEGIN DBMS_DEFER_SYS.REGISTER_PROPAGATOR ( username => 'repadmin'); END; / -- registrace receivera BEGIN DBMS_REPCAT_ADMIN.REGISTER_USER_REPGROUP ( username => 'repadmin', privilege_type => 'receiver', list_of_gnames => NULL); END; / -- -- AS REPADMIN -- BEGIN DBMS_DEFER_SYS.SCHEDULE_PURGE ( next_date => SYSDATE, interval => 'SYSDATE + 1/24', delay_seconds => 0); END; / -- linky mezi databazemi CREATE DATABASE LINK semora{1|2} CONNECT TO repadmin IDENTIFIED BY repadmin USING 'semora{1|2}; -- push operace BEGIN DBMS_DEFER_SYS.SCHEDULE_PUSH ( destination => 'semora2', interval => 'SYSDATE + (1/144)', next_date => SYSDATE, parallelism => 1, execution_seconds => 1500, delay_seconds => 1200); END; / BEGIN DBMS_DEFER_SYS.SCHEDULE_PUSH ( destination => 'semora1', interval => 'SYSDATE + (1/144)', next_date => SYSDATE, parallelism => 1, execution_seconds => 1500, delay_seconds => 1200); END; / --------------------- -- -- AS KOP -- create table replikovana( id number(5) constraint replikovana_pk primary key, txt varchar2(20) not null ); -- -- AS REPADMIN -- -- master grupy (v semora1) BEGIN DBMS_REPCAT.CREATE_MASTER_REPGROUP (gname => 'test_rg'); END; / BEGIN DBMS_REPCAT.CREATE_MASTER_REPOBJECT ( gname => 'test_rg', type => 'TABLE', oname => 'REPLIKOVANA', sname => 'KOP', use_existing_object => TRUE, copy_rows => FALSE); END; / BEGIN DBMS_REPCAT.CREATE_MASTER_REPOBJECT ( gname => 'test_rg', type => 'INDEX', oname => 'REPLIKOVANA_PK', sname => 'KOP', use_existing_object => TRUE, copy_rows => FALSE); END; / BEGIN DBMS_REPCAT.ADD_MASTER_DATABASE ( gname => 'test_rg', master => 'semora2', use_existing_objects => TRUE, copy_rows => FALSE, propagation_mode => 'ASYNCHRONOUS'); END; / SELECT COUNT(*) FROM DBA_REPCATLOG WHERE GNAME = 'TEST_RG'; -- replikacni support BEGIN DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT ( sname => 'KOP', oname => 'REPLIKOVANA', type => 'TABLE', min_communication => TRUE); END; / BEGIN DBMS_REPCAT.RESUME_MASTER_ACTIVITY ( gname => 'test_rg'); END; / -------- BEGIN DBMS_REPCAT.SUSPEND_MASTER_ACTIVITY ( gname => 'test_rg'); END; / BEGIN DBMS_REPCAT.ALTER_MASTER_PROPAGATION ( gname => 'test_rg', master => 'semora2', dblink_list => null, propagation_mode => 'SYNCHRONOUS'); END; / BEGIN DBMS_REPCAT.RESUME_MASTER_ACTIVITY ( gname => 'test_rg'); END; /