Sie sind auf Seite 1von 59

Oracle GoldenGate

Heterogeneous Replication
Oracle GoldenGate Replication between
MySQL 5.5 to Oracle 12c
Contents
______________________________________________________________________
________________________________________

1. Overview
2. Environment
3. Install GoldenGate 12C for MySQL
4. Install GoldenGate 12C for Oracle 12.1.0.1.0

5. Create Database and User

a) On Source MySQL
b) On Target Oracle 12c

6. OGG Configuration on Source MySQL

         a) Set Environment


         b) Login to ggsci
         c) Configure Manager
         d) Create Extract Group
         e) Create Pump Extract Group
         f) Create Source Table Definitions

7. OGG Configuration on Target Oracle 12c

       a) Set Environment


       b) Login to Database
       c) Configure Manager
       d) Set up the checkpoint table
            i) Create a GLOBALS file
           ii) Activate the GLOBALS parameters
          iii) Add a Replicat checkpoint table
8. Create the Replicat Group
9. On Source (MySQL) Start Manager, Extract and Pump
10. On Target (Oracle 12C) start the Manager and Replicat

11. Test and Verify the Results

INSERT OPERATION

      a1) Execute Insert on the Source Oracle Database MySQL


      a2) Verify Insert Changes on Target Oracle Database Oracle 12C

UPDATE OPERATION

      b1) Execute update on the Source Oracle Database MySQL


      b2) Verify Update Changes on Target Oracle Database Oracle 12c

DELETE OPERATION

      c1) Execute Delete on the Source Oracle Database MySQL


      c2) Verify Delete Changes on Target Oracle Database Oracle 12c

______________________________________________________________________
_______________________________________

1. Overview

Configure Oracle GoldenGate to perform one-way replication from


MySQL 5.5 database to an Oracle 12c database on same server

2. Environment

Source (MySQL):

Server Name : RAC1.RAJASEKHAR.COM


OS Version : Red Hat Enterprise Linux 5.8

GoldenGate Version : 12.1.2.0.0 for MySQL

Database Name : CHITTI

File System : Normal

Golden Gate User : OGGUSER

Golden Gate Extract : E_MYSQL

Golden Gate Pump : P_MYSQL

Application User : CHITTI (Replicating this user data to


target)

GoldenGate Home : /u01/app/oracle/product/mysqlogg

Target (Oracle 12c):

Server Name : RAC1.RAJASEKHAR.COM

OS Version : Red Hat Enterprise Linux 5.8

Database Version : 12.1.0.1.0

GoldenGate Version : 12.1.2.0.0 for Oracle 12c

Database Name : ORCL12

File System : Normal


Golden Gate User : OGGUSER

Golden Gate Replicat : R_MYSQL

Application User : CHITTI

GoldenGate Home : /u01/app/oracle/product/12cogg

3. Install GoldenGate 12C for MySQL

We will publish soon about this separatly !!!

4. Install GoldenGate 12C for Oracle 12.1.0.1.0

We will publish soon about this separatly !!!

5. Create MySQL Database and User CHITTI for testing

a) On Source (MySQL)

[root@rac1 raj]# mysql -u root -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 8


Server version: 5.5.28-log MySQL Community Server (GPL)

Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights
reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input
statement.

mysql> create database CHITTI;

Query OK, 1 row affected (0.00 sec)

mysql>

mysql> CREATE USER 'CHITTI'@'localhost' IDENTIFIED BY 'CHITTI';

Query OK, 0 rows affected (0.00 sec)


mysql> select host,user from mysql.user where user='CHITTI';

+-----------+--------+

| host | user |

+-----------+--------+

| localhost | CHITTI |

+-----------+--------+

1 row in set (0.15 sec)

mysql>

mysql> GRANT ALL ON *.* TO 'CHITTI'@'localhost';

Query OK, 0 rows affected (0.01 sec)

mysql>

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.01 sec)

mysql>
mysql> show databases;

+--------------------+

| Database |

+--------------------+

| CHITTI |

| mysql |

+--------------------+

2 rows in set (0.00 sec)

mysql>

mysql> show tables;

Empty set (0.00 sec)

mysql>

-- Create the source database tables


[root@rac1 oracle]# mysql -u CHITTI -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 6

Server version: 5.5.28-log MySQL Community Server (GPL)

Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights
reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input
statement.

mysql> USE CHITTI;

Database changed

mysql>
mysql> SELECT DATABASE();

+------------+

| DATABASE() |

+------------+

| CHITTI |

+------------+

1 row in set (0.00 sec)

mysql>

mysql> SELECT USER();

+------------------+

| USER() |

+------------------+

| CHITTI@localhost |

+------------------+

1 row in set (0.00 sec)

mysql>

mysql> USE CHITTI;


Database changed

mysql> drop table if exists trans_type;

Query OK, 0 rows affected (0.21 sec)

mysql> create table trans_type (

-> trans_id smallint,

-> trans varchar(5),

-> primary key (trans_id))

-> ENGINE=InnoDB;

Query OK, 0 rows affected (0.11 sec)

mysql>

mysql> show tables;

+------------------+

| Tables_in_CHITTI |

+------------------+

| trans_type |

+------------------+
1 rows in set (0.00 sec)

mysql>

mysql> select count(*) as trans_type from trans_type;

+------------+

| trans_type |

+------------+

| 0 |

+------------+

1 row in set (0.01 sec)

mysql>

b) On Target (Oracle 12c)

Connected to:

Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit


Production
With the Partitioning, OLAP, Advanced Analytics and Real
Application Testing options

SQL> select name,open_mode from v$database;

NAME OPEN_MODE

--------- --------------------

ORCL12 READ WRITE

SQL> create user CHITTI identified by CHITTI default tablespace


users temporary tablespace temp;

User created.

SQL> grant connect,resource to chitti;

Grant succeeded.

SQL> alter user chitti quota unlimited on users;


User altered.

SQL> conn CHITTI/CHITTI;

Connected.

SQL> create table trans_type (

trans_id smallint,

trans varchar2(5),

primary key (trans_id)

using index

);

Table created.

SQL>

SQL> col tname for a15

SQL> select * from tab;

TNAME TABTYPE CLUSTERID


--------------- ------- ----------

TRANS_TYPE TABLE

1 rows selected.

SQL>

SQL> set echo on;

SQL> select count(*) from TRANS_TYPE;

COUNT(*)

----------

0 <------------------ empty table

SQL>

6. OGG Configuration on Source MySQL

a) Set Environment

. mysql.env
#!/bin/bash

GG=/u01/app/oracle/product/mysqlogg ; export GG

JAVA_HOME=/u01/software/jdk1.7.0_45 ; export JAVA_HOME

PATH=$JAVA_HOME/bin:$PATH:$HOME/bin:/usr/local/bin ; export PATH

LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64/server/libjvm.so:/u01/app/
oracle/product/mysqlogg ; export LD_LIBRARY_PATH

alias ggsci='cd $GG; rlwrap ./ggsci'

b) Login to ggsci

[root@rac1 ~]# cd /home/oracle

[root@rac1 oracle]# . mysql.env

[root@rac1 oracle]# ggsci

Oracle GoldenGate Command Interpreter for MySQL

Version 12.1.2.0.0 17185003


OGGCORE_12.1.2.0.0_PLATFORMS_130924.1316

Linux, x64, 64bit (optimized), MySQL Enterprise on Sep 24 2013


15:32:47

Operating system character set identified as UTF-8.


Copyright (C) 1995, 2013, Oracle and/or its affiliates. All rights
reserved.

GGSCI (rac1.rajasekhar.com) 1> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER STOPPED

GGSCI (rac1.rajasekhar.com) 3>

c) Configure Manager

GGSCI (rac1.rajasekhar.com) 4> edit param mgr

-- Add below lines

PORT 15100

DYNAMICPORTLIST 15110-15120
PURGEOLDEXTRACTS ./dirdat/eo, USECHECKPOINTS, MINKEEPFILES 10

GGSCI (rac1.rajasekhar.com) 5> view params mgr

PORT 15100

DYNAMICPORTLIST 15110-15120

PURGEOLDEXTRACTS ./dirdat/eo, USECHECKPOINTS, MINKEEPFILES 10

GGSCI (rac1.rajasekhar.com) 6>

d) Create Extract Group

-- CREATE EXTRACT AND LOCAL EXTRACT TRAIL OF 50MB

GGSCI (rac1.rajasekhar.com) 6> ADD EXTRACT E_MYSQL, VAM, BEGIN NOW

EXTRACT added.

GGSCI (rac1.rajasekhar.com) 7> ADD EXTTRAIL ./dirdat/eo, EXTRACT


E_MYSQL, MEGABYTES 50

EXTTRAIL added.
GGSCI (rac1.rajasekhar.com) 8>

GGSCI (rac1.rajasekhar.com) 22> edit param E_MYSQL

-- Add below lines

EXTRACT E_MYSQL

EXTTRAIL ./dirdat/eo

SOURCEDB CHITTI@localhost:3306, USERID CHITTI, PASSWORD CHITTI

TRANLOGOPTIONS ALTLOGDEST /var/lib/mysql/pts-bin.index

STATOPTIONS RESETREPORTSTATS

REPORT AT 00:01
REPORTROLLOVER AT 00:01

REPORTCOUNT EVERY 60 SECONDS, RATE

TABLE CHITTI.trans_type;

GGSCI (rac1.rajasekhar.com) 23> view param E_MYSQL

EXTRACT E_MYSQL

EXTTRAIL ./dirdat/eo

SOURCEDB CHITTI@localhost:3306, USERID CHITTI, PASSWORD CHITTI

TRANLOGOPTIONS ALTLOGDEST /var/lib/mysql/pts-bin.index

STATOPTIONS RESETREPORTSTATS

REPORT AT 00:01
REPORTROLLOVER AT 00:01

REPORTCOUNT EVERY 60 SECONDS, RATE

TABLE CHITTI.trans_type;

GGSCI (rac1.rajasekhar.com) 24>

e) Create Pump Extract Group

-- CREATE DATA PUMP FOR ORACLE 12C AND REMOTE EXTRACT TRAIL OF 50MB

GGSCI (rac1.rajasekhar.com) 25> ADD EXTRACT P_MYSQL, EXTTRAILSOURCE


./dirdat/eo

EXTRACT added.
GGSCI (rac1.rajasekhar.com) 26> ADD RMTTRAIL ./dirdat/ra, EXTRACT
P_MYSQL, MEGABYTES 50

RMTTRAIL added.

GGSCI (rac1.rajasekhar.com) 27> edit param P_MYSQL

-- Add below lines

EXTRACT P_MYSQL

USERID ogguser, password oracle

RMTHOST 192.168.2.101, MGRPORT 15000

RMTTRAIL ./dirdat/ra

PASSTHRU
REPORTCOUNT EVERY 60 SECONDS, RATE

TABLE CHITTI.*;

GGSCI (rac1.rajasekhar.com) 28> view params P_MYSQL

EXTRACT P_MYSQL

USERID ogguser, password oracle

RMTHOST 192.168.2.101, MGRPORT 15000

RMTTRAIL ./dirdat/ra

PASSTHRU

REPORTCOUNT EVERY 60 SECONDS, RATE


TABLE CHITTI.*;

GGSCI (rac1.rajasekhar.com) 29>

f) Create Source Table Definitions

login as root

cd /home/oracle

. mysql.env

cd /u01/app/oracle/product/mysqlogg/dirprm/

vi defgen_chitti.prm

-- Add below lines

DEFSFILE ./dirdef/chittidefs.sql

SOURCEDB CHITTI@localhost, USERID CHITTI, PASSWORD CHITTI

TABLE CHITTI.*;
[root@rac1 dirprm]# cat defgen_chitti.prm

DEFSFILE ./dirdef/chittidefs.sql

SOURCEDB CHITTI@localhost, USERID CHITTI, PASSWORD CHITTI

TABLE CHITTI.*;

[root@rac1 dirprm]#

cd /u01/app/oracle/product/mysqlogg

[root@rac1 mysqlogg]# ./defgen paramfile


/u01/app/oracle/product/mysqlogg/dirprm/defgen_chitti.prm

*******************************************************************
****

Oracle GoldenGate Table Definition Generator for MySQL

Version 12.1.2.0.0 17185003


OGGCORE_12.1.2.0.0_PLATFORMS_130924.1316

Linux, x64, 64bit (optimized), MySQL Enterprise on Sep 24 2013


16:01:59
Copyright (C) 1995, 2013, Oracle and/or its affiliates. All rights
reserved.

Starting at 2018-09-05 15:12:31

*******************************************************************
****

Operating System Version:

Linux

Version #1 SMP Wed Nov 7 18:13:56 PST 2012, Release 2.6.32-


300.39.1.el5uek

Node: rac1.rajasekhar.com

Machine: x86_64

soft limit hard limit

Address Space Size : unlimited unlimited

Heap Size : unlimited unlimited

File Size : unlimited unlimited

CPU Time : unlimited unlimited


Process id: 9617

*******************************************************************
****

** Running with the following parameters


**

*******************************************************************
****

DEFSFILE ./dirdef/chittidefs.sql

SOURCEDB CHITTI@localhost, USERID CHITTI, PASSWORD ******

TABLE CHITTI.*;

Expanding wildcard table specification CHITTI.*:

Retrieving definition for CHITTI.trans_type.

Definitions generated for 1 table in ./dirdef/chittidefs.sql.

[root@rac1 mysqlogg]#
[root@rac1 dirdef]# pwd

/u01/app/oracle/product/mysqlogg/dirdef

[root@rac1 dirdef]# cp chittidefs.sql


/u01/app/oracle/product/12cogg/dirdef

[root@rac1 dirdef]# chmod 644


/u01/app/oracle/product/12cogg/dirdef/chittidefs.sql

[root@rac1 dirdef]#

7. OGG Configuration on Target Oracle 12C

a) Set Environment

. 12c.env

#!/bin/bash

GG=/u01/app/oracle/product/12cogg ; export GG

ORACLE_HOME=/u01/app/oracle/product/12c/db_1; export ORACLE_HOME

ORACLE_SID=ORCL12 ; export ORACLE_SID

JAVA_HOME=/u01/software/jdk1.7.0_45 ; export JAVA_HOME

PATH=$JAVA_HOME/bin:$PATH:$HOME/bin:/usr/local/bin ; export PATH


LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64/server/libjvm.so:
$ORACLE_HOME/lib; export LD_LIBRARY_PATH

alias ggsci='cd $GG; rlwrap ./ggsci'

b) Login to Database

[oracle@rac1 ~]$ . 12c.env

[oracle@rac1 ~]$ ggsci

Oracle GoldenGate Command Interpreter for Oracle

Version 12.1.2.0.0 17185003


OGGCORE_12.1.2.0.0_PLATFORMS_130924.1316_FBO

Linux, x64, 64bit (optimized), Oracle 12c on Sep 25 2013 02:33:54

Operating system character set identified as UTF-8.

Copyright (C) 1995, 2013, Oracle and/or its affiliates. All rights
reserved.

GGSCI (rac1.rajasekhar.com) 1> DBLOGIN USERID ogguser, PASSWORD


oracle

Successfully logged into database.


GGSCI (rac1.rajasekhar.com) 2>

c) Configure Manager

GGSCI (rac1.rajasekhar.com) 2> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER STOPPED

GGSCI (rac1.rajasekhar.com) 3> edit param mgr

-- Add below lines

PORT 15000

DYNAMICPORTLIST 15010-15020

PURGEOLDEXTRACTS ./dirdat/*, USECHECKPOINTS


GGSCI (rac1.rajasekhar.com) 4> view param mgr

PORT 15000

DYNAMICPORTLIST 15010-15020

PURGEOLDEXTRACTS ./dirdat/*, USECHECKPOINTS

GGSCI (rac1.rajasekhar.com) 5>

d) Set up the checkpoint table

i) Create a GLOBALS file

— Global file need to create on target where replicat process


running

— Checkpoint tables are only used by the Replicat, so NO need to


create on source because it’s one-way replication.

ii) Activate the GLOBALS parameters

GGSCI (rac1.rajasekhar.com) 5> EDIT PARAMS ./GLOBALS


-- Add below entries

GGSCHEMA OGGUSER

CHECKPOINTTABLE OGGUSER.CHECKPOINT

GGSCI (rac1.rajasekhar.com) 7> view params ./GLOBALS

GGSCHEMA OGGUSER

CHECKPOINTTABLE OGGUSER.CHECKPOINT

GGSCI (rac1.rajasekhar.com) 8>

For the GLOBALS configuration to take effect, you must exit the
session in which the changes were made. Execute the following
command to exit GGSCI.

GGSCI (rac1.rajasekhar.com) 8> exit

[oracle@rac1 12cogg]$

iii) Add a Replicat checkpoint table


GGSCI (rac1.rajasekhar.com) 1> DBLOGIN USERID ogguser, PASSWORD
oracle

Successfully logged into database.

GGSCI (rac1.rajasekhar.com) 2> ADD CHECKPOINTTABLE


OGGUSER.CHECKPOINT

Successfully created checkpoint table OGGUSER.CHECKPOINT.

GGSCI (rac1.rajasekhar.com) 3>

8. Create the Replicat Group

GGSCI (rac1.rajasekhar.com) 3> ADD REPLICAT R_MYSQL, EXTTRAIL


./dirdat/ra, CHECKPOINTTABLE OGGUSER.CHECKPOINT

REPLICAT added.

GGSCI (rac1.rajasekhar.com) 4> edit param R_MYSQL

-- Add below lines


REPLICAT R_MYSQL

SOURCEDEFS ./dirdef/chittidefs.sql

USERID ogguser, PASSWORD oracle

DISCARDFILE ./dirout/R_MYSQL.DSC, PURGE

STATOPTIONS RESETREPORTSTATS

MAP CHITTI.*, TARGET CHITTI.*;

GGSCI (rac1.rajasekhar.com) 7> view param R_MYSQL

REPLICAT R_MYSQL

SOURCEDEFS ./dirdef/chittidefs.sql
USERID ogguser, PASSWORD oracle

DISCARDFILE ./dirout/R_MYSQL.DSC, PURGE

STATOPTIONS RESETREPORTSTATS

MAP CHITTI.*, TARGET CHITTI.*;

GGSCI (rac1.rajasekhar.com) 8>

9. On Source (MySQL) Start Manager, Extract and Pump

GGSCI (rac1.rajasekhar.com) 1> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER STOPPED
EXTRACT STOPPED E_MYSQL 00:00:00 02:11:01

EXTRACT STOPPED P_MYSQL 00:00:00 02:10:38

GGSCI (rac1.rajasekhar.com) 2> start mgr

Manager started.

GGSCI (rac1.rajasekhar.com) 3> start E_MYSQL

Sending START request to MANAGER ...

EXTRACT E_MYSQL starting

GGSCI (rac1.rajasekhar.com) 4> start P_MYSQL

Sending START request to MANAGER ...

EXTRACT P_MYSQL starting


GGSCI (rac1.rajasekhar.com) 5> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER RUNNING

EXTRACT RUNNING E_MYSQL 02:12:25 00:00:05

EXTRACT RUNNING P_MYSQL 00:00:00 02:12:08

GGSCI (rac1.rajasekhar.com) 6>

10. On Target (Oracle 12C) start the Manager and Replicat

GGSCI (rac1.rajasekhar.com) 8> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER STOPPED
REPLICAT STOPPED R_MYSQL 00:00:00 00:47:04

GGSCI (rac1.rajasekhar.com) 9> start mgr

Manager started.

GGSCI (rac1.rajasekhar.com) 10> start R_MYSQL

Sending START request to MANAGER ...

REPLICAT R_MYSQL starting

GGSCI (rac1.rajasekhar.com) 11>

GGSCI (rac1.rajasekhar.com) 15> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER RUNNING
REPLICAT RUNNING R_MYSQL 00:00:00 00:00:04

GGSCI (rac1.rajasekhar.com) 16>

11. Test and Verify the Results

INSERT OPERATION

a1) Execute Insert on the Source Oracle Database MySQL

[root@rac1 oracle]# mysql -u CHITTI -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 16

Server version: 5.5.28-log MySQL Community Server (GPL)

Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights
reserved.

Oracle is a registered trademark of Oracle Corporation and/or its


affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input
statement.

mysql> USE CHITTI;

Database changed

mysql> select user();

+------------------+

| user() |

+------------------+

| CHITTI@localhost |

+------------------+

1 row in set (0.00 sec)

mysql>
mysql> INSERT INTO trans_type values(1,'SUGI');

Query OK, 1 row affected (0.01 sec)

mysql> INSERT INTO trans_type values(2,'TEJU');

Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO trans_type values(3,'RAJ');

Query OK, 1 row affected (0.01 sec)

mysql> INSERT INTO trans_type values(4,'SOMU');

Query OK, 1 row affected (0.08 sec)

mysql> INSERT INTO trans_type values(5,'SREERAM');

Query OK, 1 row affected, 1 warning (0.01 sec)

mysql> COMMIT;

Query OK, 0 rows affected (0.00 sec)

mysql>
GGSCI (rac1.rajasekhar.com) 15> stats E_MYSQL total

Sending STATS request to EXTRACT E_MYSQL ...

Start of Statistics at 2018-09-05 17:26:03.

Output to ./dirdat/eo:

Extracting from CHITTI.trans_type to CHITTI.trans_type:

*** Total statistics since 2018-09-05 17:10:24 ***

Total inserts 5.00


<----

Total updates 0.00

Total deletes 0.00

Total discards 0.00

Total operations 5.00


End of Statistics.

GGSCI (rac1.rajasekhar.com) 17>

GGSCI (rac1.rajasekhar.com) 18> stats P_MYSQL total

Sending STATS request to EXTRACT P_MYSQL ...

Start of Statistics at 2018-09-05 17:26:37.

Output to ./dirdat/ra:

Extracting from CHITTI.trans_type to CHITTI.trans_type:

*** Total statistics since 2018-09-05 17:23:49 ***

Total inserts 5.00


<----

Total updates 0.00

Total deletes 0.00


Total discards 0.00

Total operations 5.00

End of Statistics.

GGSCI (rac1.rajasekhar.com) 18>

mysql> select * from trans_type;

+----------+-------+

| trans_id | trans |

+----------+-------+

| 1 | SUGI |

| 2 | TEJU |

| 3 | RAJ |

| 4 | SOMU |

| 5 | SREER |

+----------+-------+

5 rows in set (0.00 sec)


mysql>

a2) Verify Insert Changes on Target Oracle Database Oracle 12c

GGSCI (rac1.rajasekhar.com) 17> stats R_MYSQL total

Sending STATS request to REPLICAT R_MYSQL ...

Start of Statistics at 2018-09-05 17:31:09.

Replicating from CHITTI.trans_type to CHITTI.TRANS_TYPE:

*** Total statistics since 2018-09-05 17:24:11 ***

Total inserts 5.00


<---

Total updates 0.00

Total deletes 0.00

Total discards 0.00

Total operations 5.00


End of Statistics.

GGSCI (rac1.rajasekhar.com) 18>

SQL> select * from CHITTI.TRANS_TYPE;

TRANS_ID TRANS

---------- -----

1 SUGI

2 TEJU

3 RAJ

4 SOMU

5 SREER

SQL>

UPDATE OPERATION
b1) Execute update on the Source Oracle Database MySQL

mysql> select * from trans_type;

+----------+-------+

| trans_id | trans |

+----------+-------+

| 1 | SUGI |

| 2 | TEJU |

| 3 | RAJ |

| 4 | SOMU |

| 5 | SREER |

+----------+-------+

5 rows in set (0.00 sec)

mysql> update trans_type set trans='SELVA' where trans_id='5';

Query OK, 1 row affected (0.09 sec)

Rows matched: 1 Changed: 1 Warnings: 0

mysql> commit;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from trans_type;

+----------+-------+

| trans_id | trans |

+----------+-------+

| 1 | SUGI |

| 2 | TEJU |

| 3 | RAJ |

| 4 | SOMU |

| 5 | SELVA |

+----------+-------+

5 rows in set (0.00 sec)

mysql>

GGSCI (rac1.rajasekhar.com) 19> stats E_MYSQL total


Sending STATS request to EXTRACT E_MYSQL ...

Start of Statistics at 2018-09-05 17:46:50.

Output to ./dirdat/eo:

Extracting from CHITTI.trans_type to CHITTI.trans_type:

*** Total statistics since 2018-09-05 17:10:24 ***

Total inserts 5.00

Total updates 1.00


<----

Total deletes 0.00

Total discards 0.00

Total operations 6.00

End of Statistics.
GGSCI (rac1.rajasekhar.com) 20> stats P_MYSQL total

Sending STATS request to EXTRACT P_MYSQL ...

Start of Statistics at 2018-09-05 17:47:11.

Output to ./dirdat/ra:

Extracting from CHITTI.trans_type to CHITTI.trans_type:

*** Total statistics since 2018-09-05 17:23:49 ***

Total inserts 5.00

Total updates 1.00


<----

Total deletes 0.00

Total discards 0.00

Total operations 6.00

End of Statistics.
GGSCI (rac1.rajasekhar.com) 21>

b2) Verify Update Changes on Target Oracle Database Oracle 12c

GGSCI (rac1.rajasekhar.com) 18> stats R_MYSQL total

Sending STATS request to REPLICAT R_MYSQL ...

Start of Statistics at 2018-09-05 17:48:53.

Replicating from CHITTI.trans_type to CHITTI.TRANS_TYPE:

*** Total statistics since 2018-09-05 17:24:11 ***

Total inserts 5.00

Total updates 1.00


<----

Total deletes 0.00

Total discards 0.00


Total operations 6.00

End of Statistics.

GGSCI (rac1.rajasekhar.com) 19>

SQL> select * from CHITTI.TRANS_TYPE;

TRANS_ID TRANS

---------- -----

1 SUGI

2 TEJU

3 RAJ

4 SOMU

5 SELVA <------

SQL>
DELETE OPERATION

c1) Execute Delete on the Source Oracle Database MySQL

mysql> select * from trans_type;

+----------+-------+

| trans_id | trans |

+----------+-------+

| 1 | SUGI |

| 2 | TEJU |

| 3 | RAJ |

| 4 | SOMU |

| 5 | SELVA |

+----------+-------+

5 rows in set (0.00 sec)

mysql> DELETE FROM trans_type WHERE TRANS_ID = 5;

Query OK, 1 row affected (0.21 sec)

mysql> commit;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from trans_type;

+----------+-------+

| trans_id | trans |

+----------+-------+

| 1 | SUGI |

| 2 | TEJU |

| 3 | RAJ |

| 4 | SOMU |

+----------+-------+

4 rows in set (0.00 sec)

mysql>

GGSCI (rac1.rajasekhar.com) 21> stats E_MYSQL total

Sending STATS request to EXTRACT E_MYSQL ...


Start of Statistics at 2018-09-05 17:52:42.

Output to ./dirdat/eo:

Extracting from CHITTI.trans_type to CHITTI.trans_type:

*** Total statistics since 2018-09-05 17:10:24 ***

Total inserts 5.00

Total updates 1.00

Total deletes 1.00


<----

Total discards 0.00

Total operations 7.00

End of Statistics.

GGSCI (rac1.rajasekhar.com) 22> stats P_MYSQL total


Sending STATS request to EXTRACT P_MYSQL ...

Start of Statistics at 2018-09-05 17:52:50.

Output to ./dirdat/ra:

Extracting from CHITTI.trans_type to CHITTI.trans_type:

*** Total statistics since 2018-09-05 17:23:49 ***

Total inserts 5.00

Total updates 1.00

Total deletes 1.00


<----

Total discards 0.00

Total operations 7.00

End of Statistics.
GGSCI (rac1.rajasekhar.com) 23>

c2) Verify Delete Changes on Target Oracle Database Oracle 12c

GGSCI (rac1.rajasekhar.com) 19> stats R_MYSQL total

Sending STATS request to REPLICAT R_MYSQL ...

Start of Statistics at 2018-09-05 17:55:07.

Replicating from CHITTI.trans_type to CHITTI.TRANS_TYPE:

*** Total statistics since 2018-09-05 17:24:11 ***

Total inserts 5.00

Total updates 1.00

Total deletes 1.00


<-----

Total discards 0.00

Total operations 7.00


End of Statistics.

GGSCI (rac1.rajasekhar.com) 20>

SQL> select * from CHITTI.TRANS_TYPE;

TRANS_ID TRANS

---------- -----

1 SUGI

2 TEJU

3 RAJ

4 SOMU

SQL>

GGSCI (rac1.rajasekhar.com) 20> info R_MYSQL

REPLICAT R_MYSQL Last Started 2018-09-05 17:01 Status RUNNING


Checkpoint Lag 00:00:00 (updated 00:00:05 ago)

Process ID 13305

Log Read Checkpoint File ./dirdat/ra000000

2018-09-05 17:52:02.000864 RBA 2433

GGSCI (rac1.rajasekhar.com) 21> lag R_MYSQL

Sending GETLAG request to REPLICAT R_MYSQL ...

Last record lag 7 seconds.

At EOF, no more records to process.

GGSCI (rac1.rajasekhar.com) 22>

It’s working !!!   

Caution: Your use of any information or materials on this website is entirely at


your own risk. It is provided for educational purposes only. It has been tested
internally, however, we do not guarantee that it will work for you. Ensure that you
run it in your test environment before using.
Thank you,
Rajasekhar Amudala
Email: br8dba@gmail.com

Das könnte Ihnen auch gefallen