A Demo Configuration of refresh_mysql.pl script
Create the demo table and materialized view log in Oracle:
CREATE TABLE T_OBJECTS AS SELECT * FROM DBA_OBJECTS WHERE ROWNUM < 1;
ALTER TABLE T_OBJECTS MODIFY OBJECT_ID NOT NULL;
ALTER TABLE T_OBJECTS ADD PRIMARY KEY (OBJECT_ID);
CREATE MATERIALIZED VIEW LOG ON T_OBJECTS WITH PRIMARY KEY, SEQUENCE;
Create the relative demo table in MySQL:
CREATE TABLE t_objects (
OBJECT_ID decimal(10,0) NOT NULL, OWNER varchar(30) ,
OBJECT_NAME varchar(128) , SUBOBJECT_NAME varchar(30) ,
DATA_OBJECT_ID decimal(10,0) , OBJECT_TYPE varchar(18) ,
CREATED datetime , LAST_DDL_TIME datetime ,
TIMESTAMP varchar(19) , STATUS varchar(7) ,
TEMPORARY varchar(1) , GENERATED varchar(1) ,
SECONDARY varchar(1) , PRIMARY KEY (OBJECT_ID)
);
Create a configuration file (demo.conf):
# SOURCE # PKEY # MVIEW Log # TARGET
T_OBJECTS # OBJECT_ID # MLOG$_T_OBJECTS # T_OBJECGS
Run refresh_mysql.pl to start replication (I run it on windows with ActivePerl):
perl refresh_mysql.pl -s username#password#Oracle:tnsname -t username#password#MySQL:database:hostip -c demo.conf
Now you can run some DML statement on t_objects from Oracle database, and then check whether the changes are applied to MySQL by this script.
