Skip to content

Commit

Permalink
WMS ID = 11526 - GoldenGate Microservices for License deployments 21c…
Browse files Browse the repository at this point in the history
… to 23ai upgrade (#201)

* passwd issue

* typos

* 23ai upgrade

* typos

* typos

* typos

* new image ID

* new livelab url

* cleanup
  • Loading branch information
janleemans authored Sep 24, 2024
1 parent 9c45506 commit 8a02337
Show file tree
Hide file tree
Showing 88 changed files with 217 additions and 189 deletions.
252 changes: 137 additions & 115 deletions goldengate-microservices21c/create-replication/create-replication.md

Large diffs are not rendered by default.

Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
56 changes: 26 additions & 30 deletions goldengate-microservices21c/discover/discover.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,8 @@ In this lab we will walk through the different components that have already been
- An Apache Kafka setup
- Oracle GoldenGate comprising a number of elements:

- GG for Oracle
- GG for Distributed Applications and Analytics (GG for Big Data)
- GG for non-Oracle
- GG for Oracle 23ai
- GG for Distributed Applications and Analytics 23ai

We'll take a look at the current situation of these components and how to interact with them.

Expand All @@ -24,18 +23,16 @@ The default way to interact with the environment is using a single browser windo

### Objectives

Understanding the different components that were pre-installed, how to access these throught the various available interfaces, and how to reset the lab in case of issues.

Understanding the different components that were pre-installed, how to access these through the various available interfaces, and how to reset the lab in case of issues.

### Prerequisites

This lab assumes you have:

- A Free Tier, Paid or LiveLabs Oracle Cloud account
- You have completed:

- Lab: Prepare Setup (*Free-tier* and *Paid Tenants* only)
- Lab: Environment Setup
- Lab: Prepare Setup (*Free-tier* and *Paid Tenants* only)
- Lab: Environment Setup

## Task 1: Using the noVNC interface

Expand All @@ -54,7 +51,6 @@ This lab assumes you have:

![Initial terminal window](./images/one-terminal.png " ")


In the course of the lab we'll ask you run multiple commands in parallel, so you should open up a second Terminal window.

3. Click on the **Terminal** icon on the top right, and select **New Window**
Expand All @@ -67,13 +63,13 @@ This lab assumes you have:

5. Change directory into the scripts directory

```
```bash
<copy>cd scripts</copy>
```

6. List the content of this directory

```
```bash
<copy>ll</copy>
```

Expand All @@ -87,21 +83,23 @@ This lab assumes you have:
- **demo_reset.sh**: completely reset the lab environment to restart the lab execution. You can use this script to restart the lab execution with a fresh setup.

7. Access the Oracle database directly using **sqlplus** from the command line:
```
<copy>sqlplus system/Welcome#123 as sysdba </copy>
```
```
<copy>sqlplus system/Welcome#123 as sysdba </copy>
```
8. Make sure the listener is set up correctly, by issuing the following command:
```
<copy>alter system set LOCAL_LISTENER='' scope=both;</copy>
```
```
<copy>alter system set LOCAL_LISTENER='' scope=both;</copy>
```
Now use the ```exit``` command to quit your sqlplus session.
9. Make sure the listener is started properly, by issuing the following command:
```
```bash
<copy>lsnrctl start</copy>
```
You can use the command ```lsnrctl status``` to check the result
10. List the available **kafka topics** with the below command:
Expand Down Expand Up @@ -129,17 +127,13 @@ Return to the browser window that was open on the right, showing the **GoldenGat
Password: <copy>oggadmin</copy>
```
![Login page](./images/gg-login.png " ")
![Login page](./images/gg-login23.png " ")
2. Confirm successful login:
![Initial Landing page](./images/gg-landing.png " ")
![Initial Landing page](./images/gg-landing23.png " ")
If successful, the page above is displayed and as a result your environment is now ready.
3. You can see the various **deployment types** that were already configured on this environment for GoldenGate.
![deployments of GG](./images/gg-deployments.png " ")
If successful, the page above is displayed and as a result your environment is now ready, and you can see the various **deployment types** that were already configured on this environment for GoldenGate.
- For each deployment type you can access the different services associated with the Deployment:
Expand All @@ -148,6 +142,8 @@ Return to the browser window that was open on the right, showing the **GoldenGat
- Performance Metrics Service
- Receiver Service
![Oracle Deployment details](./images/gg-oracle-services23.png " ")
In the interest of time and for ease of execution, all prerequisite tasks to prepare the database for GoldenGate replication have already been performed on your VM instance. This includes:
- Enabling Archive Log Mode
Expand All @@ -166,13 +162,13 @@ In some cases you might want to access the GoldenGate consoles and the terminal
In order to enable this, you need to have the private key corresponding to the public key used when creating the OCI Compute instance.
With this key available, you can run a remote shell of you choice - for example putty on windows or ssh on Mac. Below an axample to access the console via a mac shell:
With this key available, you can run a remote shell of you choice - for example putty on windows or ssh on Mac. Below an example to access the console via a mac shell:
```
<copy>ssh -i yourprivatekey [email protected]</copy>
```
- replace *youprivatekey* with a valid path to the private key corresponding to the public key specified during the instance creation
- replace *yourprivatekey* with a valid path to the private key corresponding to the public key specified during the instance creation
- replace the IP address 123.123.123.123 with the public IP address of your compute instance. This is the same IP used to access the noVNC console.
2. Once you are logged in as user **opc** you need to sudo to user **oracle** to be able to run the lab commands:
Expand All @@ -181,7 +177,7 @@ In some cases you might want to access the GoldenGate consoles and the terminal
<copy>sudo su - oracle</copy>
```
3. Access the GoldenGate Service Manager through your local brower on your desktop, using the IP address and the port 10000 :
3. Access the GoldenGate Service Manager through your local browser on your desktop, using the IP address and the port 10000 :
```
<copy>http://123.123.123.123:10000</copy>
Expand All @@ -193,10 +189,10 @@ You may now **proceed to the next lab**.
## Learn More
- [GoldenGate Microservices](https://docs.oracle.com/en/middleware/goldengate/core/19.1/understanding/getting-started-oracle-goldengate.html#GUID-F317FD3B-5078-47BA-A4EC-8A138C36BD59)
- [GoldenGate Microservices](https://docs.oracle.com/en/middleware/goldengate/core/23/coredoc/overview-oracle-goldengate.html#GUID-3B1EF969-4A36-4338-820E-16F82B5C646D)
## Acknowledgements
- **Author** - Jan Leemans, December 2023
- **Contributors** - Carmelo Millan
- **Last Updated By/Date**
- **Last Updated** - Jan Leemans, June 2024
18 changes: 10 additions & 8 deletions goldengate-microservices21c/introduction/introduction.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
# Introduction

This hands-on lab is designed to demonstrate how Oracle GoldenGate 21c can be used to setup a replication environment from an Oracle 21c database towards a Apache Kafka target.
This hands-on lab is designed to demonstrate how Oracle GoldenGate 23ai can be used to setup a replication environment from an Oracle database towards a Apache Kafka target.

You will be using a pre-configured environment that comprises all components for running this setup: GoldenGate 21 for Oracle and GoldenGate 21c for Distributed Applications and Analytics (previously known as GG for Big Data), as well as an Oracle 21c database and an Apache Kafka.
You will be using a pre-configured environment that comprises all components for running this setup: GoldenGate 23ai for Oracle and GoldenGate 23ai for Distributed Applications and Analytics (previously known as GG for Big Data), as well as an Oracle 21c database and an Apache Kafka.

We will simulate continuous transactions in the Oracle database “SOURCE_APP”.”EMPLOYEES” table, capture these transactions, send them to the BigData deployment, and deliver them in real-time to a Kafka topic.
We will simulate continuous transactions in the Oracle database “SOURCE_APP”.”EMPLOYEES” table, capture these transactions, send them to the Distributed Data and Analytics deployment, and deliver them in real-time to a Kafka topic.

The labs will walk you through all the steps to configure all the components of Oracle GoldenGate replication.

*Estimated Lab Time*: 2 hours

## About Oracle GoldenGate 21c
## About Oracle GoldenGate 23ai

Oracle GoldenGate offers high-performance, fault-tolerant, easy-to-use, and flexible real- time data streaming platform for big data environments. It easily extends customers’ real-time data integration architectures to big data systems without impacting the performance of the source systems and enables timely business insight for better decision making. This workshop focuses on **GoldenGate Real Time Data Capture** demonstrating how you can use such a setup (both on-premise and in the cloud) to capture real time data changes from your sources.
Oracle GoldenGate offers high-performance, fault-tolerant, easy-to-use, and flexible real- time data streaming platform for a wide range of environments. It easily extends customers’ real-time data integration architectures to Analytics systems without impacting the performance of the source systems and enables timely business insight for better decision making. This workshop focuses on **GoldenGate Real Time Data Capture** demonstrating how you can use such a setup (both on-premise and in the cloud) to capture real time data changes from your sources.

We upgraded this lab in September 2024 to use the GoldenGate 23ai version of GoldenGate.

### Lab Architecture

Expand All @@ -25,7 +27,7 @@ Non-invasive, real-time transactional data streaming while applying target trans
KEY BENEFITS

- Improve IT productivity in integrating with data management systems.
- Use real-time data in big data analytics for more timely and reliable insight
- Use real-time data in Analytics for more timely and reliable insight
- Improve operations and customer experience with enhanced business insight
- Minimize overhead on source systems to maintain high performance

Expand Down Expand Up @@ -54,10 +56,10 @@ You may now **proceed to the next lab**.

## Learn More

* [GoldenGate Microservices](https://docs.oracle.com/en/middleware/goldengate/core/19.1/understanding/getting-started-oracle-goldengate.html#GUID-F317FD3B-5078-47BA-A4EC-8A138C36BD59)
* [GoldenGate Microservices](https://docs.oracle.com/en/middleware/goldengate/core/23/coredoc/overview-oracle-goldengate.html#GUID-3B1EF969-4A36-4338-820E-16F82B5C646D)

## Acknowledgements

- **Author** - Jan Leemans, December 2023
- **Contributors** -Carmelo Millan
- **Last Updated** - Jan Leemans, June 2024
- **Last Updated** - Jan Leemans, August 2024
2 changes: 1 addition & 1 deletion goldengate-microservices21c/prepare-setup/prepare-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ This lab assumes you have:

1. Click on the link below to download the Resource Manager zip file you need to build your environment:

- [gg21c-microservices.zip](https://c4u04.objectstorage.us-ashburn-1.oci.customer-oci.com/p/EcTjWk2IuZPZeNnD_fYMcgUhdNDIDA6rt9gaFj_WZMiL7VvxPBNMY60837hu5hga/n/c4u04/b/livelabsfiles/o/goldengate-library/gg21c-microservices.zip)
- [gg23ai-license-stack.zip](https://c4u04.objectstorage.us-ashburn-1.oci.customer-oci.com/p/EcTjWk2IuZPZeNnD_fYMcgUhdNDIDA6rt9gaFj_WZMiL7VvxPBNMY60837hu5hga/n/c4u04/b/livelabsfiles/o/goldengate-library/gg23ai-license-stack.zip)

2. Save the file in your downloads folder.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ resource "oci_core_network_security_group_security_rule" "llw-net-security-group
stateless = "false"
tcp_options {
destination_port_range {
max = "10400"
max = "10500"
min = "10000"
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ variable "use_marketplace_image" {

variable "mp_listing_id" {
#Provide the Listing OCID
default = "ocid1.appcataloglisting.oc1..aaaaaaaa2fuvrqk2cqcarsxugamehrjyigpwwe3sgprpxp6u2ustmsljj3yq"
default = "ocid1.appcataloglisting.oc1..aaaaaaaa7ciugn26p2trlsj3dhsq7ezcwgmowclfsnbmvhlddt3eeipwslga"
}

variable "mp_listing_resource_version" {
Expand All @@ -29,7 +29,7 @@ variable "mp_listing_resource_version" {

variable "instance_image_id" {
#Provide the image OCID
default = "ocid1.image.oc1..aaaaaaaazemy4groczrvfzllplftpwxrm4ocpu72qgckiwinycbppcyc5wwa"
default = "ocid1.image.oc1..aaaaaaaayismjvmwqbuzdgwvoo5vfo5mdedmelm77dl7ziir5m4fksgzruqa"
}

/*
Expand Down
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
68 changes: 38 additions & 30 deletions goldengate-microservices21c/simulate/simulate.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,19 +53,26 @@ To simulate an active application interacting with a database, we'll be using a
<copy>sh delete_kafka.sh</copy>
```

**Troubleshooting:** You might get an error "*Connection to host .. could not be established*". This probably means the Kafka server did not start up correctly at system boot. You can force the startup, and check the result with the below commands:

```bash
<copy>sudo systemctl start kafka
sudo systemctl status kafka<copy>
```

Now retry the delete_kafka.sh command

3. Run the **load.sh** script to start injecting data into the Oracle database:

```bash
<copy>
sh load.sh
</copy>
```

You should see an output as in the below image:

![output load script](./images/load-res.png " ")

**Trouble-shooting:** You might see the error "ORA-28002 The Password Will Expire ..." or "ORA-28001 The Password has expired".
**Trouble-shooting:** You might see the error "ORA-28002 The Password Will Expire ..." or "ORA-28001 The Password has expired".

Simply connect to the database as user sys@PDB and reset the password:

Expand Down Expand Up @@ -122,54 +129,55 @@ To simulate an active application interacting with a database, we'll be using a

We'll return to the browser window with the GoldenGate Administration Service
1. Open the GoldenGate Administration Service on port 10000
2. Select the **oracledb** deployment
3. Open the **Administration Service**
4. Click on the name of the Extract: **E_ORACLE**
1. Navigate the **oracledb** deployment console
2. Click on the name of the Extract: **E_ORACLE**
![Admin tab oracledb deployment](./images/extract.png " ")
![Admin tab oracledb deployment](./images/extract23.png " ")
5. Now select the tab called **Statistics**
3. Now select the menu item **Statistics** in the left-hand menu
![Stats tab](./images/db-stats.png " ")
![Stats tab](./images/db-stats23.png " ")
You should see some records already inserted, you can use the **Refresh** button to see the counter increase.
You should see some records already inserted, you can use the **Refresh** icon to see the counter increase.
6. Click on the tab **Performance Metrics Service** on the very top of the window to see much more detailed information
4. Click on the tab **Performance Metrics Service** on the very top of the window to see much more detailed information
You get a visual representation of the various services associated with the deployment **oracledb**. In this case we are interested in the **Extract** process
![DB performance tab](./images/db-perf.png " ")
![DB performance tab](./images/db-perf23.png " ")
7. Click on the box **Extract Running**
5. Click on the **Extracts**
![Process performance](./images/stat-db.png " ")
![Process performance](./images/extract-stat23.png " ")
You can see various dashboards associated with the different entities you might be interested in: Process Performance, Trail Files, Database Statistics, etc.
6. Click on the **E_ORACLE** extract process
![Database statistics](./images/db-stats2.png " ")
![Process performance](./images/stat-db23.png " ")
8. Click on the various tabs to see the statistics
You can see various dashboards associated with the different entities you might be interested in: Process Performance, Trail Files, Database Statistics, etc.
![Trail statistics](./images/db-trail.png " ")
7. Click on the various tabs to see the statistics
9. We can also look at the statistics on the receiving end.
![Trail statistics](./images/stat-db2-23.png " ")
- Open the browser window with the GoldenGate Administration Service on port 10000
- Select the deployment **bigdata**
- Click on the service **Performance Metrics Service** on port 10203
8. We can also look at the statistics on the receiving end.
![bigdata deployment](./images/bigd.png " ")
- Open the browser window with the **oggdaa** deployment console
- Select the deployment R_KAFKA
- Select the **Statistics** in the left menu
10. Select the **Replicat** process
![oggdaa deployment](./images/oggdaa-stat1.png " ")
![bigdata performance](./images/bigd-metr.png " ")
- You can see the nb of inserts performed.
11. Observe the various dashboards you have available: Process Performance, Trail Files, and more.
9. Let's now look at live statistics of the processes running:
- Select the **Performance Metrics** tab in the top menu
- Select the **Replicats** in the center screen
- Select the **R_KAFKA** process

![big data process performance](./images/bigd-proc.png " ")
![oggdaa performance](./images/oggdaa-stat2.png " ")

![big data trail performance](./images/bigd-trail.png " ")
10. Observe the various dashboards you have available: Process Performance, Trail Files, and more.

**Congratulations, you have reached the end of this Lab !**

Expand All @@ -181,4 +189,4 @@ We'll return to the browser window with the GoldenGate Administration Service

- **Author** - Jan Leemans, December 2023
- **Contributors** - Carmelo Millan
- **Last Updated** - Jan Leemans, June 2024
- **Last Updated** - Jan Leemans, August 2024
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
},
{
"title": "Introduction",
"description": "Introduction to GoldenGate Microservices 21c",
"description": "Introduction to GoldenGate Microservices 23ai",
"filename": "../../introduction/introduction.md"
},
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"workshoptitle": "Goldengate 21c Microservices",
"workshoptitle": "Goldengate 23ai Microservices",
"help": "[email protected]",
"tutorials": [
{
Expand Down

0 comments on commit 8a02337

Please sign in to comment.