Real-Time data replication from Oracle to Cassandra using Oracle GoldenGate 21c


In this blog, we will guide you through the steps to set up data replication from an Oracle database to Apache Cassandra using Oracle GoldenGate 21c. This ensures real-time data synchronization between relational and NoSQL environments, enabling seamless data integration.

The environment consists of:

Source (Oracle Database):

Hosts: dbsrv01.localdomain (192.168.56.81).

Oracle database with (RU 19.23), database named "master".

Operating System: Oracle Linux 8.

Goldengate:21.3.0.0.0.

 

Target (Apache Cassandra):

Hosts: dbsrv02.localdomain (192.168.56.82).

Apache Cassandra 4.1, Keyspace named "XSPACE".

Operating System: Oracle Linux 8.

Goldengate:21.4.0.0.0.


Oracle 19.23.0.0.0 (Source)

Apache Cassandra 4.1 (Target)

1. Prepare the source database for GoldenGate capture by enabling archivelog mode, force logging, supplemental logging, configure streams pool memory and enable goldengate_replication parameter to true.

 

[oracle@dbsrv01 ~]$ sqlplus / as sysdba

 

SQL*Plus: Release 19.0.0.0.0 - Production on Sat Feb 22 04:47:35 2025

Version 19.23.0.0.0

 

Copyright (c) 1982, 2023, Oracle.  All rights reserved.

 

Connected to an idle instance.

 

SQL> startup mount;

ORACLE instance started.

 

Total System Global Area 1140847912 bytes

Fixed Size                  8938792 bytes

Variable Size             301989888 bytes

Database Buffers          822083584 bytes

Redo Buffers                7835648 bytes

Database mounted.

SQL> alter database archivelog;

Database altered.

 

SQL> alter database open;

Database altered.

 SQL> alter database force logging;

Database altered.

 SQL> alter database add supplemental log data;

Database altered.

 SQL> alter system set streams_pool_size=3072M scope=both;

System altered.

 SQL> alter system set enable_goldengate_replication=true scope=both;

System altered.

 

1. Create an cassandra.repo file in /etc/yum.repos.d/, add the cassandra repository details and then install Cassandra 4.1.

 

[root@dbsrv02 ~]# vi /etc/yum.repos.d/cassandra.repo

 [cassandra]

name=Apache Cassandra

baseurl=https://redhat.cassandra.apache.org/41x/

gpgcheck=1

repo_gpgcheck=1

gpgkey=https://downloads.apache.org/cassandra/KEYS

 

[root@dbsrv02 ~]# yum install cassandra -y

Installed:

  cassandra-4.1.7-1.noarch                                                      java-11-openjdk-headless-1:11.0.21.0.9-2.0.1.el8.x86_64

 

Complete!

2. Create a tablespace oggtbsp, then create the user oggadmin with oggtbsp as the default tablespace and grant the necessary privileges.

 

[oracle@dbsrv01 ~]$ sqlplus / as sysdba

 

SQL*Plus: Release 19.0.0.0.0 - Production on Sun Feb 23 22:59:13 2025

Version 19.23.0.0.0

 

Copyright (c) 1982, 2023, Oracle.  All rights reserved.

 

 

Connected to:

Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production

Version 19.23.0.0.0

 

SQL> create tablespace oggtbsp datafile '/u01/app/oracle/oradata/MASTER/oggtbsp.dbf' size 100m autoextend on;

 Tablespace created.

 

SQL> create user oggadmin identified by oggadmin default tablespace oggtbsp temporary tablespace temp;

 grant connect,resource to oggadmin;

grant create table,create session,create view to oggadmin;

grant select any dictionary,select any table,select any transaction to oggadmin;

grant create any table to oggadmin;

grant flashback any table to oggadmin;

grant execute on dbms_flashback to oggadmin;

grant execute on utl_file to oggadmin;

grant unlimited tablespace to oggadmin;

grant select on system.logmnr_session$ to oggadmin;

grant alter system to oggadmin;

grant dba to oggadmin;

User created.

 

SQL>

Grant succeeded.

SQL>

Grant succeeded.

SQL>

Grant succeeded.

SQL>

Grant succeeded.

 

SQL>

Grant succeeded.

 

SQL>

Grant succeeded.

 

SQL>

Grant succeeded.

 

SQL>

Grant succeeded.

 

SQL>

Grant succeeded.

 

SQL>

Grant succeeded.

 

SQL>

Grant succeeded.

 

SQL> exec dbms_goldengate_auth.grant_admin_privilege-

(grantee=>'oggadmin',privilege_type=>'CAPTURE',-

grant_select_privileges=>TRUE,do_grants=>TRUE);

 

PL/SQL procedure successfully completed.

 

2. Configure cassandra.yaml and cassandra-rackdc.properties, then start Cassandra with systemctl,

Connect to Cassandra using cqlsh, then create the keyspace named XSPACE.

 

[root@dbsrv02 ~]# vi /etc/cassandra/conf/cassandra.yaml

 cluster_name: clusterai

num_tokens: 8

seeds: 192.168.56.82

listen_address: 192.168.56.82

rpc_address: 192.168.56.82

endpoint_snitch: GossipingPropertyFileSnitch

 

[root@dbsrv02 ~]# vi /etc/cassandra/conf/cassandra-rackdc.properties

 dc=us-west

rack=rack1

 

[root@dbsrv02 ~]# systemctl start cassandra

 [root@dbsrv02 ~]# nodetool status

Datacenter: us-west

===================

Status=Up/Down

|/ State=Normal/Leaving/Joining/Moving

--  Address        Load        Tokens  Owns (effective)  Host ID                               Rack

UN  192.168.56.82  104.18 KiB  8       100.0%            520a4aec-fd38-41f8-b3ea-7a5d773018ab  rack1

 

[root@dbsrv02 ~]# su - cassandra

[cassandra@dbsrv02 ~]$ cqlsh 192.168.56.82

Connected to clusterai at 192.168.56.82:9042

[cqlsh 6.1.0 | Cassandra 4.1.7 | CQL spec 3.4.6 | Native protocol v5]

Use HELP for help.

cqlsh> CREATE KEYSPACE IF NOT EXISTS XSPACE WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'us-west' : 1 };

 cqlsh> select * from system_schema.keyspaces where keyspace_name='xspace';

 

 keyspace_name | durable_writes | replication

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

        xspace |           True | {'class': 'org.apache.cassandra.locator.NetworkTopologyStrategy', 'us-west': '1'}

 

 

 

 

3. Unzip Oracle GoldenGate for Oracle, prepare the response file with the specified parameter values and run the installer in silent mode.

 [oracle@dbsrv01 ~]$ cd /tmp

[oracle@dbsrv01 tmp]$ unzip -qa 213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip

[oracle@dbsrv01 tmp]$ cd fbo_ggs_Linux_x64_Oracle_shiphome/Disk1/response/

[oracle@dbsrv01 response]$ vi oggcore.rsp

 

INSTALL_OPTION=ora21c

SOFTWARE_LOCATION=/u01/app/oracle/product/21.3.0/ogg_1

START_MANAGER=true

MANAGER_PORT=7809

DATABASE_LOCATION=/u01/app/oracle/product/19.0.0/dbhome_1

INVENTORY_LOCATION=/u01/app/oraInventory

UNIX_GROUP_NAME=oinstall        

 

[oracle@dbsrv01 response]$ cd ..

[oracle@dbsrv01 Disk1]$ ./runInstaller -silent -showProgress -responsefile /tmp/fbo_ggs_Linux_x64_Oracle_shiphome/Disk1/response/oggcore.rsp

Starting Oracle Universal Installer...

 

Checking Temp space: must be greater than 120 MB.   Actual 10937 MB    Passed

Checking swap space: must be greater than 150 MB.   Actual 7917 MB    Passed

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2025-02-22_04-54-21AM. Please wait ...

[oracle@dbsrv01 Disk1]$ You can find the log of this install session at:

 /u01/app/oraInventory/logs/installActions2025-02-22_04-54-21AM.log

 

Prepare in progress.

..................................................   9% Done.

 

Prepare successful.

 

Copy files in progress.

..................................................   45% Done.

..................................................   50% Done.

..................................................   57% Done.

..................................................   62% Done.

..................................................   68% Done.

..................................................   73% Done.

..................................................   79% Done.

....................

Copy files successful.

 

Link binaries in progress.

..........

Link binaries successful.

 

Setup files in progress.

..................................................   84% Done.

..................................................   89% Done.

 

Setup files successful.

 

Setup Inventory in progress.

 

Setup Inventory successful.

..........

Finish Setup successful.

The installation of Oracle GoldenGate Core was successful.

Please check '/u01/app/oraInventory/logs/silentInstall2025-02-22_04-54-21AM.log' for more details.

 

Start Oracle GoldenGate Manager process. in progress.

Successfully Setup Software.

..................................................   100% Done.

 

Start Oracle GoldenGate Manager process. successful.

 

 

[oracle@dbsrv01 Disk1]$ cd

[oracle@dbsrv01 ~]$ alias ggsci=/u01/app/oracle/product/21.3.0/ogg_1/ggsci

[oracle@dbsrv01 ~]$ export TNS_ADMIN=$ORACLE_HOME/network/admin 

[oracle@dbsrv01 ~]$ ggsci

 

Oracle GoldenGate Command Interpreter for Oracle

Version 21.3.0.0.0 OGGCORE_21.3.0.0.0_PLATFORMS_210728.1047_FBO

Oracle Linux 7, x64, 64bit (optimized), Oracle Database 21c and lower supported versions on Jul 29 2021 03:59:23

Operating system character set identified as UTF-8.

 

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

 

 

 

GGSCI (dbsrv01.localdomain) 1> INFO ALL

 

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

 

MANAGER     RUNNING

                                                            

3.Unzip, untar Oracle Goldengate for Bigdata under Goldengate home directory and configure the Manager process.

 [root@dbsrv02 ~]# cd /opt

[root@dbsrv02 opt]# mkdir oggbd

[root@dbsrv02 opt]# chown cassandra:cassandra oggbd

[root@dbsrv02 ~]# su - cassandra

[cassandra@dbsrv02 ~]$ unzip -qa /tmp/214000_ggs_Linux_x64_BigData_64bit.zip -d /opt/oggbd/

 [cassandra@dbsrv02 ~]$ cd /opt/oggbd/

[cassandra@dbsrv02 oggbd]$ tar -xf ggs_Linux_x64_BigData_64bit.tar

[cassandra@dbsrv02 oggbd]$ export LD_LIBRARY_PATH=/usr/lib/jvm/jre-11-openjdk/lib/server:$LD_LIBRARY_PATH

[cassandra@dbsrv02 oggbd]$ ./ggsci

 

Oracle GoldenGate for Big Data

Version 21.4.0.0.0 (Build 002)

 

Oracle GoldenGate Command Interpreter

Version 21.4.0.0.0 OGGCORE_21.4.0.0.0OGGRU_PLATFORMS_211022.1803

Oracle Linux 7, x64, 64bit (optimized), Generic  on Oct 22 2021 23:14:43

Operating system character set identified as UTF-8.

 

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

 

GGSCI (dbsrv02.localdomain) 1> CREATE SUBDIRS

 

Creating subdirectories under current directory /opt/oggbd

 

Parameter file                 /opt/oggbd/dirprm: created.

Report file                    /opt/oggbd/dirrpt: created.

Checkpoint file                /opt/oggbd/dirchk: created.

Process status files           /opt/oggbd/dirpcs: created.

SQL script files               /opt/oggbd/dirsql: created.

Database definitions files     /opt/oggbd/dirdef: created.

Extract data files             /opt/oggbd/dirdat: created.

Temporary files                /opt/oggbd/dirtmp: created.

Credential store files         /opt/oggbd/dircrd: created.

Master encryption key wallet files /opt/oggbd/dirwlt: created.

Dump files                     /opt/oggbd/dirdmp: created.

 

 

GGSCI (dbsrv02.localdomain) 2> EDIT PARAMS MGR

PORT 7809

ACCESSRULE, PROG *, IPADDR *, ALLOW

 

GGSCI (dbsrv02.localdomain) 3> START MGR

Manager started.

 

GGSCI (dbsrv02.localdomain) 4> INFO ALL

 

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

 

MANAGER     RUNNING

 

 

 

 

4. On the Oracle source, table HR.T1 has the following structure and data types.

 

SQL> conn HR

Enter password:

Connected.

SQL> desc T1;

 Name                                      Null?    Type

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

 ID                                        NOT NULL NUMBER(10)

 NAME                                               VARCHAR2(50)

 

 

SQL> select * from T1;

 

        ID NAME

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

         3 MSSQL

         4 ELK

         1 Oracle

         2 MYSQL

4. Use the Oracle GoldenGate dependency downloader to fetch Cassandra dependency jars and libraries required for the integration.

 [cassandra@dbsrv02 oggbd]$ cd DependencyDownloader/

[cassandra@dbsrv02 DependencyDownloader]$ ./cassandra.sh 4.17.0

 

openjdk version "11.0.21" 2023-10-17 LTS

Java is installed.

Apache Maven 3.8.2 (ea98e05a04480131370aa0c110b8c54cf726c06f)

Maven is accessible.

Root Configuration Script

INFO: This is the Maven binary [../ggjava/maven/bin/mvn].

INFO: This is the location of the settings.xml file [./docs/settings_np.xml].

INFO: This is the location of the toolchains.xml file [./docs/toolchains.xml].

INFO: The dependencies will be written to the following directory[../dependencies/cassandra_4.17.0].

 

……………………………

 

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time:  04:48 min

[INFO] Finished at: 2025-02-25T01:57:44+05:30

[INFO] ------------------------------------------------------------------------

 

 

 

Note: Cassandra dependencies are downloaded under:

 

[cassandra@dbsrv02 cassandra_4.17.0]$ pwd

/opt/oggbd/DependencyDownloader/dependencies/cassandra_4.17.0

 

 

 

 

5. From GGSCI, log in as oggadmin and enable trandata for table HR.T1.

[oracle@dbsrv01 ~]$ ggsci

 

Oracle GoldenGate Command Interpreter for Oracle

Version 21.3.0.0.0 OGGCORE_21.3.0.0.0_PLATFORMS_210728.1047_FBO

Oracle Linux 7, x64, 64bit (optimized), Oracle Database 21c and lower supported versions on Jul 29 2021 03:59:23

Operating system character set identified as UTF-8.

 

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

 

GGSCI (dbsrv01.localdomain) 1> DBLOGIN USERID OGGADMIN@MASTER,PASSWORD oggadmin

Successfully logged into database.

 

GGSCI (dbsrv01.localdomain as oggadmin@master) 2> ADD TRANDATA HR.T1

 

2025-02-23 17:46:08  INFO    OGG-15132  Logging of supplemental redo data enabled for table HR.T1.

 

2025-02-23 17:46:08  INFO    OGG-15133  TRANDATA for scheduling columns has been added on table HR.T1.

 

2025-02-23 17:46:08  INFO    OGG-15438  Enabling logical replication (with all keys) on auto capture table HR.T1.

 

2025-02-23 17:46:08  INFO    OGG-15135  TRANDATA for instantiation CSN has been added on table HR.T1.

 

2025-02-23 17:46:08  INFO    OGG-26035  Logical replication for table HR.T1 is ENABLED.

 

2025-02-23 17:46:08  INFO    OGG-10471  ***** Oracle Goldengate support information on table HR.T1 *****

Oracle Goldengate support native capture on table HR.T1.

Oracle Goldengate marked following column as key columns on table HR.T1: ID.

 

5. Copy the Cassandra sample files to /opt/oggbg/dirprm/, update rcass.prm and cass.props with the Cassandra connection details and keyspace settings.

[cassandra@dbsrv02 cassandra_4.17.0]$ cp /opt/oggbg/AdapterExamples/big-data/cassandra/rcass.prm /opt/oggbd/dirprm/

[cassandra@dbsrv02 cassandra_4.17.0]$ cp /opt/oggbg/AdapterExamples/big-data/cassandra/cass.props /opt/oggbd/dirprm/

 

[cassandra @dbsrv02 ~]$ cd /opt/oggbd/dirprm/

 [cassandra@dbsrv02 dirprm]$ vi cass.props

 

gg.handlerlist=cassandra

#The handler properties

gg.handler.cassandra.type=cassandra

gg.handler.cassandra.mode=op

gg.handler.cassandra.contactPoints=192.168.56.82

gg.handler.cassandra.ddlHandling=CREATE,ADD,DROP

gg.handler.cassandra.compressedUpdates=true

gg.handler.cassandra.cassandraMode=async

gg.handler.cassandra.consistencyLevel=ONE

gg.handler.cassandra.datacenter= us-west

 

gg.log=log4j

gg.log.level=INFO

gg.report.time=30sec

 

 

 

# Specify gg.path to Cassandra libraries and downloaded dependencies

gg.classpath=/usr/share/cassandra/*:/usr/share/cassandra/lib/*:/opt/oggbd/DependencyDownloader/dependencies/cassandra_4.17.0/*

 

 

 

 

6. From GGSCI, register the Extract process, create and configure the Integrated Extract (EXTR) and Datapump (PUMP) processes to capture changes from the HR.T1 table.

[oracle@dbsrv01 ~]$ ggsci

Oracle GoldenGate Command Interpreter for Oracle

Version 21.3.0.0.0 OGGCORE_21.3.0.0.0_PLATFORMS_210728.1047_FBO

Oracle Linux 7, x64, 64bit (optimized), Oracle Database 21c and lower supported versions on Jul 29 2021 03:59:23

Operating system character set identified as UTF-8.

 

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

 

GGSCI (dbsrv01.localdomain) 1> DBLOGIN USERID OGGADMIN@MASTER,PASSWORD oggadmin

Successfully logged into database.

GGSCI (dbsrv01.localdomain as OGGADMIN@master) 2> REGISTER EXTRACT EXTR DATABASE

 

2025-02-23 22:15:30  INFO    OGG-02003  Extract group EXTR successfully registered with database at SCN 2340373.

GGSCI (dbsrv01.localdomain as OGGADMIN@master) 3> EDIT PARAMS EXTR

EXTRACT EXTR

SETENV (TNS_ADMIN="/u01/app/oracle/product/19.0.0/dbhome_1/network/admin")

SETENV (ORACLE_HOME="/u01/app/oracle/product/19.0.0/dbhome_1")

USERID oggadmin@master, PASSWORD oggadmin

TRANLOGOPTIONS INTEGRATEDPARAMS (PARALLELISM 2,MAX_SGA_SIZE 256)

EXTTRAIL ./dirdat/ex

DISCARDFILE ./dirrpt/EXTR.dsc,APPEND,MEGABYTES 2000

DISCARDROLLOVER AT 13:00 ON WEDNESDAY

REPORTCOUNT EVERY 10 MINUTES, RATE

WARNLONGTRANS 2H, CHECKINTERVAL 600SEC

TABLE HR.T1;

 

GGSCI (dbsrv01.localdomain as OGGADMIN@master) 4> ADD EXTRACT EXTR,INTEGRATED TRANLOG,BEGIN NOW

Integrated Extract added.

GGSCI (dbsrv01.localdomain as OGGADMIN@master) 5> ADD EXTTRAIL ./dirdat/ex,EXTRACT EXTR,MEGABYTES 500

EXTTRAIL added.

GGSCI (dbsrv01.localdomain as OGGADMIN@master) 6> EDIT PARAMS PUMP

EXTRACT PUMP

SETENV (TNS_ADMIN="/u01/app/oracle/product/19.0.0/dbhome_1/network/admin")

SETENV (ORACLE_HOME="/u01/app/oracle/product/19.0.0/dbhome_1")

USERID oggadmin@master, PASSWORD oggadmin

RMTHOST 192.168.56.82,MGRPORT 7809

RMTTRAIL ./dirdat/rx

DISCARDFILE ./dirrpt/PUMP.dsc,APPEND,MEGABYTES 2000

DISCARDROLLOVER AT 13:00 ON WEDNESDAY

TABLE HR.T1;

 GGSCI (dbsrv01.localdomain as OGGADMIN@master) 7> ADD EXTRACT PUMP,EXTTRAILSOURCE ./dirdat/ex

Extract added.

 

GGSCI (dbsrv01.localdomain as OGGADMIN@master) 8> ADD RMTTRAIL ./dirdat/rx, extract PUMP, megabytes 500

RMTTRAIL added.

 

 

 7. Start the extract and datapump process.

 

GGSCI (dbsrv01.localdomain) 9> START EXTRACT EXTR

 

Sending START request to Manager ...

Extract group EXTR starting.

 

GGSCI (dbsrv01.localdomain) 10> START EXTRACT PUMP

 Sending START request to Manager ...

Extract group PUMP starting.


  GGSCI (dbsrv01.localdomain) 11> INFO ALL

 Program     Status      Group       Lag at Chkpt  Time Since Chkpt

 MANAGER     RUNNING

EXTRACT     RUNNING     EXTR        00:00:00      00:00:02

EXTRACT     RUNNING     PUMP        00:00:00      00:06:23

 

 

 

8. Capture the SCN, create an Initial Load Extract, use the SQLPREDICATE parameter with the captured SCN and start the Initial Load Extract.

[oracle@dbsrv01 ~]$ sqlplus / as sysdba

 

SQL*Plus: Release 19.0.0.0.0 - Production on Wed Feb 26 22:53:20 2025

Version 19.23.0.0.0

 

Copyright (c) 1982, 2023, Oracle.  All rights reserved.

 

 

Connected to:

Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production

Version 19.23.0.0.0

 

SQL> select current_scn from v$database;

 

CURRENT_SCN

-----------

    2496320

 

[oracle@dbsrv01 ~]$ ggsci

Oracle GoldenGate Command Interpreter for Oracle

Version 21.3.0.0.0 OGGCORE_21.3.0.0.0_PLATFORMS_210728.1047_FBO

Oracle Linux 7, x64, 64bit (optimized), Oracle Database 21c and lower supported

versions on Jul 29 2021 03:59:23

Operating system character set identified as UTF-8.

 

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

 

GGSCI (dbsrv01.localdomain) 1> EDIT PARAMS INITEXT

EXTRACT initext

USERID oggadmin,PASSWORD oggadmin

RMTHOST 192.168.56.82,MGRPORT 7809

RMTTASK REPLICAT,GROUP initrep

TABLE HR.T1,SQLPREDICATE 'AS OF SCN 2496320';

 

GGSCI (dbsrv01.localdomain) 2> ADD EXTRACT INITEXT,SOURCEISTABLE

Extract added.

GGSCI (dbsrv01.localdomain) 3> START EXTRACT INITEXT

 

Sending START request to Manager ...

Extract group INITEXT starting.

 

 

 

 

 6. Add the replicat INITREP as a special run, then check the initial load replicated data using cqlsh.

[cassandra@dbsrv02 oggbd]$ ./ggsci

 Oracle GoldenGate for Big Data

Version 21.4.0.0.0 (Build 002)

 

Oracle GoldenGate Command Interpreter

Version 21.4.0.0.0 OGGCORE_21.4.0.0.0OGGRU_PLATFORMS_211022.1803

Oracle Linux 7, x64, 64bit (optimized), Generic  on Oct 22 2021 23:14:43

Operating system character set identified as UTF-8.

 

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

 

GGSCI (dbsrv02.localdomain) 1> EDIT PARAMS INITREP

REPLICAT initrep

TARGETDB LIBFILE libggjava.so SET property=dirprm/cass.props

DISCARDFILE ./dirrpt/initrep.dsc, purge

REPORTCOUNT EVERY 1 MINUTES, RATE

GROUPTRANSOPS 1000

MAP HR.T1, TARGET XSPACE.T1;

 

 

GGSCI (dbsrv02.localdomain) 2> ADD REPLICAT INITREP,SPECIALRUN

[cassandra@dbsrv02 oggbd]$ cqlsh 192.168.56.82

Connected to clusterai at 192.168.56.82:9042

[cqlsh 6.1.0 | Cassandra 4.1.7 | CQL spec 3.4.6 | Native protocol v5]

Use HELP for help.

cqlsh> select * from XSPACE.T1;

 

 id | name

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

  2 |  MYSQL

  3 |  MSSQL

  4 |    ELK

  1 | Oracle

 

(4 rows)

 

 7. Configure the Replicat RCASS and Start it using AFTERCSN 2496320.

 [cassandra@dbsrv02 oggbd]$ ./ggsci

Oracle GoldenGate for Big Data

Version 21.4.0.0.0 (Build 002)

 

Oracle GoldenGate Command Interpreter

Version 21.4.0.0.0 OGGCORE_21.4.0.0.0OGGRU_PLATFORMS_211022.1803

Oracle Linux 7, x64, 64bit (optimized), Generic  on Oct 22 2021 23:14:43

Operating system character set identified as UTF-8.

 

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

 

GGSCI (dbsrv02.localdomain) 1> EDIT PARAMS RCASS

REPLICAT rcass

TARGETDB LIBFILE libggjava.so SET property=dirprm/cass.props

REPORTCOUNT EVERY 1 MINUTES, RATE

GROUPTRANSOPS 1000

MAP HR.T1, TARGET XSPACE.T1;

 

GGSCI (dbsrv02.localdomain) 2> ADD REPLICAT RCASS,EXTTRAIL ./dirdat/rx

Replicat added.

GGSCI (dbsrv02.localdomain) 3> START REPLICAT RCASS,AFTERCSN 2496320

 

Sending START request to Manager ...

Replicat group RCASS starting.

 

GGSCI (dbsrv02.localdomain) 4> INFO ALL

 

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

 

MANAGER     RUNNING

REPLICAT    RUNNING     RCASS       00:00:00      00:00:03

 

9. Perform DML operations on the source database.

 [oracle@dbsrv01 ~]$ sqlplus HR/HR

 SQL*Plus: Release 19.0.0.0.0 - Production on Wed Feb 26 23:58:37 2025

Version 19.23.0.0.0

 Copyright (c) 1982, 2023, Oracle.  All rights reserved.

 Last Successful login time: Wed Feb 26 2025 23:17:56 +05:30

 Connected to:

Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production

Version 19.23.0.0.0

 

SQL> INSERT INTO T1 VALUES (5,'Cassandra');

 1 row created.

 SQL> COMMIT;

 Commit complete.

 

SQL> DELETE FROM T1 WHERE ID=3;

 1 row deleted.

 SQL> COMMIT;

 Commit complete.

 

 

8.Check the replicated data using cqlsh.

[cassandra@dbsrv02 oggbd]$ cqlsh 192.168.56.82

Connected to clusterai at 192.168.56.82:9042

[cqlsh 6.1.0 | Cassandra 4.1.7 | CQL spec 3.4.6 | Native protocol v5]

Use HELP for help.

cqlsh> SELECT * FROM XSPACE.T1;

  id | name

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

  2 |     MYSQL

  3 |     MSSQL

  4 |       ELK

  5 | Cassandra

  1 |    Oracle

(5 rows)

 

 cqlsh> SELECT * FROM XSPACE.T1;

  id | name

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

  2 |     MYSQL

  4 |       ELK

  5 | Cassandra

  1 |    Oracle

 (4 rows)


 

 

 

 


Comments

Popular posts from this blog

Step-by-Step Guide to Configure Oracle GoldenGate Plug-in for Enterprise Manager 13cR5

Step-by-Step Guide to Configure Oracle GoldenGate Veridata 23c

How to Reposition Extract, Data Pump and Replicat in GoldenGate During Trail File Corruption