---
title: RheoData Blog | 19c
description: 19c | RheoData Blog Posts
---

[![RheoData - Logo - transparent-1](https://rheodata.com/hs-fs/hubfs/RheoData%20-%20Logo%20-%20transparent-1.png?width=250&height=50&name=RheoData%20-%20Logo%20-%20transparent-1.png "RheoData - Logo - transparent-1")](https://rheodata.com/)

- Who We Are 
    - [About Us](https://rheodata.com/who-we-are)
- Services 
    - Consulting 
          - [The Studio](https://rheodata.com/the-studio)
    - Accelerators 
          - [FrostCore](https://rheodata.com/frostcore)
          - [FrostAI](https://rheodata.com/frostai)
          - [RedCore](https://rheodata.com/redcore)
          - [RedAI](https://rheodata.com/redai)
          - [RedGuard](https://rheodata.com/redguard)
          - [BlueCore](https://rheodata.com/bluecore)
          - [Calypso](https://rheodata.com/calypso)
    - Services 
          - [Data Integration](https://rheodata.com/data-integration)
          - [Analytics](https://rheodata.com/data-analytics)
          - [Multi-Cloud](https://rheodata.com/multi-cloud)
          - [Oracle@Google Cloud](https://rheodata.com/oracle-google-cloud)
          - [Exadata & Oracle Database](https://rheodata.com/exadata-and-oracle-database-26ai)
- Verticals 
    - [Manufacturing](https://rheodata.com/manufacturing)
    - [Retail](https://rheodata.com/retail)
    - [State & Local](https://rheodata.com/sled)
- [Customer Stories](https://rheodata.com/customer-stories) 
    - [Altec](https://rheodata.com/customer-stories/altec-oci-goldengate-data-migration)
    - [Shoe Carnival](https://rheodata.com/customer-stories/shoe-carnival-goldengate-microservices-migration)
    - [Icon](https://rheodata.com/customer-stories/icon-transatlantic-replication)
    - [Inovalon](https://rheodata.com/customer-stories/inovalon-data-pipeline-automation)
- Resources 
    - [Blog](https://rheodata.com/en-us/blog)
    - Books 
          - [Pro Oracle GoldenGate 23ai](https://rheodata.com/pro-oracle-goldengate-23ai-for-the-dba-pdf-landing-page)
- [Contact](https://rheodata.com/contact)

[![](https://rheodata.com/hs-fs/hubfs/Imported_Blog_Media/blog-feature-Logo-Nov-26-2025-07-14-39-7226-PM.png?width=100&height=100&name=blog-feature-Logo-Nov-26-2025-07-14-39-7226-PM.png)](https://rheodata.com/)

<https://rheodata.com/en-us/blog/tag/19c#minimal-header__mobile-nav__mmenu>

[![RheoData - Logo - transparent-1](https://rheodata.com/hs-fs/hubfs/RheoData%20-%20Logo%20-%20transparent-1.png?width=250&height=50&name=RheoData%20-%20Logo%20-%20transparent-1.png "RheoData - Logo - transparent-1")](https://rheodata.com/)

- Who We Are 
    - [About Us](https://rheodata.com/who-we-are)
- Services 
    - Consulting 
          - [The Studio](https://rheodata.com/the-studio)
    - Accelerators 
          - [FrostCore](https://rheodata.com/frostcore)
          - [FrostAI](https://rheodata.com/frostai)
          - [RedCore](https://rheodata.com/redcore)
          - [RedAI](https://rheodata.com/redai)
          - [RedGuard](https://rheodata.com/redguard)
          - [BlueCore](https://rheodata.com/bluecore)
          - [Calypso](https://rheodata.com/calypso)
    - Services 
          - [Data Integration](https://rheodata.com/data-integration)
          - [Analytics](https://rheodata.com/data-analytics)
          - [Multi-Cloud](https://rheodata.com/multi-cloud)
          - [Oracle@Google Cloud](https://rheodata.com/oracle-google-cloud)
          - [Exadata & Oracle Database](https://rheodata.com/exadata-and-oracle-database-26ai)
- Verticals 
    - [Manufacturing](https://rheodata.com/manufacturing)
    - [Retail](https://rheodata.com/retail)
    - [State & Local](https://rheodata.com/sled)
- [Customer Stories](https://rheodata.com/customer-stories) 
    - [Altec](https://rheodata.com/customer-stories/altec-oci-goldengate-data-migration)
    - [Shoe Carnival](https://rheodata.com/customer-stories/shoe-carnival-goldengate-microservices-migration)
    - [Icon](https://rheodata.com/customer-stories/icon-transatlantic-replication)
    - [Inovalon](https://rheodata.com/customer-stories/inovalon-data-pipeline-automation)
- Resources 
    - [Blog](https://rheodata.com/en-us/blog)
    - Books 
          - [Pro Oracle GoldenGate 23ai](https://rheodata.com/pro-oracle-goldengate-23ai-for-the-dba-pdf-landing-page)
- [Contact](https://rheodata.com/contact)

[![](https://rheodata.com/hs-fs/hubfs/Imported_Blog_Media/blog-feature-Logo-Nov-26-2025-07-14-39-7226-PM.png?width=100&height=100&name=blog-feature-Logo-Nov-26-2025-07-14-39-7226-PM.png)](https://rheodata.com/)

<https://rheodata.com/en-us/blog/tag/19c#minimal-header__mobile-nav__mmenu>

- Who We Are 
    - [About Us](https://rheodata.com/who-we-are)
- Services 
    - Consulting 
          - [The Studio](https://rheodata.com/the-studio)
    - Accelerators 
          - [FrostCore](https://rheodata.com/frostcore)
          - [FrostAI](https://rheodata.com/frostai)
          - [RedCore](https://rheodata.com/redcore)
          - [RedAI](https://rheodata.com/redai)
          - [RedGuard](https://rheodata.com/redguard)
          - [BlueCore](https://rheodata.com/bluecore)
          - [Calypso](https://rheodata.com/calypso)
    - Services 
          - [Data Integration](https://rheodata.com/data-integration)
          - [Analytics](https://rheodata.com/data-analytics)
          - [Multi-Cloud](https://rheodata.com/multi-cloud)
          - [Oracle@Google Cloud](https://rheodata.com/oracle-google-cloud)
          - [Exadata & Oracle Database](https://rheodata.com/exadata-and-oracle-database-26ai)
- Verticals 
    - [Manufacturing](https://rheodata.com/manufacturing)
    - [Retail](https://rheodata.com/retail)
    - [State & Local](https://rheodata.com/sled)
- [Customer Stories](https://rheodata.com/customer-stories) 
    - [Altec](https://rheodata.com/customer-stories/altec-oci-goldengate-data-migration)
    - [Shoe Carnival](https://rheodata.com/customer-stories/shoe-carnival-goldengate-microservices-migration)
    - [Icon](https://rheodata.com/customer-stories/icon-transatlantic-replication)
    - [Inovalon](https://rheodata.com/customer-stories/inovalon-data-pipeline-automation)
- Resources 
    - [Blog](https://rheodata.com/en-us/blog)
    - Books 
          - [Pro Oracle GoldenGate 23ai](https://rheodata.com/pro-oracle-goldengate-23ai-for-the-dba-pdf-landing-page)
- [Contact](https://rheodata.com/contact)

Posts about

# 19c

<https://rheodata.com/en-us/blog/exception_table>

## [Basic error handling with Exception Table](https://rheodata.com/en-us/blog/exception_table)

Posted by [Bobby Curtis](https://rheodata.com/en-us/blog/author/bobby-curtis) | Nov 10, 2025 9:30:50 PM

### Introduction

Exception handling is one of the basic yet advance features that Oracle GoldenGate...

[CONTINUE READING](https://rheodata.com/en-us/blog/exception_table)

<https://rheodata.com/en-us/blog/capturing-stats-by-time>

## [Capturing Stats by time](https://rheodata.com/en-us/blog/capturing-stats-by-time)

Posted by [Bobby Curtis](https://rheodata.com/en-us/blog/author/bobby-curtis) | Nov 10, 2025 9:30:49 PM

With Oracle GoldenGate there are times when you want to know the number of DML that is being pushed...

[CONTINUE READING](https://rheodata.com/en-us/blog/capturing-stats-by-time)

<https://rheodata.com/en-us/blog/replicating-postgresql-data-using-oracle-goldengate>

## [Replicating PostgreSQL data using Oracle GoldenGate](https://rheodata.com/en-us/blog/replicating-postgresql-data-using-oracle-goldengate)

Posted by [Bobby Curtis](https://rheodata.com/en-us/blog/author/bobby-curtis) | Nov 10, 2025 9:30:46 PM

Something that has been brewing for years – since late 2017 – is the constant request from Oracle...

[CONTINUE READING](https://rheodata.com/en-us/blog/replicating-postgresql-data-using-oracle-goldengate)

<https://rheodata.com/en-us/blog/zero-etl>

## [Zero-ETL: What is it and what Oracle products support it](https://rheodata.com/en-us/blog/zero-etl)

Posted by [Bobby Curtis](https://rheodata.com/en-us/blog/author/bobby-curtis) | Nov 10, 2025 9:30:41 PM

Businesses are constantly finding themselves increasingly reliant on data ingestion, big data,...

[CONTINUE READING](https://rheodata.com/en-us/blog/zero-etl)

<https://rheodata.com/en-us/blog/configuring-nginx-on-aws-ec2-for-oracle-goldengate-21c-2>

## [Configuring Nginx on RedHat Linux 7.9 for Oracle GoldenGate 21c](https://rheodata.com/en-us/blog/configuring-nginx-on-aws-ec2-for-oracle-goldengate-21c-2)

Posted by [Bobby Curtis](https://rheodata.com/en-us/blog/author/bobby-curtis) | Nov 10, 2025 9:30:09 PM

When installed, Oracle GoldenGat (Microservices) will set up “services” that require a port number...

[CONTINUE READING](https://rheodata.com/en-us/blog/configuring-nginx-on-aws-ec2-for-oracle-goldengate-21c-2)

<https://rheodata.com/en-us/blog/identifying-predefined-administrative-accounts-in-autonomous-database-or-any-other-oracle-database>

## [Identifying Predefined Administrative Accounts in Autonomous Database or any other Oracle database](https://rheodata.com/en-us/blog/identifying-predefined-administrative-accounts-in-autonomous-database-or-any-other-oracle-database)

Posted by [Bobby Curtis](https://rheodata.com/en-us/blog/author/bobby-curtis) | Nov 10, 2025 9:30:08 PM

A quick post as a reminder for myself some time down the road. After all, we all need reminders...

[CONTINUE READING](https://rheodata.com/en-us/blog/identifying-predefined-administrative-accounts-in-autonomous-database-or-any-other-oracle-database)

<https://rheodata.com/en-us/blog/installing-oracle-goldengate-monitor-agent-12-2-1-2-silent>

## [Installing Oracle GoldenGate Monitor Agent 12.2.1.2 – Silent](https://rheodata.com/en-us/blog/installing-oracle-goldengate-monitor-agent-12-2-1-2-silent)

Posted by [Bobby Curtis](https://rheodata.com/en-us/blog/author/bobby-curtis) | Nov 10, 2025 9:30:07 PM

This post is mostly for anyone at RheoData to use get a sense of how the Oracle GoldenGate Monitor...

[CONTINUE READING](https://rheodata.com/en-us/blog/installing-oracle-goldengate-monitor-agent-12-2-1-2-silent)

<https://rheodata.com/en-us/blog/configure-oracle-goldengates-servicemanager-as-a-linux-service>

## [Configure Oracle GoldenGate’s ServiceManager as a Linux Service](https://rheodata.com/en-us/blog/configure-oracle-goldengates-servicemanager-as-a-linux-service)

Posted by [rheostage5132](https://rheodata.com/en-us/blog/author/rheostage5132) | Nov 10, 2025 9:30:06 PM

After installing Oracle GoldenGate with a manual ServiceManager, you realize that the...

[CONTINUE READING](https://rheodata.com/en-us/blog/configure-oracle-goldengates-servicemanager-as-a-linux-service)

<https://rheodata.com/en-us/blog/add-a-deployment-to-oracle-goldengate-19c-microservices>

## [Add a deployment to Oracle GoldenGate 19c Microservices](https://rheodata.com/en-us/blog/add-a-deployment-to-oracle-goldengate-19c-microservices)

Posted by [Bobby Curtis](https://rheodata.com/en-us/blog/author/bobby-curtis) | Nov 10, 2025 9:30:03 PM

Once you have an up and running Oracle GoldenGate Microservices environment, there may come a time...

[CONTINUE READING](https://rheodata.com/en-us/blog/add-a-deployment-to-oracle-goldengate-19c-microservices)

<https://rheodata.com/en-us/blog/configuring-nginx-on-aws-ec2-for-oracle-goldengate-21c>

## [Configuring Nginx on AWS EC2 for Oracle GoldenGate 21c](https://rheodata.com/en-us/blog/configuring-nginx-on-aws-ec2-for-oracle-goldengate-21c)

Posted by [Bobby Curtis](https://rheodata.com/en-us/blog/author/bobby-curtis) | Nov 10, 2025 9:30:01 PM

When installed, Oracle GoldenGat (Microservices) will set up “services” that require a port number...

[CONTINUE READING](https://rheodata.com/en-us/blog/configuring-nginx-on-aws-ec2-for-oracle-goldengate-21c)

### Recent Posts

#### [Coordinated Replicats: Faster, Lower-Risk GoldenGate Loads](https://rheodata.com/en-us/blog/coordinated-replicats-initial-load)

Posted at Jun 26, 2026 11:08:13 AM

![Post Featured Image](https://rheodata.com/hubfs/Gemini_Generated_Image_509fjc509fjc509f.png)

#### [Forward Deployed Engineering: The Operating Model the Agentic Era Demands](https://rheodata.com/en-us/blog/forward-deployed-engineering-agentic-era)

Posted at May 30, 2026 11:46:34 AM

![Post Featured Image](https://rheodata.com/hubfs/Gemini_Generated_Image_r8vpntr8vpntr8vp.png)

#### [The Bowl Is Broken: A CEO's Note on Mental Health Month and Tech Team Burnout](https://rheodata.com/en-us/blog/tech-team-burnout-mental-health-month-2026)

Posted at May 12, 2026 7:23:33 AM

![Post Featured Image](https://rheodata.com/hubfs/IMG_2142.jpg)

### Posts by Tag

- [Cloud (88)](https://rheodata.com/en-us/blog/tag/cloud)
- [GoldenGate (73)](https://rheodata.com/en-us/blog/tag/goldengate)
- [Business Insights (51)](https://rheodata.com/en-us/blog/tag/business-insights)
- [AI (36)](https://rheodata.com/en-us/blog/tag/ai)
- [19c (22)](https://rheodata.com/en-us/blog/tag/19c)
- [ai pipelines (17)](https://rheodata.com/en-us/blog/tag/ai-pipelines)
- [18c (15)](https://rheodata.com/en-us/blog/tag/18c)
- [21c (14)](https://rheodata.com/en-us/blog/tag/21c)
- [12c (11)](https://rheodata.com/en-us/blog/tag/12c)
- [machine learning (10)](https://rheodata.com/en-us/blog/tag/machine-learning)
- [23ai (9)](https://rheodata.com/en-us/blog/tag/23ai)
- [database (9)](https://rheodata.com/en-us/blog/tag/database)
- [goldengate 21c (9)](https://rheodata.com/en-us/blog/tag/goldengate-21c)
- [artificial intelligence (8)](https://rheodata.com/en-us/blog/tag/artificial-intelligence)
- [data analytics (8)](https://rheodata.com/en-us/blog/tag/data-analytics)
- [Google (7)](https://rheodata.com/en-us/blog/tag/google)
- [23ai AI vector search (6)](https://rheodata.com/en-us/blog/tag/23ai-ai-vector-search)
- [aws ec2 (6)](https://rheodata.com/en-us/blog/tag/aws-ec2)
- [aws ec2 compute (6)](https://rheodata.com/en-us/blog/tag/aws-ec2-compute)
- [ec2 (6)](https://rheodata.com/en-us/blog/tag/ec2)
- [ggs (6)](https://rheodata.com/en-us/blog/tag/ggs)
- [goldengate 19c (6)](https://rheodata.com/en-us/blog/tag/goldengate-19c)
- [install nginx (6)](https://rheodata.com/en-us/blog/tag/install-nginx)
- [23.4 (5)](https://rheodata.com/en-us/blog/tag/23-4)
- [AI Vector Search (5)](https://rheodata.com/en-us/blog/tag/ai-vector-search)
- [analytics (5)](https://rheodata.com/en-us/blog/tag/analytics)
- [classic to microservices (5)](https://rheodata.com/en-us/blog/tag/classic-to-microservices)
- [cloud-migration (5)](https://rheodata.com/en-us/blog/tag/cloud-migration)
- [data mesh (5)](https://rheodata.com/en-us/blog/tag/data-mesh)
- [database migration (5)](https://rheodata.com/en-us/blog/tag/database-migration)
- [goldengate microservices (5)](https://rheodata.com/en-us/blog/tag/goldengate-microservices)
- [11g (4)](https://rheodata.com/en-us/blog/tag/11g)
- [19c goldengate (4)](https://rheodata.com/en-us/blog/tag/19c-goldengate)
- [Azure (4)](https://rheodata.com/en-us/blog/tag/azure)
- [Database Modernization (4)](https://rheodata.com/en-us/blog/tag/database-modernization)
- [Google Cloud (4)](https://rheodata.com/en-us/blog/tag/google-cloud)
- [Oracle GoldenGate (4)](https://rheodata.com/en-us/blog/tag/oracle-goldengate)
- [autonomous database (4)](https://rheodata.com/en-us/blog/tag/autonomous-database)
- [cloud management (4)](https://rheodata.com/en-us/blog/tag/cloud-management)
- [cloud services (4)](https://rheodata.com/en-us/blog/tag/cloud-services)
- [data engineering (4)](https://rheodata.com/en-us/blog/tag/data-engineering)
- [data engineers (4)](https://rheodata.com/en-us/blog/tag/data-engineers)
- [data governance (4)](https://rheodata.com/en-us/blog/tag/data-governance)
- [heatwave (4)](https://rheodata.com/en-us/blog/tag/heatwave)
- [12.2.1.x (3)](https://rheodata.com/en-us/blog/tag/12-2-1-x)
- [12.3.x (3)](https://rheodata.com/en-us/blog/tag/12-3-x)
- [12c goldengate (3)](https://rheodata.com/en-us/blog/tag/12c-goldengate)
- [18c goldengate (3)](https://rheodata.com/en-us/blog/tag/18c-goldengate)
- [23c (3)](https://rheodata.com/en-us/blog/tag/23c)
- [AI Integration (3)](https://rheodata.com/en-us/blog/tag/ai-integration)
- [Database Administration (3)](https://rheodata.com/en-us/blog/tag/database-administration)
- [GoldenGate 23c (3)](https://rheodata.com/en-us/blog/tag/goldengate-23c)
- [MySQL (3)](https://rheodata.com/en-us/blog/tag/mysql)
- [Oracle Cloud Migration (3)](https://rheodata.com/en-us/blog/tag/oracle-cloud-migration)
- [Oracle Database 26ai (3)](https://rheodata.com/en-us/blog/tag/oracle-database-26ai)
- [adminclient (3)](https://rheodata.com/en-us/blog/tag/adminclient)
- [architecture of data pipelines (3)](https://rheodata.com/en-us/blog/tag/architecture-of-data-pipelines)
- [automation (3)](https://rheodata.com/en-us/blog/tag/automation)
- [batch processing (3)](https://rheodata.com/en-us/blog/tag/batch-processing)
- [big data (3)](https://rheodata.com/en-us/blog/tag/big-data)
- [data cleaning (3)](https://rheodata.com/en-us/blog/tag/data-cleaning)
- [data integration (3)](https://rheodata.com/en-us/blog/tag/data-integration)
- [data pipelines (3)](https://rheodata.com/en-us/blog/tag/data-pipelines)
- [data pipelines vs ETL pipelines (3)](https://rheodata.com/en-us/blog/tag/data-pipelines-vs-etl-pipelines)
- [data science (3)](https://rheodata.com/en-us/blog/tag/data-science)
- [data-replication (3)](https://rheodata.com/en-us/blog/tag/data-replication)
- [database-platforms (3)](https://rheodata.com/en-us/blog/tag/database-platforms)
- [enterprise data replication (3)](https://rheodata.com/en-us/blog/tag/enterprise-data-replication)
- [gcp (3)](https://rheodata.com/en-us/blog/tag/gcp)
- [hashicorp vault enterprise (3)](https://rheodata.com/en-us/blog/tag/hashicorp-vault-enterprise)
- [Agentic AI (2)](https://rheodata.com/en-us/blog/tag/agentic-ai)
- [Bring Your Own License (BYOL) Oracle (2)](https://rheodata.com/en-us/blog/tag/bring-your-own-license-byol-oracle)
- [Cloud Database (2)](https://rheodata.com/en-us/blog/tag/cloud-database)
- [Cloud modernization strategy (2)](https://rheodata.com/en-us/blog/tag/cloud-modernization-strategy)
- [Docker (2)](https://rheodata.com/en-us/blog/tag/docker)
- [EnterpriseDB (2)](https://rheodata.com/en-us/blog/tag/enterprisedb)
- [Flask (2)](https://rheodata.com/en-us/blog/tag/flask)
- [Google Cloud for Oracle workloads (2)](https://rheodata.com/en-us/blog/tag/google-cloud-for-oracle-workloads)
- [Legacy Oracle systems (2)](https://rheodata.com/en-us/blog/tag/legacy-oracle-systems)
- [Oracle AI Vector Search (2)](https://rheodata.com/en-us/blog/tag/oracle-ai-vector-search)
- [Oracle Cloud Infrastructure (2)](https://rheodata.com/en-us/blog/tag/oracle-cloud-infrastructure)
- [Oracle DBA skills in the cloud (2)](https://rheodata.com/en-us/blog/tag/oracle-dba-skills-in-the-cloud)
- [Oracle GoldenGate 23ai (2)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-23ai)
- [Oracle migration assessment (2)](https://rheodata.com/en-us/blog/tag/oracle-migration-assessment)
- [Oracle on GCP (2)](https://rheodata.com/en-us/blog/tag/oracle-on-gcp)
- [Snowflake (2)](https://rheodata.com/en-us/blog/tag/snowflake)
- [Snowflake cost optimization (2)](https://rheodata.com/en-us/blog/tag/snowflake-cost-optimization)
- [aws (2)](https://rheodata.com/en-us/blog/tag/aws)
- [azure ai studio (2)](https://rheodata.com/en-us/blog/tag/azure-ai-studio)
- [build mysql heatwave (2)](https://rheodata.com/en-us/blog/tag/build-mysql-heatwave)
- [cloud dba (2)](https://rheodata.com/en-us/blog/tag/cloud-dba)
- [cloud ready (2)](https://rheodata.com/en-us/blog/tag/cloud-ready)
- [cohere generate documentation (2)](https://rheodata.com/en-us/blog/tag/cohere-generate-documentation)
- [data-pipeline (2)](https://rheodata.com/en-us/blog/tag/data-pipeline)
- [database replication security (2)](https://rheodata.com/en-us/blog/tag/database-replication-security)
- [deployment (2)](https://rheodata.com/en-us/blog/tag/deployment)
- [docker adminclient (2)](https://rheodata.com/en-us/blog/tag/docker-adminclient)
- [golden gate (2)](https://rheodata.com/en-us/blog/tag/golden-gate)
- [goldengate cloud (2)](https://rheodata.com/en-us/blog/tag/goldengate-cloud)
- [goldengate migrations (2)](https://rheodata.com/en-us/blog/tag/goldengate-migrations)
- [goldengate parameter files (2)](https://rheodata.com/en-us/blog/tag/goldengate-parameter-files)
- [google postgresql migration (2)](https://rheodata.com/en-us/blog/tag/google-postgresql-migration)
- [ml (2)](https://rheodata.com/en-us/blog/tag/ml)
- [real-time data replication (2)](https://rheodata.com/en-us/blog/tag/real-time-data-replication)
- [0.12upgrade (1)](https://rheodata.com/en-us/blog/tag/0-12upgrade)
- [11.2.0.4 (1)](https://rheodata.com/en-us/blog/tag/11-2-0-4)
- [11g to 19c (1)](https://rheodata.com/en-us/blog/tag/11g-to-19c)
- [11g to 21c (1)](https://rheodata.com/en-us/blog/tag/11g-to-21c)
- [11g to 23c (1)](https://rheodata.com/en-us/blog/tag/11g-to-23c)
- [11g to OCI (1)](https://rheodata.com/en-us/blog/tag/11g-to-oci)
- [19.1.0.0.0 (1)](https://rheodata.com/en-us/blog/tag/19-1-0-0-0)
- [19.1.0.0.1 (1)](https://rheodata.com/en-us/blog/tag/19-1-0-0-1)
- [2024 (1)](https://rheodata.com/en-us/blog/tag/2024)
- [5.7 (1)](https://rheodata.com/en-us/blog/tag/5-7)
- [5.7 to 8.0 (1)](https://rheodata.com/en-us/blog/tag/5-7-to-8-0)
- [8.0 (1)](https://rheodata.com/en-us/blog/tag/8-0)
- [AI Agents (1)](https://rheodata.com/en-us/blog/tag/ai-agents)
- [AI Data Platform (1)](https://rheodata.com/en-us/blog/tag/ai-data-platform)
- [AI Infrastructure Management (1)](https://rheodata.com/en-us/blog/tag/ai-infrastructure-management)
- [AI Machine Learning (1)](https://rheodata.com/en-us/blog/tag/ai-machine-learning)
- [AI blog writing (1)](https://rheodata.com/en-us/blog/tag/ai-blog-writing)
- [AI business productivity (1)](https://rheodata.com/en-us/blog/tag/ai-business-productivity)
- [AI content creation (1)](https://rheodata.com/en-us/blog/tag/ai-content-creation)
- [AI data infrastructure (1)](https://rheodata.com/en-us/blog/tag/ai-data-infrastructure)
- [AI data management (1)](https://rheodata.com/en-us/blog/tag/ai-data-management)
- [AI data platform optimization (1)](https://rheodata.com/en-us/blog/tag/ai-data-platform-optimization)
- [AI database administration (1)](https://rheodata.com/en-us/blog/tag/ai-database-administration)
- [AI database management tools (1)](https://rheodata.com/en-us/blog/tag/ai-database-management-tools)
- [AI ethics content (1)](https://rheodata.com/en-us/blog/tag/ai-ethics-content)
- [AI governance (1)](https://rheodata.com/en-us/blog/tag/ai-governance)
- [AI inference bottlenecks (1)](https://rheodata.com/en-us/blog/tag/ai-inference-bottlenecks)
- [AI model deployment strategies (1)](https://rheodata.com/en-us/blog/tag/ai-model-deployment-strategies)
- [AI security (1)](https://rheodata.com/en-us/blog/tag/ai-security)
- [AI writing tools (1)](https://rheodata.com/en-us/blog/tag/ai-writing-tools)
- [AI-Driven-Revenue-Growth (1)](https://rheodata.com/en-us/blog/tag/ai-driven-revenue-growth)
- [AI-Native Applications (1)](https://rheodata.com/en-us/blog/tag/ai-native-applications)
- [AI-ROI (1)](https://rheodata.com/en-us/blog/tag/ai-roi)
- [AI-Ready Data (1)](https://rheodata.com/en-us/blog/tag/ai-ready-data)
- [AI-accuracy (1)](https://rheodata.com/en-us/blog/tag/ai-accuracy)
- [AI-compliance (1)](https://rheodata.com/en-us/blog/tag/ai-compliance)
- [AI-hallucination-prevention (1)](https://rheodata.com/en-us/blog/tag/ai-hallucination-prevention)
- [AI-powered database replication management (1)](https://rheodata.com/en-us/blog/tag/ai-powered-database-replication-management)
- [API authentication (1)](https://rheodata.com/en-us/blog/tag/api-authentication)
- [AWS S3 (1)](https://rheodata.com/en-us/blog/tag/aws-s3)
- [Apache Iceberg (1)](https://rheodata.com/en-us/blog/tag/apache-iceberg)
- [Apache Spark data platform (1)](https://rheodata.com/en-us/blog/tag/apache-spark-data-platform)
- [Atlanta database consultants (1)](https://rheodata.com/en-us/blog/tag/atlanta-database-consultants)
- [Azure Data Lake (1)](https://rheodata.com/en-us/blog/tag/azure-data-lake)
- [Big Query (1)](https://rheodata.com/en-us/blog/tag/big-query)
- [BigQuery Integration (1)](https://rheodata.com/en-us/blog/tag/bigquery-integration)
- [Business-Intelligence-Modernization (1)](https://rheodata.com/en-us/blog/tag/business-intelligence-modernization)
- [CLOB to VARCHAR (1)](https://rheodata.com/en-us/blog/tag/clob-to-varchar)
- [Change Data Capture GoldenGate Extract (1)](https://rheodata.com/en-us/blog/tag/change-data-capture-goldengate-extract)
- [Cloud Data Platform (1)](https://rheodata.com/en-us/blog/tag/cloud-data-platform)
- [Cloud database migration (1)](https://rheodata.com/en-us/blog/tag/cloud-database-migration)
- [Coordinated Replicat (1)](https://rheodata.com/en-us/blog/tag/coordinated-replicat)
- [Cortex Agents (1)](https://rheodata.com/en-us/blog/tag/cortex-agents)
- [Cosine distance Oracle (1)](https://rheodata.com/en-us/blog/tag/cosine-distance-oracle)
- [Cross-platform data monitoring (1)](https://rheodata.com/en-us/blog/tag/cross-platform-data-monitoring)
- [Customer-Experience-Optimization (1)](https://rheodata.com/en-us/blog/tag/customer-experience-optimization)
- [DBA burnout prevention (1)](https://rheodata.com/en-us/blog/tag/dba-burnout-prevention)
- [DBA productivity (1)](https://rheodata.com/en-us/blog/tag/dba-productivity)
- [DBA skills AI (1)](https://rheodata.com/en-us/blog/tag/dba-skills-ai)
- [Data Modernization (1)](https://rheodata.com/en-us/blog/tag/data-modernization)
- [Data Pipeline Architecture (1)](https://rheodata.com/en-us/blog/tag/data-pipeline-architecture)
- [Data Pipeline Management (1)](https://rheodata.com/en-us/blog/tag/data-pipeline-management)
- [Data Streaming (1)](https://rheodata.com/en-us/blog/tag/data-streaming)
- [Data Transformation (1)](https://rheodata.com/en-us/blog/tag/data-transformation)
- [Data pipeline troubleshooting (1)](https://rheodata.com/en-us/blog/tag/data-pipeline-troubleshooting)
- [Database Security (1)](https://rheodata.com/en-us/blog/tag/database-security)
- [Database lag monitoring (1)](https://rheodata.com/en-us/blog/tag/database-lag-monitoring)
- [Database migration strategy (1)](https://rheodata.com/en-us/blog/tag/database-migration-strategy)
- [Database migration vs. replication (1)](https://rheodata.com/en-us/blog/tag/database-migration-vs-replication)
- [Database replication blind spots (1)](https://rheodata.com/en-us/blog/tag/database-replication-blind-spots)
- [Database replication monitoring (1)](https://rheodata.com/en-us/blog/tag/database-replication-monitoring)
- [Database replication performance monitoring (1)](https://rheodata.com/en-us/blog/tag/database-replication-performance-monitoring)
- [Databricks comparison (1)](https://rheodata.com/en-us/blog/tag/databricks-comparison)
- [Delta Lake integration (1)](https://rheodata.com/en-us/blog/tag/delta-lake-integration)
- [Digital-Transformation-ROI (1)](https://rheodata.com/en-us/blog/tag/digital-transformation-roi)
- [EXTFILE (1)](https://rheodata.com/en-us/blog/tag/extfile)
- [EXTRAIL (1)](https://rheodata.com/en-us/blog/tag/extrail)
- [Edge computing AI (1)](https://rheodata.com/en-us/blog/tag/edge-computing-ai)
- [Enterprise AI Strategy (1)](https://rheodata.com/en-us/blog/tag/enterprise-ai-strategy)
- [Enterprise AI scalability (1)](https://rheodata.com/en-us/blog/tag/enterprise-ai-scalability)
- [Enterprise cloud migration (1)](https://rheodata.com/en-us/blog/tag/enterprise-cloud-migration)
- [Enterprise data migration (1)](https://rheodata.com/en-us/blog/tag/enterprise-data-migration)
- [Enterprise database replication monitoring (1)](https://rheodata.com/en-us/blog/tag/enterprise-database-replication-monitoring)
- [Forward Deployed Engineering (1)](https://rheodata.com/en-us/blog/tag/forward-deployed-engineering)
- [GPU memory optimization (1)](https://rheodata.com/en-us/blog/tag/gpu-memory-optimization)
- [GUI (1)](https://rheodata.com/en-us/blog/tag/gui)
- [Gemini Enterprise (1)](https://rheodata.com/en-us/blog/tag/gemini-enterprise)
- [GoldenGate 21c upgrade (1)](https://rheodata.com/en-us/blog/tag/goldengate-21c-upgrade)
- [GoldenGate 23ai to 26ai (1)](https://rheodata.com/en-us/blog/tag/goldengate-23ai-to-26ai)
- [GoldenGate 26ai new features (1)](https://rheodata.com/en-us/blog/tag/goldengate-26ai-new-features)
- [GoldenGate 26ai release notes (1)](https://rheodata.com/en-us/blog/tag/goldengate-26ai-release-notes)
- [GoldenGate 26ai upgrade (1)](https://rheodata.com/en-us/blog/tag/goldengate-26ai-upgrade)
- [GoldenGate AI integration (1)](https://rheodata.com/en-us/blog/tag/goldengate-ai-integration)
- [GoldenGate CDC configuration (1)](https://rheodata.com/en-us/blog/tag/goldengate-cdc-configuration)
- [GoldenGate DAA (1)](https://rheodata.com/en-us/blog/tag/goldengate-daa)
- [GoldenGate Extract user permissions (1)](https://rheodata.com/en-us/blog/tag/goldengate-extract-user-permissions)
- [GoldenGate Yugabyte support (1)](https://rheodata.com/en-us/blog/tag/goldengate-yugabyte-support)
- [GoldenGate certificate authentication (1)](https://rheodata.com/en-us/blog/tag/goldengate-certificate-authentication)
- [GoldenGate cutover planning (1)](https://rheodata.com/en-us/blog/tag/goldengate-cutover-planning)
- [GoldenGate deployment automation (1)](https://rheodata.com/en-us/blog/tag/goldengate-deployment-automation)
- [GoldenGate granular permissions setup (1)](https://rheodata.com/en-us/blog/tag/goldengate-granular-permissions-setup)
- [GoldenGate least privilege security (1)](https://rheodata.com/en-us/blog/tag/goldengate-least-privilege-security)
- [GoldenGate lifecycle management (1)](https://rheodata.com/en-us/blog/tag/goldengate-lifecycle-management)
- [GoldenGate migration guide (1)](https://rheodata.com/en-us/blog/tag/goldengate-migration-guide)
- [GoldenGate migration sizing (1)](https://rheodata.com/en-us/blog/tag/goldengate-migration-sizing)
- [GoldenGate monitoring and lag management (1)](https://rheodata.com/en-us/blog/tag/goldengate-monitoring-and-lag-management)
- [GoldenGate operational ownership (1)](https://rheodata.com/en-us/blog/tag/goldengate-operational-ownership)
- [GoldenGate password management (1)](https://rheodata.com/en-us/blog/tag/goldengate-password-management)
- [GoldenGate port configuration (1)](https://rheodata.com/en-us/blog/tag/goldengate-port-configuration)
- [GoldenGate replication lag detection (1)](https://rheodata.com/en-us/blog/tag/goldengate-replication-lag-detection)
- [GoldenGate response file (1)](https://rheodata.com/en-us/blog/tag/goldengate-response-file)
- [GoldenGate trail file management (1)](https://rheodata.com/en-us/blog/tag/goldengate-trail-file-management)
- [GoldenGate troubleshooting solutions (1)](https://rheodata.com/en-us/blog/tag/goldengate-troubleshooting-solutions)
- [GoldenGate unified console (1)](https://rheodata.com/en-us/blog/tag/goldengate-unified-console)
- [GoldenGateMCP (1)](https://rheodata.com/en-us/blog/tag/goldengatemcp)
- [Google Cloud Platform (1)](https://rheodata.com/en-us/blog/tag/google-cloud-platform)
- [Google Cloud Storage (1)](https://rheodata.com/en-us/blog/tag/google-cloud-storage)
- [Google-AlloyDB (1)](https://rheodata.com/en-us/blog/tag/google-alloydb)
- [HashiCorp (1)](https://rheodata.com/en-us/blog/tag/hashicorp)
- [Hybrid queries Oracle (1)](https://rheodata.com/en-us/blog/tag/hybrid-queries-oracle)
- [IT cost optimization (1)](https://rheodata.com/en-us/blog/tag/it-cost-optimization)
- [IT infrastructure simplification (1)](https://rheodata.com/en-us/blog/tag/it-infrastructure-simplification)
- [IT leadership mental health (1)](https://rheodata.com/en-us/blog/tag/it-leadership-mental-health)
- [Initial Load (1)](https://rheodata.com/en-us/blog/tag/initial-load)
- [Inventory management data lag (1)](https://rheodata.com/en-us/blog/tag/inventory-management-data-lag)
- [LLM inference optimization (1)](https://rheodata.com/en-us/blog/tag/llm-inference-optimization)
- [Large language model performance (1)](https://rheodata.com/en-us/blog/tag/large-language-model-performance)
- [MCP Server for Oracle (1)](https://rheodata.com/en-us/blog/tag/mcp-server-for-oracle)
- [MCP Server, (1)](https://rheodata.com/en-us/blog/tag/mcp-server)
- [Mental Health Awareness Month tech industry (1)](https://rheodata.com/en-us/blog/tag/mental-health-awareness-month-tech-industry)
- [Migration readiness (1)](https://rheodata.com/en-us/blog/tag/migration-readiness)
- [Model Context Protocol (1)](https://rheodata.com/en-us/blog/tag/model-context-protocol)
- [Model inference costs (1)](https://rheodata.com/en-us/blog/tag/model-inference-costs)
- [OMA assessment (1)](https://rheodata.com/en-us/blog/tag/oma-assessment)
- [ONNX embedding model Oracle (1)](https://rheodata.com/en-us/blog/tag/onnx-embedding-model-oracle)
- [Operating Model (1)](https://rheodata.com/en-us/blog/tag/operating-model)
- [Oracle 23ai features (1)](https://rheodata.com/en-us/blog/tag/oracle-23ai-features)
- [Oracle 26ai features (1)](https://rheodata.com/en-us/blog/tag/oracle-26ai-features)
- [Oracle AI Data Platform (1)](https://rheodata.com/en-us/blog/tag/oracle-ai-data-platform)
- [Oracle AI Solutions (1)](https://rheodata.com/en-us/blog/tag/oracle-ai-solutions)
- [Oracle Autonomous Database migration (1)](https://rheodata.com/en-us/blog/tag/oracle-autonomous-database-migration)
- [Oracle CPAT vs OMA comparison (1)](https://rheodata.com/en-us/blog/tag/oracle-cpat-vs-oma-comparison)
- [Oracle Database 23ai vectors (1)](https://rheodata.com/en-us/blog/tag/oracle-database-23ai-vectors)
- [Oracle Database 26ai vectors (1)](https://rheodata.com/en-us/blog/tag/oracle-database-26ai-vectors)
- [Oracle EBS migration (1)](https://rheodata.com/en-us/blog/tag/oracle-ebs-migration)
- [Oracle Exadata on Google Cloud (1)](https://rheodata.com/en-us/blog/tag/oracle-exadata-on-google-cloud)
- [Oracle GoldenGate 26ai (1)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-26ai)
- [Oracle GoldenGate AI diagnostics (1)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-ai-diagnostics)
- [Oracle GoldenGate Azure (1)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-azure)
- [Oracle GoldenGate Management (1)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-management)
- [Oracle GoldenGate REST API automation (1)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-rest-api-automation)
- [Oracle GoldenGate SQL Server permissions (1)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-sql-server-permissions)
- [Oracle GoldenGate automation (1)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-automation)
- [Oracle GoldenGate heartbeat (1)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-heartbeat)
- [Oracle GoldenGate least privilege security (1)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-least-privilege-security)
- [Oracle GoldenGate managed services (1)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-managed-services)
- [Oracle GoldenGate migration strategy (1)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-migration-strategy)
- [Oracle GoldenGate monitoring tools (1)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-monitoring-tools)
- [Oracle GoldenGate replication best practices (1)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-replication-best-practices)
- [Oracle and Google Cloud AI (1)](https://rheodata.com/en-us/blog/tag/oracle-and-google-cloud-ai)
- [Oracle cloud cost optimization (1)](https://rheodata.com/en-us/blog/tag/oracle-cloud-cost-optimization)
- [Oracle cloud migration assessment (1)](https://rheodata.com/en-us/blog/tag/oracle-cloud-migration-assessment)
- [Oracle data replication 2026 (1)](https://rheodata.com/en-us/blog/tag/oracle-data-replication-2026)
- [Oracle data replication compliance (1)](https://rheodata.com/en-us/blog/tag/oracle-data-replication-compliance)
- [Oracle database migration to OCI (1)](https://rheodata.com/en-us/blog/tag/oracle-database-migration-to-oci)
- [Oracle replication governance (1)](https://rheodata.com/en-us/blog/tag/oracle-replication-governance)
- [Oracle replication lag diagnosis (1)](https://rheodata.com/en-us/blog/tag/oracle-replication-lag-diagnosis)
- [Oracle to cloud migration (1)](https://rheodata.com/en-us/blog/tag/oracle-to-cloud-migration)
- [Oracle vs Databricks (1)](https://rheodata.com/en-us/blog/tag/oracle-vs-databricks)
- [Oracle workload analysis (1)](https://rheodata.com/en-us/blog/tag/oracle-workload-analysis)
- [Oracle@Google Cloud (1)](https://rheodata.com/en-us/blog/tag/oraclegoogle-cloud)
- [Parallel Replicat (1)](https://rheodata.com/en-us/blog/tag/parallel-replicat)
- [Parquet (1)](https://rheodata.com/en-us/blog/tag/parquet)
- [RAG pipeline database (1)](https://rheodata.com/en-us/blog/tag/rag-pipeline-database)
- [REST API (1)](https://rheodata.com/en-us/blog/tag/rest-api)
- [Real-time AI processing (1)](https://rheodata.com/en-us/blog/tag/real-time-ai-processing)
- [SQL Server replication security best practices (1)](https://rheodata.com/en-us/blog/tag/sql-server-replication-security-best-practices)
- [Semantic search database (1)](https://rheodata.com/en-us/blog/tag/semantic-search-database)
- [Similarity search Oracle (1)](https://rheodata.com/en-us/blog/tag/similarity-search-oracle)
- [Snowflake Optima indexing (1)](https://rheodata.com/en-us/blog/tag/snowflake-optima-indexing)
- [Snowflake Search Optimization Service (1)](https://rheodata.com/en-us/blog/tag/snowflake-search-optimization-service)
- [Snowflake alternatives (1)](https://rheodata.com/en-us/blog/tag/snowflake-alternatives)
- [Snowflake automatic clustering (1)](https://rheodata.com/en-us/blog/tag/snowflake-automatic-clustering)
- [Snowflake budget monitoring (1)](https://rheodata.com/en-us/blog/tag/snowflake-budget-monitoring)
- [Snowflake cloud data warehouse performance (1)](https://rheodata.com/en-us/blog/tag/snowflake-cloud-data-warehouse-performance)
- [Snowflake cost governance (1)](https://rheodata.com/en-us/blog/tag/snowflake-cost-governance)
- [Snowflake cost management (1)](https://rheodata.com/en-us/blog/tag/snowflake-cost-management)
- [Snowflake cost reduction strategies (1)](https://rheodata.com/en-us/blog/tag/snowflake-cost-reduction-strategies)
- [Snowflake credit usage (1)](https://rheodata.com/en-us/blog/tag/snowflake-credit-usage)
- [Snowflake materialized views (1)](https://rheodata.com/en-us/blog/tag/snowflake-materialized-views)
- [Snowflake migration staffing (1)](https://rheodata.com/en-us/blog/tag/snowflake-migration-staffing)
- [Snowflake performance optimization (1)](https://rheodata.com/en-us/blog/tag/snowflake-performance-optimization)
- [Snowflake query acceleration service (1)](https://rheodata.com/en-us/blog/tag/snowflake-query-acceleration-service)
- [Snowflake query performance tuning (1)](https://rheodata.com/en-us/blog/tag/snowflake-query-performance-tuning)
- [Snowflake resource monitors (1)](https://rheodata.com/en-us/blog/tag/snowflake-resource-monitors)
- [Snowflake serverless compute costs (1)](https://rheodata.com/en-us/blog/tag/snowflake-serverless-compute-costs)
- [Snowflake spend attribution (1)](https://rheodata.com/en-us/blog/tag/snowflake-spend-attribution)
- [Snowflake warehouse optimization (1)](https://rheodata.com/en-us/blog/tag/snowflake-warehouse-optimization)
- [Snowflake warehouse right-sizing (1)](https://rheodata.com/en-us/blog/tag/snowflake-warehouse-right-sizing)
- [Token generation latency (1)](https://rheodata.com/en-us/blog/tag/token-generation-latency)
- [VECTOR datatype Oracle (1)](https://rheodata.com/en-us/blog/tag/vector-datatype-oracle)
- [VECTOR\_DISTANCE function (1)](https://rheodata.com/en-us/blog/tag/vector_distance-function)
- [Vector embeddings Oracle (1)](https://rheodata.com/en-us/blog/tag/vector-embeddings-oracle)
- [What's new GoldenGate 26ai (1)](https://rheodata.com/en-us/blog/tag/whats-new-goldengate-26ai)
- [access control (1)](https://rheodata.com/en-us/blog/tag/access-control)
- [activepass (1)](https://rheodata.com/en-us/blog/tag/activepass)
- [adb (1)](https://rheodata.com/en-us/blog/tag/adb)
- [add (1)](https://rheodata.com/en-us/blog/tag/add)
- [add credentials (1)](https://rheodata.com/en-us/blog/tag/add-credentials)
- [adminclient add credentials (1)](https://rheodata.com/en-us/blog/tag/adminclient-add-credentials)
- [administration (1)](https://rheodata.com/en-us/blog/tag/administration)
- [adw (1)](https://rheodata.com/en-us/blog/tag/adw)
- [ai failures 2024 (1)](https://rheodata.com/en-us/blog/tag/ai-failures-2024)
- [ai stratgies (1)](https://rheodata.com/en-us/blog/tag/ai-stratgies)
- [ai-architecture (1)](https://rheodata.com/en-us/blog/tag/ai-architecture)
- [all or nothing (1)](https://rheodata.com/en-us/blog/tag/all-or-nothing)
- [allowPublicKeyRetrieval (1)](https://rheodata.com/en-us/blog/tag/allowpublickeyretrieval)
- [alloydb (1)](https://rheodata.com/en-us/blog/tag/alloydb)
- [alter extract 21c (1)](https://rheodata.com/en-us/blog/tag/alter-extract-21c)
- [amazon (1)](https://rheodata.com/en-us/blog/tag/amazon)
- [ansible (1)](https://rheodata.com/en-us/blog/tag/ansible)
- [approximate-nearest-neighbor (1)](https://rheodata.com/en-us/blog/tag/approximate-nearest-neighbor)
- [automl (1)](https://rheodata.com/en-us/blog/tag/automl)
- [azure-cloud (1)](https://rheodata.com/en-us/blog/tag/azure-cloud)
- [azure-native (1)](https://rheodata.com/en-us/blog/tag/azure-native)
- [bastion (1)](https://rheodata.com/en-us/blog/tag/bastion)
- [bastion host configuartion (1)](https://rheodata.com/en-us/blog/tag/bastion-host-configuartion)
- [bastion setup oracle (1)](https://rheodata.com/en-us/blog/tag/bastion-setup-oracle)
- [bug 30193036 (1)](https://rheodata.com/en-us/blog/tag/bug-30193036)
- [bugs (1)](https://rheodata.com/en-us/blog/tag/bugs)
- [build a compute node in oci (1)](https://rheodata.com/en-us/blog/tag/build-a-compute-node-in-oci)
- [business-continuity (1)](https://rheodata.com/en-us/blog/tag/business-continuity)
- [certificate-based authentication (1)](https://rheodata.com/en-us/blog/tag/certificate-based-authentication)
- [change data capture (1)](https://rheodata.com/en-us/blog/tag/change-data-capture)
- [changing ssh keys (1)](https://rheodata.com/en-us/blog/tag/changing-ssh-keys)
- [channels (1)](https://rheodata.com/en-us/blog/tag/channels)
- [cloud cost control (1)](https://rheodata.com/en-us/blog/tag/cloud-cost-control)
- [cloud data platform cost control (1)](https://rheodata.com/en-us/blog/tag/cloud-data-platform-cost-control)
- [cloud migration readiness assessment (1)](https://rheodata.com/en-us/blog/tag/cloud-migration-readiness-assessment)
- [cloud-database-setup (1)](https://rheodata.com/en-us/blog/tag/cloud-database-setup)
- [cloud-sql-migration (1)](https://rheodata.com/en-us/blog/tag/cloud-sql-migration)
- [cloud-strategy (1)](https://rheodata.com/en-us/blog/tag/cloud-strategy)
- [cohere command (1)](https://rheodata.com/en-us/blog/tag/cohere-command)
- [compute (1)](https://rheodata.com/en-us/blog/tag/compute)
- [compute portability (1)](https://rheodata.com/en-us/blog/tag/compute-portability)
- [compute-instance (1)](https://rheodata.com/en-us/blog/tag/compute-instance)
- [connect to database via bastion host (1)](https://rheodata.com/en-us/blog/tag/connect-to-database-via-bastion-host)
- [connect to database via bastion host oci (1)](https://rheodata.com/en-us/blog/tag/connect-to-database-via-bastion-host-oci)
- [consultants (1)](https://rheodata.com/en-us/blog/tag/consultants)
- [content strategy (1)](https://rheodata.com/en-us/blog/tag/content-strategy)
- [cost-optimization (1)](https://rheodata.com/en-us/blog/tag/cost-optimization)
- [cryptographic authentication (1)](https://rheodata.com/en-us/blog/tag/cryptographic-authentication)
- [curl (1)](https://rheodata.com/en-us/blog/tag/curl)
- [daemon (1)](https://rheodata.com/en-us/blog/tag/daemon)
- [data encryption (1)](https://rheodata.com/en-us/blog/tag/data-encryption)
- [data fabric (1)](https://rheodata.com/en-us/blog/tag/data-fabric)
- [data governance framework (1)](https://rheodata.com/en-us/blog/tag/data-governance-framework)
- [data lake architecture (1)](https://rheodata.com/en-us/blog/tag/data-lake-architecture)
- [data lakehouse platform (1)](https://rheodata.com/en-us/blog/tag/data-lakehouse-platform)
- [data pipeline security (1)](https://rheodata.com/en-us/blog/tag/data-pipeline-security)
- [data platform selection (1)](https://rheodata.com/en-us/blog/tag/data-platform-selection)
- [data team workload management (1)](https://rheodata.com/en-us/blog/tag/data-team-workload-management)
- [database AI transformation (1)](https://rheodata.com/en-us/blog/tag/database-ai-transformation)
- [database administrators (1)](https://rheodata.com/en-us/blog/tag/database-administrators)
- [database capacity planning tools (1)](https://rheodata.com/en-us/blog/tag/database-capacity-planning-tools)
- [database certificate authentication (1)](https://rheodata.com/en-us/blog/tag/database-certificate-authentication)
- [database compliance audit replication (1)](https://rheodata.com/en-us/blog/tag/database-compliance-audit-replication)
- [database consolidation strategy (1)](https://rheodata.com/en-us/blog/tag/database-consolidation-strategy)
- [database credential management (1)](https://rheodata.com/en-us/blog/tag/database-credential-management)
- [database migration planning tools (1)](https://rheodata.com/en-us/blog/tag/database-migration-planning-tools)
- [database modernization AI (1)](https://rheodata.com/en-us/blog/tag/database-modernization-ai)
- [database replication management (1)](https://rheodata.com/en-us/blog/tag/database-replication-management)
- [database transformation consulting (1)](https://rheodata.com/en-us/blog/tag/database-transformation-consulting)
- [database-failover (1)](https://rheodata.com/en-us/blog/tag/database-failover)
- [database-vectors (1)](https://rheodata.com/en-us/blog/tag/database-vectors)
- [db\_owner risk SQL Server replication (1)](https://rheodata.com/en-us/blog/tag/db_owner-risk-sql-server-replication)
- [dba\_capture (1)](https://rheodata.com/en-us/blog/tag/dba_capture)
- [dba\_queues (1)](https://rheodata.com/en-us/blog/tag/dba_queues)
- [dbms\_aqadm.drop\_queue\_table (1)](https://rheodata.com/en-us/blog/tag/dbms_aqadm-drop_queue_table)
- [dbms\_comparison (1)](https://rheodata.com/en-us/blog/tag/dbms_comparison)
- [ddl (1)](https://rheodata.com/en-us/blog/tag/ddl)
- [direct initial load (1)](https://rheodata.com/en-us/blog/tag/direct-initial-load)
- [dml (1)](https://rheodata.com/en-us/blog/tag/dml)
- [docker goldengate (1)](https://rheodata.com/en-us/blog/tag/docker-goldengate)
- [docker images (1)](https://rheodata.com/en-us/blog/tag/docker-images)
- [dynamic (1)](https://rheodata.com/en-us/blog/tag/dynamic)
- [edb database (1)](https://rheodata.com/en-us/blog/tag/edb-database)
- [elephant database (1)](https://rheodata.com/en-us/blog/tag/elephant-database)
- [eliminate database password authentication (1)](https://rheodata.com/en-us/blog/tag/eliminate-database-password-authentication)
- [emd360 (1)](https://rheodata.com/en-us/blog/tag/emd360)
- [enable ddl (1)](https://rheodata.com/en-us/blog/tag/enable-ddl)
- [enterprise (1)](https://rheodata.com/en-us/blog/tag/enterprise)
- [enterprise AI (1)](https://rheodata.com/en-us/blog/tag/enterprise-ai)
- [enterprise AI implementation (1)](https://rheodata.com/en-us/blog/tag/enterprise-ai-implementation)
- [enterprise AI infrastructure (1)](https://rheodata.com/en-us/blog/tag/enterprise-ai-infrastructure)
- [enterprise data governance (1)](https://rheodata.com/en-us/blog/tag/enterprise-data-governance)
- [enterprise data integration (1)](https://rheodata.com/en-us/blog/tag/enterprise-data-integration)
- [enterprise data strategy (1)](https://rheodata.com/en-us/blog/tag/enterprise-data-strategy)
- [enterprise goldengate backup solution (1)](https://rheodata.com/en-us/blog/tag/enterprise-goldengate-backup-solution)
- [enterprise manager (1)](https://rheodata.com/en-us/blog/tag/enterprise-manager)
- [exception handling (1)](https://rheodata.com/en-us/blog/tag/exception-handling)
- [experts in oracle goldengate (1)](https://rheodata.com/en-us/blog/tag/experts-in-oracle-goldengate)
- [extract changes (1)](https://rheodata.com/en-us/blog/tag/extract-changes)
- [extract load transform (1)](https://rheodata.com/en-us/blog/tag/extract-load-transform)
- [extract transform load (1)](https://rheodata.com/en-us/blog/tag/extract-transform-load)
- [failures (1)](https://rheodata.com/en-us/blog/tag/failures)
- [fintech postgreSQL (1)](https://rheodata.com/en-us/blog/tag/fintech-postgresql)
- [firewalld goldengate (1)](https://rheodata.com/en-us/blog/tag/firewalld-goldengate)
- [firewalld microservices (1)](https://rheodata.com/en-us/blog/tag/firewalld-microservices)
- [fivetran (1)](https://rheodata.com/en-us/blog/tag/fivetran)
- [framework (1)](https://rheodata.com/en-us/blog/tag/framework)
- [frameworks (1)](https://rheodata.com/en-us/blog/tag/frameworks)
- [free tools (1)](https://rheodata.com/en-us/blog/tag/free-tools)
- [fresh data (1)](https://rheodata.com/en-us/blog/tag/fresh-data)
- [gemini (1)](https://rheodata.com/en-us/blog/tag/gemini)
- [genai (1)](https://rheodata.com/en-us/blog/tag/genai)
- [general information (1)](https://rheodata.com/en-us/blog/tag/general-information)
- [ggsci (1)](https://rheodata.com/en-us/blog/tag/ggsci)
- [ggsmon (1)](https://rheodata.com/en-us/blog/tag/ggsmon)
- [goldengate active passive (1)](https://rheodata.com/en-us/blog/tag/goldengate-active-passive)
- [goldengate backup automation (1)](https://rheodata.com/en-us/blog/tag/goldengate-backup-automation)
- [goldengate bug (1)](https://rheodata.com/en-us/blog/tag/goldengate-bug)
- [goldengate errors (1)](https://rheodata.com/en-us/blog/tag/goldengate-errors)
- [goldengate experts (1)](https://rheodata.com/en-us/blog/tag/goldengate-experts)
- [goldengate free (1)](https://rheodata.com/en-us/blog/tag/goldengate-free)
- [goldengate github integration (1)](https://rheodata.com/en-us/blog/tag/goldengate-github-integration)
- [goldengate high availiability (1)](https://rheodata.com/en-us/blog/tag/goldengate-high-availiability)
- [goldengate maa (1)](https://rheodata.com/en-us/blog/tag/goldengate-maa)
- [goldengate microservices port (1)](https://rheodata.com/en-us/blog/tag/goldengate-microservices-port)
- [goldengate microservices ports (1)](https://rheodata.com/en-us/blog/tag/goldengate-microservices-ports)
- [goldengate ogg-02028 (1)](https://rheodata.com/en-us/blog/tag/goldengate-ogg-02028)
- [goldengate parameter file backup (1)](https://rheodata.com/en-us/blog/tag/goldengate-parameter-file-backup)
- [google cloudsql (1)](https://rheodata.com/en-us/blog/tag/google-cloudsql)
- [google mysql migration (1)](https://rheodata.com/en-us/blog/tag/google-mysql-migration)
- [heatwave experts (1)](https://rheodata.com/en-us/blog/tag/heatwave-experts)
- [high performance mysql (1)](https://rheodata.com/en-us/blog/tag/high-performance-mysql)
- [human creativity AI (1)](https://rheodata.com/en-us/blog/tag/human-creativity-ai)
- [human vs AI writing (1)](https://rheodata.com/en-us/blog/tag/human-vs-ai-writing)
- [hybrid cloud data architecture (1)](https://rheodata.com/en-us/blog/tag/hybrid-cloud-data-architecture)
- [integrated extract oracle (1)](https://rheodata.com/en-us/blog/tag/integrated-extract-oracle)
- [integrated replicat oracle (1)](https://rheodata.com/en-us/blog/tag/integrated-replicat-oracle)
- [lic (1)](https://rheodata.com/en-us/blog/tag/lic)
- [license (1)](https://rheodata.com/en-us/blog/tag/license)
- [logmnr\_session$ (1)](https://rheodata.com/en-us/blog/tag/logmnr_session)
- [managed service provider (1)](https://rheodata.com/en-us/blog/tag/managed-service-provider)
- [managed services for database teams (1)](https://rheodata.com/en-us/blog/tag/managed-services-for-database-teams)
- [management (1)](https://rheodata.com/en-us/blog/tag/management)
- [migration compatibility validation (1)](https://rheodata.com/en-us/blog/tag/migration-compatibility-validation)
- [monitor oracle goldengate rest api (1)](https://rheodata.com/en-us/blog/tag/monitor-oracle-goldengate-rest-api)
- [monolithic database architecture (1)](https://rheodata.com/en-us/blog/tag/monolithic-database-architecture)
- [move off of oracle (1)](https://rheodata.com/en-us/blog/tag/move-off-of-oracle)
- [multi-cloud data platform (1)](https://rheodata.com/en-us/blog/tag/multi-cloud-data-platform)
- [oci bastion (1)](https://rheodata.com/en-us/blog/tag/oci-bastion)
- [oem emd360 (1)](https://rheodata.com/en-us/blog/tag/oem-emd360)
- [ogg deployments (1)](https://rheodata.com/en-us/blog/tag/ogg-deployments)
- [open table format (1)](https://rheodata.com/en-us/blog/tag/open-table-format)
- [oracle database (1)](https://rheodata.com/en-us/blog/tag/oracle-database)
- [preventing tech employee attrition (1)](https://rheodata.com/en-us/blog/tag/preventing-tech-employee-attrition)
- [reducing on-call burnout (1)](https://rheodata.com/en-us/blog/tag/reducing-on-call-burnout)
- [securing Oracle GoldenGate on SQL Server (1)](https://rheodata.com/en-us/blog/tag/securing-oracle-goldengate-on-sql-server)
- [tech team burnout (1)](https://rheodata.com/en-us/blog/tag/tech-team-burnout)
- [thought leadership (1)](https://rheodata.com/en-us/blog/tag/thought-leadership)
- [vector database consolidation (1)](https://rheodata.com/en-us/blog/tag/vector-database-consolidation)

See all

- <https://rheodata.com/en-us/blog/tag/19c/page/0>
- [1](https://rheodata.com/en-us/blog)
- [2](https://rheodata.com/en-us/blog/tag/19c/page/2)
- [3](https://rheodata.com/en-us/blog/tag/19c/page/3)
- <https://rheodata.com/en-us/blog/tag/19c/page/2>

##### About RheoData

 RheoData is based out of Metro Atlanta, GA and provide expert Oracle, Microsoft, Google, and Snowflake services.  Let us  know how we can help!

##### Links

- [About Us](https://rheodata.com/who-we-are)
- [FrostCore](https://rheodata.com/frostcore)
- [RedCore](https://rheodata.com/redcore)
- [BlueCore](https://rheodata.com/bluecore)

##### Contact us

[hello@rheodata.com](mailto:hello@rheodata.com)

©RheoData2026. All Rights Reserved.

```json
{
  "@context" : "https://schema.org",
  "@type" : "Organization",
  "address" : {
    "@type" : "PostalAddress",
    "addressCountry" : "US",
    "addressRegion" : "GA"
  },
  "description" : "Elite specialist partner for Oracle, Snowflake, BigQuery, and AI-ready data platforms.",
  "email" : "hello@rheodata.com",
  "foundingDate" : "2020",
  "logo" : "https://rheodata.com/hubfs/RheoData%20-%20Logo%20-%20transparent-1.png",
  "name" : "RheoData",
  "sameAs" : [ "https://www.linkedin.com/company/rheodata" ],
  "url" : "https://rheodata.com"
}
```

```json
{
  "@context" : "https://schema.org",
  "@type" : "WebSite",
  "name" : "RheoData",
  "potentialAction" : {
    "@type" : "SearchAction",
    "query-input" : "required name=search_term_string",
    "target" : "https://rheodata.com/search?q={search_term_string}"
  },
  "url" : "https://rheodata.com"
}
```

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "",
    "url" : ""
  },
  "dateModified" : "2026-04-17T17:31:04+0000",
  "datePublished" : "2025-10-30T17:41:53+0000",
  "description" : "19c | RheoData Blog Posts",
  "headline" : "&lt;span id=&quot;hs_cos_wrapper_name&quot; class=&quot;hs_cos_wrapper hs_cos_wrapper_meta_field hs_cos_wrapper_type_text&quot; style=&quot;&quot; data-hs-cos-general-type=&quot;meta_field&quot; data-hs-cos-type=&quot;text&quot; &gt;rheodata_blog listing page&lt;/span&gt;",
  "image" : "",
  "mainEntityOfPage" : {
    "@id" : "https://rheodata.com/en-us/blog/tag/19c",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://rheodata.com/hubfs/RheoData%20-%20Logo%20-%20transparent-1.png"
    },
    "name" : "RheoData"
  }
}
```

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "articleBody" : "Introduction Exception handling is one of the basic yet advance features that Oracle GoldenGate can do. This allows the Oracle GoldenGate processes to keep running when errors happen and time for administrators to evaluate the errors. This blog post is meant to show the basics of exception handling by using a macro within the Oracle GoldenGate (Microservices) environment. A word of caution needs to be given though. This approach will not work on Oracle GoldenGate Service (GGS) within OCI. This is due to not having access to the underlying host where the parameter files and trail files are stored. Hopefully, in the coming time, the Oracle GoldenGate Product Team will allow this. Yet, please remember that GGS is a “service”. Exception Table(s) Info An exception table is one of two things: A matching table to the table being replicated. A master exception table that is used to track where the exception happens. Exception Table This version of the exception table (master table approach) will capture details of an error based on the information that is passed in the trail file when the error occurred. This information can be used to identify where and what trail file should be reviewed to identify the data that may not have been processed. accept ggate_user char prompt 'GoldenGate User Name: ' drop table &amp;&amp;ggate_user..exceptions / create table &amp;&amp;ggate_user..exceptions ( EXCEPTION_ID NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY START WITH 100 , EXCEPTION_TS TIMESTAMP(6) default systimestamp , EXCEPTION_STATUS VARCHAR2(15) , REP_NAME VARCHAR2(8) , TABLE_NAME VARCHAR2(61) , BEFORE_AFTER VARCHAR2(32) , OPTYPE VARCHAR2(20) , TRANSIND VARCHAR2(20) , LOGCSN NUMBER , FILESEQNO NUMBER , FILERBA NUMBER , LOGRBA NUMBER , LOGPOSITION NUMBER , COMMITTIMESTAMP TIMESTAMP(6) , ERRTYPE VARCHAR2(20) , ERRNO NUMBER , DBERRMSG VARCHAR2(4000) ,CONSTRAINT exception_pk PRIMARY KEY (EXCEPTION_ID) ) / Show Errors Exception Macro The exceptions macro will be processed by the replicat and used to populate the exceptions table. Within an Oracle GoldenGate (Microservices) deployment (non-OCI), a macro should be placed in a directory where it can be referenced by the replicat. In this instance, the $OGG_ETC_HOME/conf/ogg directory can be used. Simply add a sub-directory called mac or dirmac. Within this directory, add the file “exceptions.mac” and the contents should be as follows: MACRO #exception_handler PARAMS(#ggate_user) BEGIN , TARGET #ggate_user.exceptions , COLMAP ( exception_id = 0 , exception_ts =  , exception_status =  , rep_name = @GETENV (GGENVIRONMENT, GROUPNAME) , table_name = @GETENV (GGHEADER, TABLENAME) , before_after = @GETENV (GGHEADER, BEFOREAFTERINDICATOR) , optype = @GETENV (LASTERR, OPTYPE) , transind = @GETENV ( GGHEADER, TRANSACTIONINDICATOR) , logcsn = @GETENV (TRANSACTION, CSN) , fileseqno = @GETENV (RECORD, FILESEQNO) , filerba = @GETENV (RECORD, FILERBA) , logrba = @GETENV (GGHEADER, LOGRBA) , logposition = @GETENV (GGHEADER, LOGPOSITION) , committimestamp = @GETENV (GGHEADER, COMMITTIMESTAMP) , errtype = @GETENV (LASTERR, ERRTYPE) , errno = @GETENV (LASTERR, DBERRNUM) , dberrmsg = @GETENV (LASTERR, DBERRMSG) ) , INSERTALLRECORDS , EXCEPTIONSONLY END; Update Replicat Once the exception macro is in place; the replicat needs to be updated to reflect the location and how errors should be handled. This is done with the INCLUDE and REPERROR parameters. In the parameter file as example below, this will configure exceptions for all schemas/tables in replication. The last thing that needs to be done is to write corresponding map statements that will use the mac. REPLICAT REPPDB2 USERIDALIAS TargetPDB DOMAIN OracleGoldenGate INCLUDE mac/exceptions.mac REPERROR(DEFAULT, EXCEPTION) REPERROR(DEFAULT2, ABEND) DDLERROR DEFAULT IGNORE DDL DDLOPTIONS UPDATEMETADATA MAP DEVDB_PDB1.TPC.*, TARGET TPC.*; MAP DEVDB_PDB1.TPC.*, #exception_handler(ggate); MAP DEVDB_PDB1.TPC1.*, TARGET TPC1.*; MAP DEVDB_PDB1.TPC1.*, #exception_handler(ggate); Now you can capture errors while processing is on-going without a replicat abending.",
  "author" : {
    "@type" : "Person",
    "name" : "Bobby Curtis",
    "sameAs" : "",
    "url" : "https://rheodata.com/en-us/blog/author/bobby-curtis"
  },
  "dateModified" : "10/11/2025",
  "datePublished" : "10/11/2025",
  "headline" : "Basic error handling with Exception Table",
  "image" : {
    "@type" : "ImageObject",
    "height" : 400,
    "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/Imported_Blog_Media/exception_handling-1.jpg",
    "width" : 750
  },
  "mainEntityOfPage" : "https://rheodata.com/en-us/blog/exception_table",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/RheoData%20-%20Logo%20-%20transparent-1.png"
    },
    "name" : "RheoData",
    "url" : "rheodata.com"
  }
}
```

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "articleBody" : "With Oracle GoldenGate there are times when you want to know the number of DML that is being pushed through the system. Oracle provides this through the STATS command from within AdminClient (new GGSCI); but what if you want to capture this information on the fly while processing is happening. How would you accomplish this? In this post, I’ll outline what I did for a customer to help them achieve this use-case and provide some feedback. The items used are completely customizable and can be used for any environment. As I started to break down this use-case, I wanted to do something that wasn’t tied directly to the replicat process, but would get the information as it was flowing in and then place it into a table called HIST_STATS. The goal was to capture the amount of DML coming in on a timed basis. The table HIST_STATS is setup as follows: create table tpc1.hist_stats ( table_name varchar2(30), op_date timestamp, inserts number, updates number, deletes number, truncates number, primary key (table_name, op_date) ); Notice that the table is in the TPC1 schema, but in reality it can be in any schema that Oracle GoldenGate has access to. I just choose to put it the same schema as the target tables. At the same time, the PK is set to be table_name and operations date (op_date). This is to ensure that I get all the tables at least once and order the stats by date when they come in. Outside of the PK, I’m just capturing the standard DML (inserts, updates, deletes, and truncates). Keep in mind that truncates really are DDL within Oracle GoldenGate; expectation is that this column should always be zero (0) unless DDL is enabled. With the table set, now I need to configure Oracle GoldenGate to apply this information from the trail file that the replicat reads. The easiest way of doing this is to use the header information in the trail file. I have written a previous blog post on this over on dbasolved.com, check it out. In order to read this information and place it into the HIST_STATS table, the approach I took was to use a macro. The macro that I defined was the following: MACRO #stats_handler PARAMS(#user) BEGIN , TARGET #user.hist_stats , COLMAP ( table_name = @GETENV ('GGHEADER', 'TABLENAME') , op_date = @DATE ('YYYYMMDD HH:MI:SS', 'JTS', @GETENV('JULIANTIMESTAMP')) , inserts = @GETENV ('STATS', 'TABLE', '#user.*','INSERT') , updates = @GETENV ('STATS', 'TABLE', '#user.*','UPDATE') , deletes = @GETENV ('STATS', 'TABLE', '#user.*','DELETE') , truncates = @GETENV ('STATS', 'TABLE', '#user.*','TRUNCATE') ) END; Macros are great for compartmentalizing logic needed to do things within Oracle GoldenGate. They allow GoldenGate Administrators to simplify and automate work within the replication stream (more information here). I’m not going to spend a lot of time explain this macro, but the general definition of it is that I’m capturing the information I’m looking for out of the trail file header using the @GETENV command and mapping it to the target table of HIST_STATS. One thing to note is that the #user is a variable that is being passed to the macro. This allows for the macro to be used anywhere with any schema (doesn’t hard code the user information). At the same time, getting the date down to the second to make sure data is unique for the stats captured. With the macro created, it now needs to be mapped directly into the replicat. This is done by using the INCLUDE option, then adding a MAP statement that calls the macro. replicat REP useridalias PDBGGATE domain OracleGoldenGate REPERROR(1403, discard) REPERROR(1, discard) INCLUDE ./dirmac/stats.mac MAP devdb1.tpc.*, #stats_handler(tpc1); MAP devdb1.tpc.*, TARGET tpc1.*; When you looking at the parameter file for the replicat, you see that there is a directory called dirmac. This is a customer directory that I use to store the macros. Within Oracle GoldenGate Microservices, which I was using, this directory needs to be created under $DEPLOYMENT_HOME/etc/conf/ogg. This is the default location for parameter files within the Microservices architecture. Once this is created and the macro located there, then the next line is a MAP statement that tells GoldenGate that for every table coming in insert the DML stats by calling the macro. This happens before data is actually applied to the tables in the second MAP statement. As data is flowing, you will be able to query the HIST_STATS table and validate that data and DML stats are coming in. In the example below, I’m querying the HIST_STATS table to show only a single table: select * from tpc1.hist_stats where table_name like ‘%ORDERS’ order by op_date asc; The results returned are similar to the image: As you can tell, I can quickly tell the number of cumulative inserts and updates that are happening on the Orders table every second. There is more that can be done with this to find out the insert/update differences per second, but for the general use-case purposes this shows how it can be done. Enjoy!!!",
  "author" : {
    "@type" : "Person",
    "name" : "Bobby Curtis",
    "sameAs" : "",
    "url" : "https://rheodata.com/en-us/blog/author/bobby-curtis"
  },
  "dateModified" : "10/11/2025",
  "datePublished" : "10/11/2025",
  "headline" : "Capturing Stats by time",
  "image" : {
    "@type" : "ImageObject",
    "height" : 400,
    "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/Imported_Blog_Media/macro_stats_hist-1.png",
    "width" : 750
  },
  "mainEntityOfPage" : "https://rheodata.com/en-us/blog/capturing-stats-by-time",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/RheoData%20-%20Logo%20-%20transparent-1.png"
    },
    "name" : "RheoData",
    "url" : "rheodata.com"
  }
}
```

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "articleBody" : "Something that has been brewing for years – since late 2017 – is the constant request from Oracle customers on how to capture data from PostgreSQL databases. Many of Oracle’s customers are either moving towards PostgreSQL and off of Oracle or looking for another way to pull data from PostgreSQL into their Oracle Data Warehouses. In either case, Oracle has finally gotten around to releasing a fully supported version of Oracle GoldenGate for PostgreSQL, meaning that customers can now capture (extract) and apply (replicat) data from PostgreSQL 10 and later. The downside to this is that Oracle released it in “Classic” architecture instead of the “Microservices” architecture. Meaning customers still do not have access to remote administration capabilities and will have to rely on server access. A positive though is that this version of Oracle GoldenGate can be used in a hub-n-spoke architecture and for bi-directional replication. I will not be covering those topics though. Let’s get started … Prerequisites: As with anything there is always a set of prerequisites that are needed before you can proceed with an installation. In this cases, it holds true – the Oracle docs don’t even cover a good bit of these, but with a little help I was able to resolve what was needed. Linux Packages: PostgreSQL#-contrib – this package is needed to allow you to register the extract with the PostgreSQL database PostgreSQL.conf file changes: These items were interesting and documented in Oracle docs, but remember, after changes the PostgreSQL database must be restarted. wal_level = logicial max_replication_slots = 10 (default) max_wal_sender = 10 (default) wal_receiver_status_interval (optional) wal_sender_timeout (optional) track_commit_timestamp = false (optional) As you can tell Oracle is leveraging the Write Ahead Logging (WAL) parameters to ensure everything is read from the database and transaction logs correctly. Users: Just like typical Oracle GoldenGate setup, you must define a user that will be used for Oracle GoldenGate. In my setups, I typically name the user “ggate” but this user can be named anything. The key here is to ensure the right privileges are assigned. To setup an Oracle GoldenGate user, the following can be ran against a PostgreSQL database: create user ggate with password 'ggate' login; alter user ggate with replication; Environment Variables: There are a slew of environment variables that will need to be set to ensure that replication works. What is listed below is what I had to setup to ensure it all worked. Mileage will vary. export PG_HOME=/usr/pgsql-12 export OGG_HOME=/opt/app/oracle/19.1.0/oggcore_1 export ODBCINI=/home/oracle/odbc.ini export LD_LIBRARY_PATH=$PG_HOME/lib:$OGG_HOME/lib:$LD_LIBRARY_PATH export PATH=$ODBCINI:$PATH A couple of things to note here. The $PG_HOME must be in the $LD_LIBRARY_PATH. The $ODBCINI file location must be in the $PATH. These items can be easily setup in the .bashrc or .bash_profile for your environment. ODBC.ini file: Oracle GoldenGate uses the ODBC.ini file to connect to the PostgreSQL database. This file has to be configured and located by using the $ODBCINI environment variable. For simplicity of this blog, a little, I’m not going to post what it should look like. You can fine details within the Oracle docs -&gt; here. Setting up replication: With all the prerequisites established, replication can be setup the exact same as any other Oracle GoldenGate “Classic” environment. The steps are similar to these below. Extract: 1. Install Oracle GoldenGate software – unzip/untar in the $OGG_HOME of choice. Then open GGSCI and run CREATE SUBDIRS (./GGSCI) + (CREATE SUBDIRS) 2. Edit the MGR parameter file (EDIT PARAMS MGR), assign port number (default 7809), and start manager (START MGR) 3. Login to the PostgreSQL databases as your GoldenGate user (DBLOGIN SOURCEDB USERID PASSWORD ) 4. Register extract with PostgreSQL database (REGISTER EXTRACT ) 5. Add extract (ADD EXTRACT , TRANLOG, BEGIN NOW) 6. Add trail file (ADD EXTTRAIL ./dirdat/aa, EXTRACT ) 7. Edit parameter file for extract (EDIT PARAMS ) 8. Add Trandata (ADD TRANDATA .) 10. Validate that MGR and EXTRACT have been started (INFO ALL) Replicat: 1. Create the GoldenGate schema inside of the PostgreSQL database (CREATE SCHEMA ) 2. Login to the PostgreSQL database (DBLOGIN SOURCEDB USERID PASSWORD ) 3. Add Checkpoint Table (ADD CHECKPOINTTABLE .) 4. Add Replicat (ADD REPLICAT , EXTTRAIL ./dirdat/aa, CHECKPOINTTABLE .) 5. Start Replicat (START REPLICAT ) 6. Check status of Replicat (INFO ALL) What you didn’t see/Summary: In the examples above, what was missing is the Data Pump Extract. Since I was configuring the movement of data on a single server with a single PostgreSQL database to two (2) different schemas, the Data Pump Extract was not needed. If you plan on moving data between sites, the Data Pump Extract is needed to route the trail files correctly. Another option is to configure Oracle GoldenGate in the hub-n-spoke architecture and the same approach as above can be followed and simply use the remote-capture/remote-apply functionality. In closing, Oracle has finally answered the call from customers by allowing them to capture and apply within a PostgreSQL environment. This brings the replication standard of reliable replication to a development platform as well as enabling organizations to maximize their data movement strategies. Enjoy!!) 9. Start MGR and EXTRACT (START MGR) + (START EXTRACT",
  "author" : {
    "@type" : "Person",
    "name" : "Bobby Curtis",
    "sameAs" : "",
    "url" : "https://rheodata.com/en-us/blog/author/bobby-curtis"
  },
  "dateModified" : "10/11/2025",
  "datePublished" : "10/11/2025",
  "headline" : "Replicating PostgreSQL data using Oracle GoldenGate",
  "image" : {
    "@type" : "ImageObject",
    "height" : 400,
    "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/Imported_Blog_Media/blog-feature-Logo-Oct-31-2025-04-57-26-6962-PM.png",
    "width" : 750
  },
  "mainEntityOfPage" : "https://rheodata.com/en-us/blog/replicating-postgresql-data-using-oracle-goldengate",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/RheoData%20-%20Logo%20-%20transparent-1.png"
    },
    "name" : "RheoData",
    "url" : "rheodata.com"
  }
}
```

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "articleBody" : "Businesses are constantly finding themselves increasingly reliant on data ingestion, big data, analytics, and following traditional ETL (Extract, Transform, Load) processes; which at times can be a bottleneck to timely business functions. At AWS re:Invent 2023, Amazon recognized this and announced the concept of Zero-ETL. Other companies, such as Snowflake and Salesforce followed suite by launching features that further modernized data integration. In doing research on Zero-ETL and closer scrutiny, the concept of Zero-ETL is more aligned with ‘zero integration’ rather than the removal of ETL from business processes. So what is Zero-ETL? Zero-ETL is a type of data integration that doesn’t involve the use of traditional approaches of extract, transform, and load (ETL). Unlike traditional methods that involve ETL and loading data between systems, Zero-ETL moves data directly from one system to another. It is a a no-frills approach to data transfer, eliminating any need for intermediate steps to clean or modify the data. In essence Zero-ETL is data replication, ensuring almost instant data transfer without the processing hurdles. Zero-ETL is becoming popular? The concept of Zero-ETL has become popular in the data management domain, in part, by the prevailing belief that it acts as a potential substitute for traditional ETL. This perspective have organizations and industries, leading many to consider Zero-ETL as the “next step” or even a “replacement” for ETL. Traditional ETL processes, with their structured approach to ETL (extracting, transforming, and loading), have been foundational in data integration for decades. ETL enabled businesses to harmonize diverse data sources, making them ready for deeper analytical tasks, AI modeling, and ML implementations. With the introduction of zero ETL and its focus on direct data transfers, there’s a new narrative – emphasizing immediate, transformation-free data transfers. This narrative is attractive to many, especially those looking for simpler and quicker data replication solutions. Is the nomenclature of Zero-ETL misleading? With the nomenclature of Zero-ETL, the marketing term is catchy and can quickly lead to discussions; however, this is also a point of contention. The term “Zero-ETL” is more like “Zero-EL.” The technology that embodies the concept of “Zero-EL” concentrates on the extraction and loading stages of the process while sidestepping the transformation step of the process. With the advancement of technologies, the trend of reducing unnecessary data movement is becoming apparent; however, data movement is still required! The technologies and procedures for extracting and loading data are ever evolving and becoming more simplified; but the transformative aspects remain a significant part of the puzzle before the industry can truly embrace “Zero-ETL”. Transformative processes are integral to shaping and repurposing data for operational and analytical needs. Benefits of Zero-ETL: Let’s put aside the catchy marketing terms like “Zero-ETL” for the next few minutes. There is no doubt that the industry is looking for simpler, easier, and efficient way of data movement and data management; there are an array of benefits: Speedy Data Transfer – Promptness of data transfers. Emphasis on direct data movement allows for swift data migrations. This facilitates timely insights and promotes swift decision-making. Simplified Implementation – Leads to quicker setups, minimizes learning curve, and simplified maintenance; enabling a smoother process for integrating new data sources. Cost Efficiency – Capitalize on cloud-native platforms and scalable data integration technologies; leading to cost-effective solution. Enhanced Data Quality – the directness of Zero-ETL can lead to more transparent data transfers. When preserving data integrity is crucial, the direct approach can provide a higher assurance of quality; ensuring data remains consistent and reliable. Real-Time Insights – data is often available in real-time or near-real-time as long as the data needs little transformation, no cleansing, or augmentation. The prompt availability of data can yield more accurate analytics, optimized AL/ML trianing, and ensuring up-to-date reporting. In summary of these benefits, Zero-ETL is rooted in these benefits with an emphasis on immediate data replication. Disadvantages of Zero-ETL: With every new solution, marketing catch phrase, or technology, there is always drawbacks. Zero-ETL is an exciting “concept” and is making a lot of noise in the data community with data engineers and others; yet it is worth looking at some of the disadvantages of this concept. Limited Data Transfer Capabilities – data movement between systems sometime requires intermediate steps; this presents challenges when data requires cleaning, standardization, or complex transformations prior to consumption. Hindering the ability to cater to most data reporting needs. Compromised Data Governance – traditionally, ETL solutions are equipped with controls to safeguard and uphold the quality of the data transfers. Zero-ETL leans on the systems that are involved in the transfer to manage the critical tasks. Restricted Integration Potential – the Zero-ETL concept is characterized by its direct data transfer between systems; which can be a limiting factor when the systems involved are outside of the particular ecosystem. This confinement can restirict the integration mechanism, potentialy leaving out valuable data sources. When could Zero-ETL be the right approach? Like all technologies and concepts that come to market, the efficacy of Zero-ETL hinges on understand the benefits and disadvantages. The two concepts, where organizations and industries could leverage Zero-ETL are: Instant Replication: Scenario: Organizations resort to defined ETL solutions to transfer data from transactional databases to a central data repository. Zero-ETL Application: Zero-ETL can function as a data replication instrument, enabling Change-Data-Capture (CDC) techinques to directly mirror data into a data warehouse. Streaming Ingestion: Scenario: Organization relies on real-time data inputs from a myriad of sources. Data must be immediatly accessible for analytics purpose without intermediate storage or transformation. Zero-ETL Application: Data streaming and message queuing platforms channel real-time data. Integrating Zero-ETL methodology with a data warehouse, data from input streams become immediately available for analytics Where or what tools does Oracle offer that support Zero-ETL? In the Oracle eco-system, the underlying concepts of Zero-ETL have always existed within Oracle Data Integration stack. Over time, the associated data integration stack has changed between on-premise and cloud; and the terms that Oracle use are around “data mesh” and many other terms. The Oracle products that can help organizations enable the concept of Zero-ETL are: On-premises: Oracle GoldenGate (all versions and free) Oracle Data Integrator (ODI) Oracle Database (converge database) Cloud: Oracle GoldenGate Service (GGS) Oracle Autonomous Database (ADW/ATP/AJD) Oracle MySQL Heatwave (OLTP and OLAP in same database) Conclusion: New terms and technologies emerge on a regular basis and capture the attention of decision-makers and practitioners alike. With all trends, it is critical to evaluate each trend before diving in. Understanding the core functionality, strengths, and limitation of the tools that enable Zero-ETL is vital. Every tool and technique has its place, the key to discerning is how, when, and where to apply them the best. Don’t always buy into the hype and find more of a fit for the concept and use the correct technologies.",
  "author" : {
    "@type" : "Person",
    "name" : "Bobby Curtis",
    "sameAs" : "",
    "url" : "https://rheodata.com/en-us/blog/author/bobby-curtis"
  },
  "dateModified" : "10/11/2025",
  "datePublished" : "10/11/2025",
  "headline" : "Zero-ETL: What is it and what Oracle products support it",
  "image" : {
    "@type" : "ImageObject",
    "height" : 400,
    "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/Imported_Blog_Media/zero-etl-1.png",
    "width" : 750
  },
  "mainEntityOfPage" : "https://rheodata.com/en-us/blog/zero-etl",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/RheoData%20-%20Logo%20-%20transparent-1.png"
    },
    "name" : "RheoData",
    "url" : "rheodata.com"
  }
}
```

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "articleBody" : "When installed, Oracle GoldenGat (Microservices) will set up “services” that require a port number for access. For the first run of the Oracle GoldenGate Configuration Assistant (OGGCA), the assistant will create the ServiceManager (1 port) and the first deployment (5 ports). That means six ports would need to be opened on a firewall to run a single Oracle GoldenGate (Microservices) deployment. This only increases by five ports for each deployment built under a single ServiceManager. To address this, an open-source solution called NGINX allows all the ports within the deployment to be consolidated to a single port. The single port that can be used with NGINX is either 80 (HTTP) or 443 (HTTPS); which will enable Oracle GoldenGate (Microservices) to be used over a standard firewall port Downloading Binaries The NGINX binaries need to be downloaded regardless of where you install Oracle GoldenGate (Microservices). For Oracle Enterprise Linux, I documented the process here. When you start to expand the installation base for Microservices, the installation of NGINX becomes similar yet different. To install NGINX on an RedHat Linux 7.2 , the following steps should be followed. 1. SSH into the RedHat instance $ ssh @ 2. Sudo to Root $ sudo su – 3. Install and Confirm installation $ yum -y install nginx &amp;&amp; yum list install nginx After installing the NGINX the next thing that must be done is to configure it against the Oracle GoldenGate (Microservices) environment. Configure NGINX Oracle has made it easy for Oracle GoldenGate administrators to configure the NGINX interface after the installation. They provided a script called “ReverseProxySettings” in the $OGG_HOME/lib/utl directory. This script is used to build the Nginx configuration file based on the deployments running on the AWS EC2 node. The steps to configure the reverse proxy are as follows: 1. Change to the Reverse Proxy directory under $OGG_HOME $ cd $OGG_HOME/lib/utl/reverseproxy 2. Run ReverseProxySettings with options (unsecure access) $ ./ReverseProxySettings -u oggadmin -P -o ogg.conf http://localhost: 3. Copy the config file to the NGINX directory $ sudo cp ogg.conf /etc/nginx/conf.d/nginx.conf 4. Create a dummy cert $ sudo sh /etc/ssl/certs/make-dummy-cert /etc/nginx/ogg.pem 5. Start NGINX $ sudo nginx &amp; 6. Test/validate NGINX config $ sudo nginx -t 7. Reload NGINX $ sudo nginx -s reload 8. Access the ServiceManager and other services without port numbers Note: The ogg.pem must be downloaded and uploaded to your local cert wallet to access via a web browser. End Result Once everything with the NGINX is configured, Oracle GoldenGate (Microservices) can be accessed by URL using the standard port of 80 (HTTP) or 443 (HTTPS). This enables Oracle GoldenGate (Microservices) environments to be accessed over standard firewall rules.",
  "author" : {
    "@type" : "Person",
    "name" : "Bobby Curtis",
    "sameAs" : "",
    "url" : "https://rheodata.com/en-us/blog/author/bobby-curtis"
  },
  "dateModified" : "10/11/2025",
  "datePublished" : "10/11/2025",
  "headline" : "Configuring Nginx on RedHat Linux 7.9 for Oracle GoldenGate 21c",
  "image" : {
    "@type" : "ImageObject",
    "height" : 400,
    "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/Imported_Blog_Media/nginx-url-noport-Oct-31-2025-04-51-57-0433-PM.png",
    "width" : 750
  },
  "mainEntityOfPage" : "https://rheodata.com/en-us/blog/configuring-nginx-on-aws-ec2-for-oracle-goldengate-21c-2",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/RheoData%20-%20Logo%20-%20transparent-1.png"
    },
    "name" : "RheoData",
    "url" : "rheodata.com"
  }
}
```

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "articleBody" : "A quick post as a reminder for myself some time down the road. After all, we all need reminders every once in a while! Prior to Oracle Database 12c finding a list of default users within the database was always a pain. In Oracle Database 12c or later, this has become much simpler. Oracle introduced a column on the *_users views that allows the end users to identify what users are maintained by Oracle. This column name is ORACLE_MAINTAINED. The value of the column is either “N” or “Y”. If it is “Y”, then user account is maintained by Oracle. A simple query of the ALL_USERS view will return about 57 different accounts that are maintained by Oracle in Oracle Database 19c (Autonomous Data Warehouse). select * from all_users where oracle_maintained = 'Y' order by username; For more information, the Oracle Database 19c docs can be referenced here.",
  "author" : {
    "@type" : "Person",
    "name" : "Bobby Curtis",
    "sameAs" : "",
    "url" : "https://rheodata.com/en-us/blog/author/bobby-curtis"
  },
  "dateModified" : "10/11/2025",
  "datePublished" : "10/11/2025",
  "headline" : "Identifying Predefined Administrative Accounts in Autonomous Database or any other Oracle database",
  "image" : {
    "@type" : "ImageObject",
    "height" : 400,
    "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/Imported_Blog_Media/identify_predefined_accounts-1024x638-1.png",
    "width" : 750
  },
  "mainEntityOfPage" : "https://rheodata.com/en-us/blog/identifying-predefined-administrative-accounts-in-autonomous-database-or-any-other-oracle-database",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/RheoData%20-%20Logo%20-%20transparent-1.png"
    },
    "name" : "RheoData",
    "url" : "rheodata.com"
  }
}
```

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "articleBody" : "This post is mostly for anyone at RheoData to use get a sense of how the Oracle GoldenGate Monitor Agent needs to be installed. The approach taken is to ensure that it is installed via the -silent process making it easier to install when looking at CI/CD processes and needing to get the agent installed quickly. This post is also intended to be high-level notes for myself for me to look at later if needed. The steps to get Oracle GoldenGate Monitor Agent installed are as follows: 1. Download the Oracle GoldenGate Monitor Agent from OTN (here) 2. Unzip the downloaded zip file in a directory that is easily accessed. $ cd /tmp $ unzip fmw_12.2.1.2.0_ogg_Disk1_1of1.zip -d ./gg_mon 3. Create a response file and add needed information $ cd /tmp/gg_mon $ touch gg_mon.rsp [oracle@rtlvedgo04 gg_agent]$ cat gg_mon.rsp #DO NOT CHANGE THIS. Response File Version=1.0.0.0.0 [GENERIC] #The oracle home location. This can be an existing Oracle Home or a new Oracle Home ORACLE_HOME=/u01/app/oracle/oem_agent/134000/agent_13.4.0.0.0 INSTALL_TYPE=GoldenGate Monitor Agent Installation You have new mail in /var/spool/mail/oracle 4. Confirm Java 8 is available $ which java $ java -version /u01/app/java/jdk1.8.0_202/bin/java 5. Install the Oracle GoldenGate JAgent /u01/app/java/jdk1.8.0_202/bin/java -jar ./fmw_12.2.1.2.0_ogg.jar -silent ./gg_mon.rsp 6. Monitor the installation of Oracle GoldenGate JAgent Launcher log file is /tmp/OraInstall2021-12-06_04-17-03PM/launcher2021-12-06_04-17-03PM.log. Extracting the installer . . . . Done Checking if CPU speed is above 300 MHz. Actual 2100.000 MHz Passed Checking swap space: must be greater than 512 MB. Actual 32767 MB Passed Checking if this platform requires a 64-bit JVM. Actual 64 Passed (64-bit not required) Checking temp space: must be greater than 300 MB. Actual 1038 MB Passed Preparing to launch the Oracle Universal Installer from /tmp/OraInstall2021-12-06_04-17-03PM Log: /tmp/OraInstall2021-12-06_04-17-03PM/install2021-12-06_04-17-03PM.log Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. Reading response file.. Skipping Software Updates Validations are enabled for this session. Verifying data Copying Files Percent Complete : 10 Percent Complete : 20 Percent Complete : 30 Percent Complete : 40 Percent Complete : 50 Percent Complete : 60 Percent Complete : 70 Percent Complete : 80 Percent Complete : 90 Percent Complete : 100 The installation of Oracle Fusion Middleware 12c GoldenGate Monitor &amp; Veridata 12.2.1.2.0 completed successfully. Logs successfully copied to /u01/app/oraInventory/logs. 7. Create the Agent instance $ ./createMonitorAgentInstance.sh Please enter absolute path of Oracle GoldenGate home directory : /u01/app/ogg/oracle19c/19100/core Please enter absolute path of OGG Agent instance : /u01/app/ogg/oracle19c/19100/core/oggmon_agent/12.2.1.2/agent_inst Please enter unique name to replace timestamp in startMonitorAgent script (startMonitorAgentInstance_20211206163005.sh) : Successfully created OGG Agent instance. 8. Create the wallet for the Agent $ cd /u01/app/ogg/oracle19c/19100/core/oggmon_agent/12.2.1.2/agent_inst $ cd bin $ export JAVA_HOME=/u01/app/java/jdk1.8.0_202 $ ./pw_agent_util.sh -jagentonly Please create a password for Java Agent: Please confirm password for Java Agent: Dec 06, 2021 4:33:10 PM oracle.security.jps.JpsStartup start INFO: Jps initializing. Dec 06, 2021 4:33:10 PM oracle.security.jps.JpsStartup start INFO: Jps started. Wallet is created successfully. 9. Adjust the Agent to the environment where you are running it $ cat ./Config.properties | egrep -v ^#|^$ jagent.host=localhost jagent.jmx.port=5555 interval.regular=60 interval.quick=30 monitor.host=localhost monitor.jmx.port=5502 monitor.jmx.username=oggmsjmxusr jagent.username=oggmajmxusr reg.retry.interval=10 instance.query.initial.interval=5 incremental.registration.quiet.interval=5 maximum.message.retrieval=500 jagent.rmi.port=5559 agent.type.enabled=OEM status.polling.interval=5 message.polling.interval=5 reg.retry.times=-1 jagent.backward.compatibility=false jagent.ssl=false jagent.keystore.file=jagentKeyStore jagent.truststore.file=jagentKeyStore jagent.restful.ws.timeout=15000 jagent.ggsci.timeout=30 10. Enable monitoring in the GLOBALS file $ cd $OGG_HOME $ vi GLOBALS Add the parameter ENABLEMONITORING to the GLOBALS file. 11. Access GGSCI and verify that the JAGENT is available and start it if needed. $ ./ggsci Oracle GoldenGate Command Interpreter for Oracle Version 19.1.0.0.4 OGGCORE_19.1.0.0.0_PLATFORMS_191017.1054_FBO Linux, x64, 64bit (optimized), Oracle 19c on Oct 17 2019 21:16:29 Operating system character set identified as UTF-8. Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved. GGSCI (rtlvedgo04.labcorp.com) 1&gt; info jagent JAgent is running. GGSCI (rtlvedgo04.labcorp.com) 2&gt; info all Program Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNING JAGENT RUNNING PMSRVR STOPPED Note: in the above example, when using Oracle GoldenGate 12.3 or later the ENABLEMONITORING parameter will also enable Performance Metric Service. After confirming that the JAgent has been started, you are done. Hope this helps! Enjoy!!",
  "author" : {
    "@type" : "Person",
    "name" : "Bobby Curtis",
    "sameAs" : "",
    "url" : "https://rheodata.com/en-us/blog/author/bobby-curtis"
  },
  "dateModified" : "10/11/2025",
  "datePublished" : "10/11/2025",
  "headline" : "Installing Oracle GoldenGate Monitor Agent 12.2.1.2 – Silent",
  "image" : {
    "@type" : "ImageObject",
    "height" : 400,
    "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/Imported_Blog_Media/blog-feature-Logo-Oct-31-2025-04-57-26-6962-PM.png",
    "width" : 750
  },
  "mainEntityOfPage" : "https://rheodata.com/en-us/blog/installing-oracle-goldengate-monitor-agent-12-2-1-2-silent",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/RheoData%20-%20Logo%20-%20transparent-1.png"
    },
    "name" : "RheoData",
    "url" : "rheodata.com"
  }
}
```

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "articleBody" : "After installing Oracle GoldenGate with a manual ServiceManager, you realize that the ServiceManager will not come back up on a reboot. Although this can be annoying, Oracle GoldenGate is doing what it was asked to. Additionally, after the ServiceManager has been configured, there is no way to convert the ServiceManager to daemon process, unless they whole deployment is rebuilt. I came up with a way to start Oracle GoldenGate’s ServiceManager through using the Linux SystemCTL process. By using systemctl, a manual ServiceManager can be turned into a rebootable service. Let’s look at how this is done. Shell Script The first thing that needs to be done is to produce a shell script that will call the startSM.sh script. The startSM.sh script is provide by Oracle to start the ServiceManager, but there are a few environment variables that must be set before it can be ran. By writing a wrapper script to call the startSM.sh script, all that can be done in a single pass. The contents of the script is as follows: File 1: startServiceManager.sh #!/bin/bash # Copyright (c) 2020 RheoData, LLC and/or its affiliates. All rights reserved. # # Since: March 2019 # Author: bobby@rheodata.com # Description: Start ServiceManager # # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. # export OGG_HOME=/opt/app/oracle/product/21.3.0/oggcore_21c export DEPLOYMENT_HOME=/opt/app/oracle/gg_deployments/ServiceManager export OGG_ETC_HOME=/opt/app/oracle/gg_deployments/ServiceManager/etc export OGG_VAR_HOME=/opt/app/oracle/gg_deployments/ServiceManager/var echo Starting ServiceManager $DEPLOYMENT_HOME/bin/startSM.sh echo Done By looking at the startServiceManager.sh script, it clearly pointed out that the $OGG_HOME, $DEPLOYMENT_HOME, $OGG_ETC_HOME, and $OGG_VAR_HOME are defined. These are the environment variables that are needed to bring up the ServiceManager. Service File The next thing that needs to be configured is the service file. This file is used by systemd process to interact with the service. This file is broken down into three parts – Unit, Service, Install. The Unit section holds the description and other items that describe the service. The Service section is where we define the type, user, group and the shell script that will be executed. In this case, we are calling startServiceManage.sh. File 2: ServiceManager.service [Unit] Description=Oracle GoldenGate 21c ServiceManager Control [Service] Type=forking User=oracle Group=oinstall ExecStart=/bin/bash /home/oracle/scripts/startServiceManager.sh [Install] WantedBy=multi-user.target Once this file is create, it needs to be save to /etc/systemd/system directory. This is the default location for all the services that are running on RHEL/OEL. Create the Service With the shell script and services file create, now is the time to create the service itself. This process is straight forward. $sudo su – $systemctl daemon-reload $systemctl enable ServiceManager.service Since this is a new service that is being created, the daemons must be reloaded. This pulls in the ServiceManager.service file to the systemd process. Then the enable call will create a symbolic link between the ServiceManager.service file in /etc/systemd/system/multi-user.target.wants and the same file in /etc/system/system. After the service is enabled, we can force the ServiceManager down by simply killing the process. Don’t worry any associated deployments services and extract/replicat process will stay running. With the ServiceManager down, start it back up with the new services; with: $sudo su – $systemctl start ServiceManager Check the Service If everything is working, the ServiceManager will be brought up and accessible. The status of the ServiceManager can then be checked using the status option of systemctl. $sudo su – $systemctl status ServiceManager $ systemctl status ServiceManager ● ServiceManager.service - Oracle GoldenGate 21c ServiceManager Control Loaded: loaded (/etc/systemd/system/ServiceManager.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2023-01-31 17:21:34 GMT; 3h 15min ago Main PID: 22414 (ServiceManager) CGroup: /system.slice/ServiceManager.service └─22414 /opt/app/oracle/product/21.3.0/oggcore_21c/bin/ServiceManager –quiet This is how you convert a manual start ServiceManager into a ServiceManager that will be started on reboot.",
  "author" : {
    "@type" : "Person",
    "name" : "rheostage5132",
    "sameAs" : "",
    "url" : "https://rheodata.com/en-us/blog/author/rheostage5132"
  },
  "dateModified" : "10/11/2025",
  "datePublished" : "10/11/2025",
  "headline" : "Configure Oracle GoldenGate’s ServiceManager as a Linux Service",
  "image" : {
    "@type" : "ImageObject",
    "height" : 400,
    "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/Imported_Blog_Media/rd_configure_sm_service-1024x553-1.png",
    "width" : 750
  },
  "mainEntityOfPage" : "https://rheodata.com/en-us/blog/configure-oracle-goldengates-servicemanager-as-a-linux-service",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/RheoData%20-%20Logo%20-%20transparent-1.png"
    },
    "name" : "RheoData",
    "url" : "rheodata.com"
  }
}
```

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "articleBody" : "Once you have an up and running Oracle GoldenGate Microservices environment, there may come a time when you need to add another deployment to the enviornment. Adding deployments is easily done using Oracle GoldenGate Configuration Assistant (OGGCA). In the below video, I show you how to add a deployment to an existing ServiceManager. Additionally, I discuss each of the screens in the OGGCA process to hopefully provide a better understanding of the process of setting up deployments. Enjoy!! twitter: @dbasolved",
  "author" : {
    "@type" : "Person",
    "name" : "Bobby Curtis",
    "sameAs" : "",
    "url" : "https://rheodata.com/en-us/blog/author/bobby-curtis"
  },
  "dateModified" : "10/11/2025",
  "datePublished" : "10/11/2025",
  "headline" : "Add a deployment to Oracle GoldenGate 19c Microservices",
  "image" : {
    "@type" : "ImageObject",
    "height" : 400,
    "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/Imported_Blog_Media/blog-feature-Logo-Oct-31-2025-04-57-26-6962-PM.png",
    "width" : 750
  },
  "mainEntityOfPage" : "https://rheodata.com/en-us/blog/add-a-deployment-to-oracle-goldengate-19c-microservices",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/RheoData%20-%20Logo%20-%20transparent-1.png"
    },
    "name" : "RheoData",
    "url" : "rheodata.com"
  }
}
```

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "articleBody" : "When installed, Oracle GoldenGat (Microservices) will set up “services” that require a port number for access. For the first run of the Oracle GoldenGate Configuration Assistant (OGGCA), the assistant will create the ServiceManager (1 port) and the first deployment (5 ports). That means six ports would need to be opened on a firewall to run a single Oracle GoldenGate (Microservices) deployment. This only increases by five ports for each deployment built under a single ServiceManager. To address this, an open-source solution called NGINX allows all the ports within the deployment to be consolidated to a single port. The single port that can be used with NGINX is either 80 (HTTP) or 443 (HTTPS); which will enable Oracle GoldenGate (Microservices) to be used over a standard firewall port Downloading Binaries The NGINX binaries need to be downloaded regardless of where you install Oracle GoldenGate (Microservices). For Oracle Enterprise Linux, I documented the process here. When you start to expand the installation base for Microservices, the installation of NGINX becomes similar yet different. To install NGINX on an Amazon Web Services (AWS) EC2 instance, the following steps should be followed. For more details, you can also reference this blog post on installing Nginx -&gt; here or here. 1. SSH into the AWS EC2 instance $ ssh -I ~/.ssh/rd-usf-tst.pem ec2-user@ 2. Sudo to Root $ sudo su – 3. Use Amazon Extras to install NGINX $ amazon-linux-extras install nginx1.12 4. Confirm installation $ yum list install nginx After installing the NGINX on the AWS EC2 instance, the next thing that must be done is to configure it against the Oracle GoldenGate (Microservices) environment. Configure NGINX Oracle has made it easy for Oracle GoldenGate administrators to configure the NGINX interface after the installation. They provided a script called “ReverseProxySettings” in the $OGG_HOME/lib/utl directory. This script is used to build the Nginx configuration file based on the deployments running on the AWS EC2 node. The steps to configure the reverse proxy are as follows: 1. Change to the Reverse Proxy directory under $OGG_HOME $ cd $OGG_HOME/lib/utl/reverseproxy 2. Run ReverseProxySettings with options (unsecure access) $ ./ReverseProxySettings -u oggadmin -P -o ogg.conf http://localhost: 3. Copy the config file to the NGINX directory $ sudo cp ogg.conf /etc/nginx/conf.d/nginx.conf 4. Create a dummy cert $ sudo sh /etc/ssl/certs/make-dummy-cert /etc/nginx/ogg.pem 5. Start NGINX $ sudo nginx &amp; 6. Test/validate NGINX config $ sudo nginx -t 7. Reload NGINX $ sudo nginx -s reload 8. Access the ServiceManager and other services without port numbers Note: The ogg.pem must be downloaded and uploaded to your local cert wallet to access via a web browser. End Result Once everything with the NGINX is configured, Oracle GoldenGate (Microservices) can be accessed by URL using the standard port of 80 (HTTP) or 443 (HTTPS). This enables Oracle GoldenGate (Microservices) environments to be accessed over standard firewall rules.",
  "author" : {
    "@type" : "Person",
    "name" : "Bobby Curtis",
    "sameAs" : "",
    "url" : "https://rheodata.com/en-us/blog/author/bobby-curtis"
  },
  "dateModified" : "10/11/2025",
  "datePublished" : "10/11/2025",
  "headline" : "Configuring Nginx on AWS EC2 for Oracle GoldenGate 21c",
  "image" : {
    "@type" : "ImageObject",
    "height" : 400,
    "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/Imported_Blog_Media/nginx-url-noport-1-1.png",
    "width" : 750
  },
  "mainEntityOfPage" : "https://rheodata.com/en-us/blog/configuring-nginx-on-aws-ec2-for-oracle-goldengate-21c",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/RheoData%20-%20Logo%20-%20transparent-1.png"
    },
    "name" : "RheoData",
    "url" : "rheodata.com"
  }
}
```