{"id":920,"date":"2026-04-16T17:08:07","date_gmt":"2026-04-16T17:08:07","guid":{"rendered":"https:\/\/www.devopsschool.com\/tutorials\/oracle-cloud-goldengate-tutorial-architecture-pricing-use-cases-and-hands-on-guide-for-integration\/"},"modified":"2026-04-16T17:08:07","modified_gmt":"2026-04-16T17:08:07","slug":"oracle-cloud-goldengate-tutorial-architecture-pricing-use-cases-and-hands-on-guide-for-integration","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/tutorials\/oracle-cloud-goldengate-tutorial-architecture-pricing-use-cases-and-hands-on-guide-for-integration\/","title":{"rendered":"Oracle Cloud GoldenGate Tutorial: Architecture, Pricing, Use Cases, and Hands-On Guide for Integration"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Category<\/h2>\n\n\n\n<p>Integration<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Introduction<\/h2>\n\n\n\n<p>GoldenGate on <strong>Oracle Cloud<\/strong> is Oracle\u2019s managed, cloud-native way to run <strong>Oracle GoldenGate<\/strong> for <strong>real-time data replication and change data capture (CDC)<\/strong> across databases and data platforms.<\/p>\n\n\n\n<p>In simple terms: GoldenGate continuously reads changes from a source database (inserts\/updates\/deletes) and applies them to a target system with very low latency, so your systems stay in sync without heavy batch jobs.<\/p>\n\n\n\n<p>Technically, GoldenGate is a log-based replication engine (CDC) that captures changes from database transaction logs, stages them as trails, and delivers them to one or more targets. On Oracle Cloud, <strong>OCI GoldenGate<\/strong> provisions and manages the GoldenGate software stack for you, while you configure replication pipelines (Extract\/Replicat, paths, checkpoints) via the GoldenGate Microservices UI and OCI resources (Deployments, Connections).<\/p>\n\n\n\n<p>The main problem GoldenGate solves is <strong>keeping data synchronized across heterogeneous systems<\/strong> for migrations, analytics, active-active architectures, operational reporting, and event-driven integration\u2014without locking tables or relying on fragile \u201cpoll and compare\u201d patterns.<\/p>\n\n\n\n<blockquote>\n<p>Naming note (important): Oracle has a long GoldenGate product history. In Oracle Cloud, the current managed service is commonly referred to as <strong>Oracle Cloud Infrastructure (OCI) GoldenGate<\/strong>. Older \u201cclassic\u201d cloud offerings such as <strong>Oracle GoldenGate Cloud Service<\/strong> (from Oracle Cloud \u201cClassic\u201d) may appear in legacy content; treat those as legacy and <strong>verify current guidance in OCI documentation<\/strong> before following older tutorials.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">2. What is GoldenGate?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Official purpose<\/h3>\n\n\n\n<p><strong>GoldenGate<\/strong> is Oracle\u2019s platform for <strong>real-time data replication and change data capture (CDC)<\/strong>. In OCI, GoldenGate is delivered as a managed service where you create a GoldenGate <strong>Deployment<\/strong> and configure replication pipelines to move changes from sources to targets.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Core capabilities<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Log-based CDC<\/strong>: reads database transaction logs rather than querying tables.<\/li>\n<li><strong>Real-time replication<\/strong>: continuously delivers changes with low latency.<\/li>\n<li><strong>Heterogeneous replication<\/strong> (varies by supported connectors\/version): commonly used across Oracle databases and other platforms; always confirm supported technologies in the OCI GoldenGate docs for your region\/version.<\/li>\n<li><strong>Migration and synchronization<\/strong>: keep old and new systems in sync during cutovers.<\/li>\n<li><strong>High availability \/ resilience patterns<\/strong>: support for multiple targets, restartability, checkpoints, and replay after transient failures.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Major components (conceptual)<\/h3>\n\n\n\n<p>GoldenGate\u2019s traditional concepts still apply even when managed:\n&#8211; <strong>Extract<\/strong>: capture process reading source logs.\n&#8211; <strong>Data Pump (optional)<\/strong>: routes data from local to remote trails.\n&#8211; <strong>Trail files<\/strong>: staged change records (local and\/or remote).\n&#8211; <strong>Replicat<\/strong>: apply process writing changes to the target.\n&#8211; <strong>Checkpointing<\/strong>: ensures restartability without reprocessing committed data.\n&#8211; <strong>GoldenGate Microservices<\/strong>: web-based administration services (Administration Server, Distribution Server, Receiver Server, Performance Metrics Server) used by OCI GoldenGate deployments. Exact microservice names and exposure depend on the deployment model\u2014verify in official docs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Service type<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Managed service on Oracle Cloud Infrastructure<\/strong> for running GoldenGate (you manage replication configuration; Oracle manages much of the underlying service infrastructure depending on the service model and responsibilities described in the docs).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Scope (regional\/compartment)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Regional<\/strong>: OCI resources are created in a specific OCI region.<\/li>\n<li><strong>Compartment-scoped<\/strong>: Deployments and Connections live in an OCI compartment and are governed by IAM policies.<\/li>\n<li>Networking is VCN-based: the Deployment is attached to subnets you choose.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">How it fits into the Oracle Cloud ecosystem<\/h3>\n\n\n\n<p>GoldenGate is an <strong>Integration<\/strong> service when your integration problem is <strong>data movement and CDC<\/strong> (not application-to-application workflow orchestration). It typically pairs with:\n&#8211; <strong>Oracle Autonomous Database<\/strong> (ATP\/ADW) or <strong>Oracle Database on OCI<\/strong>\n&#8211; <strong>Networking (VCN, subnets, NSGs, DRG)<\/strong> for connectivity\n&#8211; <strong>OCI IAM<\/strong> for access control\n&#8211; <strong>OCI Logging \/ Monitoring \/ Audit<\/strong> for operations and governance<\/p>\n\n\n\n<p>Official documentation entry point (start here):<br\/>\nhttps:\/\/docs.oracle.com\/en\/cloud\/paas\/goldengate-service\/<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Why use GoldenGate?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Business reasons<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Reduce downtime during migrations<\/strong> by keeping source and target synchronized until cutover.<\/li>\n<li><strong>Enable real-time analytics<\/strong> without impacting OLTP performance with heavy reporting queries.<\/li>\n<li><strong>Support modern architectures<\/strong> (data mesh, streaming-enabled integration) by feeding downstream systems continuously.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Technical reasons<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Log-based capture<\/strong> is typically more efficient and accurate than timestamp-based polling or triggers.<\/li>\n<li><strong>Low-latency replication<\/strong> enables near-real-time data products.<\/li>\n<li><strong>Checkpointed, restartable pipelines<\/strong> handle transient failures better than custom scripts.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Operational reasons<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Managed deployment<\/strong> in Oracle Cloud reduces operational overhead compared to self-managing GoldenGate hosts.<\/li>\n<li><strong>Centralized configuration and visibility<\/strong> via GoldenGate Microservices UI plus OCI monitoring\/logging integrations (capabilities depend on the service integration\u2014verify exact metric\/log coverage in docs).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Security\/compliance reasons<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Supports patterns that keep sensitive source systems isolated while feeding sanitized targets.<\/li>\n<li>Works with OCI-native IAM and network controls (compartments, NSGs, private endpoints).<\/li>\n<li>Helps with auditability by enabling controlled, repeatable replication processes (plus OCI Audit for API operations).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Scalability\/performance reasons<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Designed for <strong>high-volume<\/strong> and <strong>continuous<\/strong> change streams when correctly sized and configured.<\/li>\n<li>Supports parallelism patterns (where applicable) and efficient log mining.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">When teams should choose it<\/h3>\n\n\n\n<p>Choose GoldenGate when you need:\n&#8211; Continuous, reliable CDC replication\n&#8211; Migration with minimal downtime\n&#8211; Multi-system synchronization\n&#8211; Real-time feed into operational reporting or analytics targets<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">When teams should not choose it<\/h3>\n\n\n\n<p>Avoid GoldenGate when:\n&#8211; You only need <strong>occasional batch ETL<\/strong> (simpler tools may be cheaper and easier).\n&#8211; Your integration is mainly <strong>API\/workflow orchestration<\/strong> (consider Oracle Integration instead).\n&#8211; Your source\/target technology is not supported in OCI GoldenGate for your region\/version (verify support matrix in docs).\n&#8211; You cannot meet network\/security prerequisites (private connectivity, ports, credentials, wallets).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Where is GoldenGate used?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Industries<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Financial services (payments, fraud analytics, operational risk)<\/li>\n<li>Retail\/e-commerce (inventory, orders, personalization)<\/li>\n<li>Telecom (billing, customer 360)<\/li>\n<li>Healthcare\/life sciences (operational reporting, data consolidation)<\/li>\n<li>Manufacturing\/logistics (real-time supply chain views)<\/li>\n<li>SaaS providers (multi-tenant reporting pipelines)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Team types<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Database engineering \/ DBA teams<\/li>\n<li>Data engineering teams<\/li>\n<li>Cloud platform teams<\/li>\n<li>Integration engineers<\/li>\n<li>SRE\/operations teams supporting data platforms<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Workloads<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Zero\/low-downtime database migrations<\/li>\n<li>Real-time operational reporting<\/li>\n<li>Cross-region replication (with careful network design)<\/li>\n<li>Feeding analytics stores (data warehouse \/ lakehouse patterns)<\/li>\n<li>Keeping microservices read models synchronized (where CDC is appropriate)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Architectures<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hub-and-spoke replication topology<\/li>\n<li>Active-passive modernization (legacy \u2192 new)<\/li>\n<li>Dual-write avoidance (single-write + CDC)<\/li>\n<li>Multi-target fan-out for analytics and search systems (if supported targets\/connectors are available)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Production vs dev\/test usage<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Production<\/strong>: strict sizing, HA strategy, change management, auditing, and network isolation.<\/li>\n<li><strong>Dev\/test<\/strong>: small deployments for pipeline development, schema mapping tests, and cutover rehearsals. Cost control matters because managed deployments typically bill while running.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">5. Top Use Cases and Scenarios<\/h2>\n\n\n\n<p>Below are realistic GoldenGate scenarios. Exact supported source\/target combinations depend on the <strong>OCI GoldenGate supported technologies<\/strong> for your service version\u2014verify in official docs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1) Zero-downtime migration: Oracle Database to Autonomous Database<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Migrate an OLTP database to Autonomous Transaction Processing (ATP) with minimal downtime.<\/li>\n<li><strong>Why GoldenGate fits:<\/strong> Continuous CDC keeps the target synchronized while apps still write to the source.<\/li>\n<li><strong>Example:<\/strong> Replicate from an on-VM Oracle Database to ATP, validate, then switch application connection strings.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2) Real-time reporting offload<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Reporting queries slow down the OLTP database.<\/li>\n<li><strong>Why GoldenGate fits:<\/strong> Replicate OLTP changes into a reporting database\/warehouse.<\/li>\n<li><strong>Example:<\/strong> Replicate order tables into an ADW reporting schema for dashboards.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">3) Cross-environment synchronization (dev\/test from prod-like data)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Refresh dev\/test environments frequently without full backups\/restores.<\/li>\n<li><strong>Why GoldenGate fits:<\/strong> Continuous sync plus filtering\/masking patterns (where applicable).<\/li>\n<li><strong>Example:<\/strong> Keep a test environment updated nightly with a controlled replication window.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">4) Blue\/green database cutover<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Upgrade database version or platform with a reversible cutover.<\/li>\n<li><strong>Why GoldenGate fits:<\/strong> Run old and new in parallel and cut over when stable.<\/li>\n<li><strong>Example:<\/strong> Keep \u201cblue\u201d and \u201cgreen\u201d databases synchronized; switch traffic using app config.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">5) Event-driven integration seed (CDC to streaming)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Microservices need near-real-time change events without adding load to the DB.<\/li>\n<li><strong>Why GoldenGate fits:<\/strong> CDC is a natural event source; GoldenGate can publish change records to downstream consumers if supported adapters are available in your deployment.<\/li>\n<li><strong>Example:<\/strong> Publish customer change events to a messaging system (verify supported targets\/adapters).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6) Multi-target fan-out<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Multiple systems need the same authoritative data updates.<\/li>\n<li><strong>Why GoldenGate fits:<\/strong> Capture once, distribute to multiple targets (architecture and licensing\/service constraints apply).<\/li>\n<li><strong>Example:<\/strong> Replicate product catalog updates to both analytics and search targets.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">7) Active-active (bi-directional) patterns (advanced)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Two regions\/sites must accept writes (conflict detection required).<\/li>\n<li><strong>Why GoldenGate fits:<\/strong> GoldenGate can support bidirectional replication patterns with careful conflict handling.<\/li>\n<li><strong>Example:<\/strong> Two Oracle databases replicate in both directions for regional resilience (complex; plan thoroughly).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">8) Data consolidation from multiple sources<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Combine data from multiple OLTP systems into a consolidated store.<\/li>\n<li><strong>Why GoldenGate fits:<\/strong> Multiple Extracts feed a centralized target.<\/li>\n<li><strong>Example:<\/strong> Consolidate regional order systems into a central ADW schema.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">9) Modernize a monolith incrementally<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Decompose a monolith without rewriting everything at once.<\/li>\n<li><strong>Why GoldenGate fits:<\/strong> CDC can keep new service databases populated from the monolith.<\/li>\n<li><strong>Example:<\/strong> Build a new \u201cCustomer Profile\u201d service and keep it synced from the monolith schema.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">10) Operational resilience and fast recovery<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Need fast recovery to a warm standby target.<\/li>\n<li><strong>Why GoldenGate fits:<\/strong> Continuous replication can reduce RPO for certain patterns (not a replacement for backups).<\/li>\n<li><strong>Example:<\/strong> Maintain a warm standby schema for fast failover of reporting services.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">11) Controlled data sharing across compartments\/tenancies (governed)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Share datasets across organizational boundaries with guardrails.<\/li>\n<li><strong>Why GoldenGate fits:<\/strong> Replication pipelines can implement scoped sharing (schema\/table-level).<\/li>\n<li><strong>Example:<\/strong> Replicate only approved tables into a shared analytics tenancy (requires network and IAM planning).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">12) Database platform change with long coexistence<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Two platforms must coexist for months during vendor\/app transition.<\/li>\n<li><strong>Why GoldenGate fits:<\/strong> Continuous sync avoids dual-write in application code.<\/li>\n<li><strong>Example:<\/strong> Keep the new platform in sync while teams migrate downstream dependencies.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">6. Core Features<\/h2>\n\n\n\n<blockquote>\n<p>Note: Feature availability depends on OCI GoldenGate version, region, and supported technologies. Always confirm in the official docs.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Managed GoldenGate Deployments (OCI)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Provisions a GoldenGate runtime (\u201cDeployment\u201d) in your VCN\/subnet.<\/li>\n<li><strong>Why it matters:<\/strong> Avoids manual host provisioning, patching workflows, and much of the infrastructure management.<\/li>\n<li><strong>Practical benefit:<\/strong> Faster time to first replication, consistent environments across teams.<\/li>\n<li><strong>Caveats:<\/strong> You still must design networking, IAM, database permissions, and replication topology.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">GoldenGate Microservices-based Administration<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Web UI and REST endpoints to manage Extracts, Replicats, paths, and credentials.<\/li>\n<li><strong>Why it matters:<\/strong> Operational control plane for pipelines.<\/li>\n<li><strong>Practical benefit:<\/strong> Easier day-2 ops than legacy command-line-only management.<\/li>\n<li><strong>Caveats:<\/strong> Access to the admin endpoints must be secured (private endpoints, restricted ingress, strong auth).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Connections (OCI resource)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Stores connection definitions used by Deployments to reach sources\/targets (databases, endpoints).<\/li>\n<li><strong>Why it matters:<\/strong> Standardizes connectivity setup and reduces config sprawl.<\/li>\n<li><strong>Practical benefit:<\/strong> Reuse connections across pipelines; consistent compartment governance.<\/li>\n<li><strong>Caveats:<\/strong> Treat connection secrets carefully; use least privilege DB users.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Log-based CDC replication<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Captures committed changes from transaction logs.<\/li>\n<li><strong>Why it matters:<\/strong> Efficient, low overhead, accurate ordering semantics.<\/li>\n<li><strong>Practical benefit:<\/strong> Minimal impact on OLTP workload compared to triggers\/polling.<\/li>\n<li><strong>Caveats:<\/strong> Requires correct database logging settings and permissions; initial load is separate from CDC.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Checkpointing and restartability<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Tracks processed log positions and applied transactions.<\/li>\n<li><strong>Why it matters:<\/strong> Enables safe restart after outages.<\/li>\n<li><strong>Practical benefit:<\/strong> Operational resilience; avoids duplicates when configured correctly.<\/li>\n<li><strong>Caveats:<\/strong> Misconfigured checkpoints or credential issues can cause lag and retries.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Filtering, mapping, and basic transformations (GoldenGate parameterization)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Allows table selection, column mapping, and some transformations in replication config.<\/li>\n<li><strong>Why it matters:<\/strong> Supports selective replication and schema evolution patterns.<\/li>\n<li><strong>Practical benefit:<\/strong> Avoid replicating unnecessary tables\/columns; controlled sharing.<\/li>\n<li><strong>Caveats:<\/strong> Heavy transformations might belong in ETL\/ELT tools; keep CDC pipelines simple for reliability.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Monitoring and metrics (OCI + GoldenGate)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Provides operational visibility into deployment status and pipeline health.<\/li>\n<li><strong>Why it matters:<\/strong> CDC is a continuous system; you must detect lag and failures quickly.<\/li>\n<li><strong>Practical benefit:<\/strong> Alerts on replication lag, process down, resource exhaustion (availability depends on integrations).<\/li>\n<li><strong>Caveats:<\/strong> Define SLOs (max lag, RPO) and alerting thresholds; metrics differ by deployment model.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">VCN-based networking<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Runs the deployment attached to your subnets and security controls.<\/li>\n<li><strong>Why it matters:<\/strong> Private connectivity to private databases; enforce network segmentation.<\/li>\n<li><strong>Practical benefit:<\/strong> Keeps replication traffic off the public internet.<\/li>\n<li><strong>Caveats:<\/strong> Requires planning for DNS, routing, gateways, and database access controls.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">7. Architecture and How It Works<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">High-level service architecture<\/h3>\n\n\n\n<p>OCI GoldenGate typically consists of:\n&#8211; <strong>OCI control plane<\/strong>: where you create and manage Deployments and Connections (IAM-governed).\n&#8211; <strong>GoldenGate runtime (data plane)<\/strong>: the actual GoldenGate processes running inside the deployment in your VCN.\n&#8211; <strong>Source and target endpoints<\/strong>: databases or platforms the deployment connects to over the network.\n&#8211; <strong>Admin access path<\/strong>: how administrators reach the GoldenGate Microservices UI (private endpoint preferred).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Request\/data\/control flow<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>You create a <strong>Deployment<\/strong> (and required networking).<\/li>\n<li>You define <strong>Connections<\/strong> to source\/target endpoints.<\/li>\n<li>In the deployment console, you create <strong>Extract<\/strong> to capture changes.<\/li>\n<li>Changes are written to <strong>trail files<\/strong> and moved (if needed) to the target side.<\/li>\n<li>A <strong>Replicat<\/strong> reads the trail and applies changes to the target.<\/li>\n<li>Checkpoints track progress; if a process restarts, it resumes from last checkpoint.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Integrations with related services<\/h3>\n\n\n\n<p>Common integrations around GoldenGate include:\n&#8211; <strong>Oracle Autonomous Database (ATP\/ADW)<\/strong> or <strong>Oracle Database on OCI<\/strong>\n&#8211; <strong>OCI Networking<\/strong> (VCN, subnets, NSGs, route tables, gateways)\n&#8211; <strong>OCI IAM<\/strong> (groups, policies, compartments)\n&#8211; <strong>OCI Logging \/ Monitoring \/ Alarms<\/strong> (verify exact integrations and metric namespaces in official docs)\n&#8211; <strong>OCI Vault<\/strong> (recommended for secret lifecycle patterns, though the exact \u201cnative integration\u201d behavior should be verified)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Dependency services<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A <strong>VCN and subnet(s)<\/strong> to host the deployment<\/li>\n<li>Source and target databases reachable over the network<\/li>\n<li>IAM policies to create\/manage GoldenGate resources<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Security\/authentication model<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>OCI IAM<\/strong>: governs who can create deployments\/connections and view metadata.<\/li>\n<li><strong>GoldenGate admin users<\/strong>: authentication to the GoldenGate Microservices console (mechanism depends on service configuration).<\/li>\n<li><strong>Database authentication<\/strong>: least-privilege database users for capture\/apply.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Networking model<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Deployment attached to your chosen subnet(s)<\/li>\n<li>Ingress to admin endpoints should be tightly restricted (NSGs, private endpoints, bastion)<\/li>\n<li>Egress from deployment must reach source\/target on required ports (e.g., Oracle Net listener ports for Oracle DB; exact ports depend on your databases)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Monitoring\/logging\/governance considerations<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Track replication lag, process health, trail backlog, database errors.<\/li>\n<li>Enable OCI Audit for governance of GoldenGate resource changes.<\/li>\n<li>Use compartment structure and tagging to separate environments and cost centers.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Simple architecture diagram (conceptual)<\/h4>\n\n\n\n<pre><code class=\"language-mermaid\">flowchart LR\n  A[Source Database] --&gt;|Redo\/Transaction logs| B[GoldenGate Extract]\n  B --&gt; C[(Trail Files)]\n  C --&gt; D[GoldenGate Replicat]\n  D --&gt; E[Target Database]\n  F[OCI Console\/IAM] --&gt;|Manage| G[OCI GoldenGate Deployment]\n  G --&gt; B\n  G --&gt; D\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Production-style architecture diagram (OCI-focused)<\/h4>\n\n\n\n<pre><code class=\"language-mermaid\">flowchart TB\n  subgraph OCI[Oracle Cloud Infrastructure - Region]\n    subgraph Net[VCN]\n      subgraph Pub[Public Subnet (optional)]\n        Admin[Admin Access Path\\n(Bastion\/VPN\/Allowlisted IPs)]\n      end\n\n      subgraph Priv[Private Subnet (recommended)]\n        GG[OCI GoldenGate Deployment\\n(Microservices + Extract\/Replicat)]\n      end\n\n      NSG[Network Security Groups]\n      NAT[NAT Gateway (if needed for egress)]\n      DRG[DRG (optional)\\nfor on-prem \/ other VCNs]\n    end\n\n    Mon[OCI Monitoring\/Alarms]\n    Log[OCI Logging (as supported)]\n    Aud[OCI Audit]\n  end\n\n  Src[Source DB\\n(ATP\/Oracle DB on OCI\/on-prem)] &lt;--&gt;|DB Port + Auth| GG\n  GG &lt;--&gt;|DB Port + Auth| Tgt[Target DB\\n(ADW\/ATP\/Oracle DB)]\n\n  Admin --&gt;|HTTPS to Admin Endpoint| GG\n  GG --&gt; Mon\n  GG --&gt; Log\n  Aud --&gt; OCI\n  GG --&gt; NAT\n  DRG --- Src\n  NSG --- GG\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">8. Prerequisites<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Tenancy\/account requirements<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>An <strong>Oracle Cloud<\/strong> tenancy with permissions to create networking, databases (for this lab), and GoldenGate resources.<\/li>\n<li>A compartment strategy (at minimum: a compartment for the lab).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Permissions \/ IAM roles<\/h3>\n\n\n\n<p>You typically need permissions to:\n&#8211; Manage GoldenGate resources in the compartment\n&#8211; Manage VCN\/subnets\/NSGs (or have them pre-created)\n&#8211; Manage Autonomous Database (for the lab)<\/p>\n\n\n\n<p>OCI IAM is policy-based. Exact policy verbs and resource-types can change\u2014<strong>verify the latest policy reference in official docs<\/strong>. As a starting point, you will usually create policies that allow a group to manage GoldenGate resources in a compartment.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Billing requirements<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>OCI GoldenGate is generally a paid managed service (no universal \u201cAlways Free\u201d guarantee). You need:<\/li>\n<li>A paid tenancy, or<\/li>\n<li>Promotional credits \/ trial credits<\/li>\n<li>Autonomous Databases may have \u201cAlways Free\u201d options in some tenancies\/regions, but GoldenGate usage may still incur cost.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Tools needed<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Web browser for OCI Console and GoldenGate Microservices UI<\/li>\n<li>Optional:<\/li>\n<li><strong>OCI CLI<\/strong> (helpful for automation)<\/li>\n<li>SQL client for Autonomous Database (Database Actions web SQL, SQL Developer, or similar)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Region availability<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>OCI GoldenGate is not available in every region. <strong>Check service availability for your region<\/strong> in OCI docs or the Console region selector.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Quotas\/limits<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Service limits apply (number of deployments, shapes\/sizing, connections). Check:<\/li>\n<li>OCI Console \u2192 Governance \u2192 Limits, Quotas and Usage<\/li>\n<li>Database limits also apply (connections, CPU, storage).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Prerequisite services<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>VCN, subnets, security rules<\/li>\n<li>Source and target databases reachable from the GoldenGate deployment network<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">9. Pricing \/ Cost<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Current pricing model (how it\u2019s typically structured)<\/h3>\n\n\n\n<p>OCI GoldenGate pricing is <strong>usage-based<\/strong>. The most common cost dimensions you should expect are:\n&#8211; <strong>GoldenGate Deployment runtime<\/strong>: billed while the deployment is running (often tied to size\/shape or compute units).\n&#8211; <strong>Storage<\/strong> used by the deployment (trail files, logs), depending on service design.\n&#8211; <strong>Network egress<\/strong>: outbound data transfer to the public internet or across regions (OCI billing rules apply).\n&#8211; <strong>Source\/target database costs<\/strong>: Autonomous Database, compute instances, storage, backups.\n&#8211; Optional network infrastructure: NAT Gateway, Load Balancer, VPN\/FastConnect (if used).<\/p>\n\n\n\n<p>Because SKUs, shapes, and regional price points can change, <strong>do not rely on blog-post numbers<\/strong>. Use the official sources below.<\/p>\n\n\n\n<p>Official pricing entry points:\n&#8211; Oracle Cloud price list (search for \u201cGoldenGate\u201d): https:\/\/www.oracle.com\/cloud\/price-list\/\n&#8211; OCI Cost Estimator: https:\/\/www.oracle.com\/cloud\/costestimator.html<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Free tier<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>OCI has an Always Free tier for some services, but <strong>GoldenGate is not commonly categorized as Always Free<\/strong>. Treat it as paid unless your tenancy explicitly shows a free allowance.<\/li>\n<li>Trials\/credits: Oracle frequently offers free trials; eligibility and credits vary.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Primary cost drivers<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Keeping a deployment <strong>running 24\/7<\/strong><\/li>\n<li>Larger deployment sizing to handle higher redo\/log volume<\/li>\n<li>High change rate tables generating large trail volumes<\/li>\n<li>Cross-region or internet-based data transfer<\/li>\n<li>Non-production environments left running<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Hidden\/indirect costs to plan for<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>NAT Gateway<\/strong> data processing charges (if your GoldenGate deployment needs outbound internet access from a private subnet)<\/li>\n<li><strong>Operational tooling<\/strong> (logging retention, monitoring alarms)<\/li>\n<li><strong>Database backups<\/strong> and storage growth (targets often grow fast in analytics scenarios)<\/li>\n<li><strong>Connectivity<\/strong> (FastConnect\/VPN) if replicating with on-prem sources<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Network\/data transfer implications<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Replication within the same VCN\/region is usually cheapest from a data transfer perspective.<\/li>\n<li>Cross-region replication can introduce:<\/li>\n<li>Higher latency (affects lag)<\/li>\n<li>Inter-region data transfer costs<\/li>\n<li>Public internet replication adds security and reliability risks plus potential egress costs.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">How to optimize cost<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Stop or delete non-prod deployments when not in use.<\/li>\n<li>Right-size deployments based on redo generation and throughput testing.<\/li>\n<li>Filter out unneeded tables\/columns early.<\/li>\n<li>Prefer private connectivity within OCI where feasible.<\/li>\n<li>Set retention policies for trail files and logs according to requirements.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Example low-cost starter estimate (how to think about it)<\/h3>\n\n\n\n<p>A \u201cstarter\u201d lab cost typically includes:\n&#8211; 1 small GoldenGate deployment running for a few hours\n&#8211; 2 small databases (source and target), ideally Always Free where possible\n&#8211; Minimal data transfer within a region<\/p>\n\n\n\n<p>Because actual unit prices depend on region and SKU, calculate using:\n&#8211; OCI Cost Estimator: select GoldenGate (deployment size), storage, and expected runtime.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Example production cost considerations<\/h3>\n\n\n\n<p>In production, the bigger costs are usually:\n&#8211; Deployment runtime 24\/7 (and HA strategy if you run multiple deployments)\n&#8211; Higher sizing for peak redo rates\n&#8211; Larger storage for trails and logging\n&#8211; Cross-region data transfer and connectivity (FastConnect, DRG, etc.)\n&#8211; Operational overhead (monitoring, on-call, compliance retention)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">10. Step-by-Step Hands-On Tutorial<\/h2>\n\n\n\n<p>This lab builds a small, real replication pipeline using <strong>OCI GoldenGate<\/strong> to replicate a table from a <strong>source Autonomous Transaction Processing (ATP)<\/strong> database to a <strong>target Autonomous Data Warehouse (ADW)<\/strong> (or a second ATP). The exact screens can change; the core workflow remains consistent.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Objective<\/h3>\n\n\n\n<p>Set up a GoldenGate deployment and configure <strong>CDC replication<\/strong> for one schema\/table from a source Oracle Autonomous Database to a target Autonomous Database, then verify changes replicate in near-real-time.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Lab Overview<\/h3>\n\n\n\n<p>You will:\n1. Create (or reuse) networking for GoldenGate.\n2. Create source and target Autonomous Databases.\n3. Create database users and privileges for GoldenGate capture\/apply.\n4. Create an OCI GoldenGate Deployment.\n5. Create OCI GoldenGate Connections to source and target.\n6. Configure Extract + Replicat in the GoldenGate deployment console.\n7. Insert\/update\/delete rows in source and verify they appear in target.\n8. Clean up all resources to stop billing.<\/p>\n\n\n\n<blockquote>\n<p>Cost safety: The GoldenGate deployment is typically the main cost driver. Do not leave it running.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Create a compartment and basic tags (recommended)<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In OCI Console, create a compartment like:\n   &#8211; <code>gg-lab<\/code><\/li>\n<li>(Optional) Create a tag namespace and tags:\n   &#8211; <code>env=lab<\/code>\n   &#8211; <code>owner=&lt;yourname&gt;<\/code>\n   &#8211; <code>costcenter=training<\/code><\/li>\n<\/ol>\n\n\n\n<p><strong>Expected outcome:<\/strong> You have an isolated compartment for all lab resources.<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: Create networking (VCN + subnet) for the GoldenGate deployment<\/h3>\n\n\n\n<p>You need a VCN and a subnet where the GoldenGate deployment will live.<\/p>\n\n\n\n<p><strong>Option A (simpler for labs):<\/strong> Public subnet with restricted ingress<br\/>\n<strong>Option B (recommended for production):<\/strong> Private subnet + Bastion\/VPN + NAT<\/p>\n\n\n\n<p>For a beginner lab, Option A is easier, but lock down access.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to <strong>Networking \u2192 Virtual Cloud Networks \u2192 Create VCN<\/strong><\/li>\n<li>Choose <strong>VCN with Internet Connectivity<\/strong> (wizard) or create manually.<\/li>\n<li>\n<p>Create:\n   &#8211; VCN CIDR: e.g., <code>10.0.0.0\/16<\/code>\n   &#8211; Public subnet CIDR: e.g., <code>10.0.1.0\/24<\/code><\/p>\n<\/li>\n<li>\n<p>Create a <strong>Network Security Group (NSG)<\/strong> for GoldenGate deployment and restrict ingress:\n   &#8211; Allow TCP 443 from <strong>your public IP<\/strong> to the GoldenGate admin endpoint (if you enable public access).\n   &#8211; Allow egress to the databases (Oracle listener port). For Autonomous Database, connectivity depends on whether you use private endpoint or public endpoint. If public, you\u2019ll use internet routing.<\/p>\n<\/li>\n<\/ol>\n\n\n\n<p><strong>Expected outcome:<\/strong> A VCN and subnet exist; you have an NSG ready to attach to the GoldenGate deployment.<\/p>\n\n\n\n<blockquote>\n<p>Security note: For production, prefer private endpoints and access via Bastion, VPN, or FastConnect.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: Create source and target Autonomous Databases (ATP + ADW)<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to <strong>Oracle Database \u2192 Autonomous Database \u2192 Create Autonomous Database<\/strong><\/li>\n<li>Create <strong>Source ATP<\/strong>:\n   &#8211; Workload type: Transaction Processing\n   &#8211; Database name: <code>GGSRCLAB<\/code>\n   &#8211; Choose Always Free if available (optional)<\/li>\n<li>Create <strong>Target ADW<\/strong> (or second ATP):\n   &#8211; Workload type: Data Warehouse (or Transaction Processing)\n   &#8211; Database name: <code>GGTGTLAB<\/code><\/li>\n<\/ol>\n\n\n\n<p>Wait until both show <strong>Available<\/strong>.<\/p>\n\n\n\n<p><strong>Expected outcome:<\/strong> Two Autonomous Databases are running.<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4: Create GoldenGate database users and required privileges<\/h3>\n\n\n\n<p>GoldenGate needs database users with privileges to <strong>capture<\/strong> (source) and <strong>apply<\/strong> (target). For Autonomous Database, Oracle provides supported privilege-granting procedures. Exact privilege scripts can vary by database version\u2014<strong>verify with the OCI GoldenGate + Autonomous Database documentation<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">4.1 Connect to source ATP and create a capture user<\/h4>\n\n\n\n<p>Using <strong>Database Actions \u2192 SQL<\/strong> (recommended for beginners), run:<\/p>\n\n\n\n<pre><code class=\"language-sql\">-- On SOURCE (ATP)\nCREATE USER ggadmin IDENTIFIED BY \"Use-A-Strong-Password-Here\";\n\n-- Basic connectivity\nGRANT CREATE SESSION TO ggadmin;\n\n-- GoldenGate capture privileges (recommended approach uses DBMS_GOLDENGATE_AUTH)\nBEGIN\n  DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE(\n    grantee                 =&gt; 'GGADMIN',\n    privilege_type          =&gt; 'CAPTURE',\n    grant_select_privileges =&gt; TRUE,\n    do_grants               =&gt; TRUE\n  );\nEND;\n\/\n<\/code><\/pre>\n\n\n\n<p>Create a demo schema\/table (you can use ggadmin or a separate schema):<\/p>\n\n\n\n<pre><code class=\"language-sql\">-- Create demo objects (on SOURCE)\nCREATE TABLE ggadmin.customer_demo (\n  customer_id NUMBER PRIMARY KEY,\n  full_name   VARCHAR2(200),\n  updated_at  TIMESTAMP DEFAULT SYSTIMESTAMP\n);\n\n-- Insert a seed row\nINSERT INTO ggadmin.customer_demo (customer_id, full_name) VALUES (1, 'Ada Lovelace');\nCOMMIT;\n<\/code><\/pre>\n\n\n\n<p>Enable supplemental logging as required for CDC. The exact commands depend on your environment. A commonly used table-level approach is:<\/p>\n\n\n\n<pre><code class=\"language-sql\">-- Supplemental logging (verify exact requirements for your DB\/version)\nALTER TABLE ggadmin.customer_demo ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">4.2 Connect to target ADW and create an apply user<\/h4>\n\n\n\n<pre><code class=\"language-sql\">-- On TARGET (ADW or ATP)\nCREATE USER ggadmin IDENTIFIED BY \"Use-A-Strong-Password-Here\";\nGRANT CREATE SESSION TO ggadmin;\n\nBEGIN\n  DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE(\n    grantee                 =&gt; 'GGADMIN',\n    privilege_type          =&gt; 'APPLY',\n    grant_select_privileges =&gt; TRUE,\n    do_grants               =&gt; TRUE\n  );\nEND;\n\/\n<\/code><\/pre>\n\n\n\n<p>Create the target table (for a simple mapping-first lab, match schema\/table name):<\/p>\n\n\n\n<pre><code class=\"language-sql\">-- On TARGET\nCREATE TABLE ggadmin.customer_demo (\n  customer_id NUMBER PRIMARY KEY,\n  full_name   VARCHAR2(200),\n  updated_at  TIMESTAMP\n);\n<\/code><\/pre>\n\n\n\n<p><strong>Expected outcome:<\/strong> <code>ggadmin<\/code> exists on both DBs, with capture privileges on source and apply privileges on target. Tables exist on both sides.<\/p>\n\n\n\n<blockquote>\n<p>If <code>DBMS_GOLDENGATE_AUTH<\/code> is not accessible or behaves differently in your Autonomous Database, do not \u201chack around\u201d with random grants. Stop and follow the official Autonomous Database + GoldenGate privilege setup guide.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 5: Create an OCI GoldenGate Deployment<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to <strong>GoldenGate<\/strong> in OCI Console (service location may vary by console layout; you can also search \u201cGoldenGate\u201d).<\/li>\n<li>Click <strong>Create deployment<\/strong><\/li>\n<li>\n<p>Choose:\n   &#8211; Compartment: <code>gg-lab<\/code>\n   &#8211; Name: <code>gg-deployment-lab<\/code>\n   &#8211; VCN + Subnet: select the subnet you created\n   &#8211; NSG: attach the NSG you created\n   &#8211; Access type: choose <strong>private<\/strong> if you have Bastion\/VPN, otherwise <strong>public<\/strong> for lab and restrict to your IP<\/p>\n<\/li>\n<li>\n<p>Choose a deployment sizing\/shape appropriate for a small lab (exact names vary). Keep it minimal.<\/p>\n<\/li>\n<li>Create and wait until status is <strong>Active<\/strong>.<\/li>\n<\/ol>\n\n\n\n<p><strong>Expected outcome:<\/strong> A GoldenGate deployment is provisioned and reachable (admin console URL available in deployment details).<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 6: Create OCI GoldenGate Connections for source and target<\/h3>\n\n\n\n<p>OCI GoldenGate typically uses <strong>Connections<\/strong> as first-class resources.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In the GoldenGate service page, go to <strong>Connections \u2192 Create connection<\/strong><\/li>\n<li>\n<p>Create <strong>Source connection<\/strong>:\n   &#8211; Type: Oracle Autonomous Database (or Oracle Database)\n   &#8211; Database OCID: select <code>GGSRCLAB<\/code>\n   &#8211; Username: <code>ggadmin<\/code>\n   &#8211; Password: the password you set\n   &#8211; Wallet\/cert handling: follow console prompts (Autonomous DB usually requires a wallet or service-managed connectivity; <strong>follow official steps<\/strong>)<\/p>\n<\/li>\n<li>\n<p>Create <strong>Target connection<\/strong> similarly for <code>GGTGTLAB<\/code>.<\/p>\n<\/li>\n<\/ol>\n\n\n\n<p><strong>Expected outcome:<\/strong> Two connections show as <strong>Active\/Valid<\/strong> (or at least created successfully).<\/p>\n\n\n\n<blockquote>\n<p>Common pitfall: network access. If your deployment is in a private subnet and your Autonomous DB is public-only, you may need NAT for outbound access and correct allowlists. If your Autonomous DB uses private endpoints, place the deployment in the same VCN or connected network.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 7: Open the GoldenGate Deployment Console (Microservices UI)<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>From the deployment details, click <strong>Launch console<\/strong> (wording may differ).<\/li>\n<li>Sign in using the deployment\u2019s configured admin credentials.<\/li>\n<\/ol>\n\n\n\n<p><strong>Expected outcome:<\/strong> You can see the GoldenGate microservices landing page and navigation for Administration\/Configuration.<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 8: Configure credentials\/aliases inside GoldenGate (if required)<\/h3>\n\n\n\n<p>Many GoldenGate configurations use a <strong>credential store<\/strong> with aliases instead of embedding passwords in parameter files.<\/p>\n\n\n\n<p>In the GoldenGate console:\n1. Go to <strong>Configuration \/ Credentials<\/strong> (menu names vary)\n2. Create credential aliases like:\n   &#8211; <code>SRC_GGADMIN<\/code>\n   &#8211; <code>TGT_GGADMIN<\/code>\n3. Associate each with the correct username\/password and (if required) domain.<\/p>\n\n\n\n<p><strong>Expected outcome:<\/strong> Credentials exist and can be referenced by Extract\/Replicat.<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 9: Create Extract (capture) for the source table<\/h3>\n\n\n\n<p>In the GoldenGate Administration UI:\n1. Create an <strong>Extract<\/strong>\n2. Choose capture type appropriate for Oracle DB (often \u201cIntegrated Extract\u201d for Oracle; verify recommended mode for Autonomous).\n3. Select the <strong>source connection<\/strong> you created.\n4. Specify table selection:\n   &#8211; Schema: <code>GGADMIN<\/code>\n   &#8211; Table: <code>CUSTOMER_DEMO<\/code>\n5. Configure trail:\n   &#8211; Local trail name (example): <code>aa<\/code><\/p>\n\n\n\n<p>A minimal Extract parameter example (for reference; UI may generate it):<\/p>\n\n\n\n<pre><code class=\"language-text\">EXTRACT ext_demo\nUSERIDALIAS SRC_GGADMIN\nEXTTRAIL .\/dirdat\/aa\nTABLE GGADMIN.CUSTOMER_DEMO;\n<\/code><\/pre>\n\n\n\n<p>Start the Extract.<\/p>\n\n\n\n<p><strong>Expected outcome:<\/strong> Extract status shows <strong>Running<\/strong> and begins reading changes.<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 10: Create Replicat (apply) to the target table<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Create a <strong>Replicat<\/strong><\/li>\n<li>Choose apply mode appropriate for Oracle DB (verify best practice for your target).<\/li>\n<li>Select the <strong>target connection<\/strong>.<\/li>\n<li>Configure the mapping:\n   &#8211; <code>GGADMIN.CUSTOMER_DEMO<\/code> \u2192 <code>GGADMIN.CUSTOMER_DEMO<\/code><\/li>\n<li>Choose a trail to read from (the one produced by Extract \/ distribution path as applicable).<\/li>\n<\/ol>\n\n\n\n<p>Minimal Replicat parameters (reference):<\/p>\n\n\n\n<pre><code class=\"language-text\">REPLICAT rep_demo\nUSERIDALIAS TGT_GGADMIN\nMAP GGADMIN.CUSTOMER_DEMO, TARGET GGADMIN.CUSTOMER_DEMO;\n<\/code><\/pre>\n\n\n\n<p>Start the Replicat.<\/p>\n\n\n\n<p><strong>Expected outcome:<\/strong> Replicat status shows <strong>Running<\/strong>.<\/p>\n\n\n\n<blockquote>\n<p>Depending on deployment topology, you may need to configure Distribution\/Receiver paths between services. OCI GoldenGate can abstract some of this, but not always. Follow the workflow in the docs for \u201cpaths\u201d if required by your deployment model.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 11: Generate changes on the source and observe replication<\/h3>\n\n\n\n<p>On the <strong>source<\/strong> database, run:<\/p>\n\n\n\n<pre><code class=\"language-sql\">INSERT INTO ggadmin.customer_demo (customer_id, full_name) VALUES (2, 'Grace Hopper');\nUPDATE ggadmin.customer_demo SET full_name = 'Ada Lovelace (updated)', updated_at = SYSTIMESTAMP WHERE customer_id = 1;\nDELETE FROM ggadmin.customer_demo WHERE customer_id = 2;\nCOMMIT;\n<\/code><\/pre>\n\n\n\n<p>On the <strong>target<\/strong> database, query:<\/p>\n\n\n\n<pre><code class=\"language-sql\">SELECT customer_id, full_name, updated_at\nFROM ggadmin.customer_demo\nORDER BY customer_id;\n<\/code><\/pre>\n\n\n\n<p><strong>Expected outcome:<\/strong> The target reflects the insert\/update\/delete operations after a short delay. Only row <code>customer_id=1<\/code> remains with the updated name.<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Validation<\/h3>\n\n\n\n<p>Use multiple validation methods:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Data validation<\/strong>\n   &#8211; Compare counts and sample rows on source and target.<\/li>\n<li><strong>Process health<\/strong>\n   &#8211; Extract and Replicat show <strong>Running<\/strong>.<\/li>\n<li><strong>Lag monitoring<\/strong>\n   &#8211; Check \u201clag\u201d indicators in the GoldenGate UI (if available).<\/li>\n<li><strong>Error logs<\/strong>\n   &#8211; Confirm no repeated connection or permission errors.<\/li>\n<\/ol>\n\n\n\n<p>A simple row-count check:<\/p>\n\n\n\n<pre><code class=\"language-sql\">-- Run on both source and target\nSELECT COUNT(*) FROM ggadmin.customer_demo;\n<\/code><\/pre>\n\n\n\n<p><strong>Expected outcome:<\/strong> Counts match (for this lab, should be <code>1<\/code>).<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Troubleshooting<\/h3>\n\n\n\n<p>Common issues and fixes:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Cannot connect to database<\/strong>\n   &#8211; Check subnet routing (internet\/NAT\/DRG) and NSG rules.\n   &#8211; Confirm Autonomous DB network access mode (public vs private endpoint).\n   &#8211; Confirm wallet\/cert requirements are satisfied (Autonomous often requires wallet-based connectivity).<\/li>\n<li><strong>Extract abends due to missing privileges<\/strong>\n   &#8211; Re-check <code>DBMS_GOLDENGATE_AUTH<\/code> grants on the source.\n   &#8211; Ensure supplemental logging is configured as required.<\/li>\n<li><strong>Replicat failing with \u201ctable not found\u201d<\/strong>\n   &#8211; Ensure target table exists with correct schema name and case.\n   &#8211; Check mapping rules.<\/li>\n<li><strong>Replication lag grows<\/strong>\n   &#8211; Deployment sizing too small\n   &#8211; Network latency\n   &#8211; Target apply constraints\/locks\n   &#8211; Index\/constraint overhead on target<\/li>\n<li><strong>No changes appear<\/strong>\n   &#8211; Ensure you committed transactions\n   &#8211; Ensure Extract is started and capturing the correct table\n   &#8211; Ensure Replicat is reading the correct trail\/path<\/li>\n<\/ol>\n\n\n\n<p>When stuck, rely on the official troubleshooting sections in the product docs:\nhttps:\/\/docs.oracle.com\/en\/cloud\/paas\/goldengate-service\/<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Cleanup<\/h3>\n\n\n\n<p>To stop billing and leave no resources behind:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In GoldenGate console:\n   &#8211; Stop Replicat\n   &#8211; Stop Extract<\/li>\n<li>In OCI Console:\n   &#8211; Delete GoldenGate deployment\n   &#8211; Delete GoldenGate connections<\/li>\n<li>Delete databases (if created for the lab):\n   &#8211; Terminate <code>GGSRCLAB<\/code> and <code>GGTGTLAB<\/code><\/li>\n<li>Delete networking (if dedicated):\n   &#8211; NSG\n   &#8211; Subnet\n   &#8211; VCN<\/li>\n<li>Remove any stored credentials you created.<\/li>\n<\/ol>\n\n\n\n<p><strong>Expected outcome:<\/strong> All billable resources are deleted, and the compartment is empty.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">11. Best Practices<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Architecture best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Prefer <strong>private networking<\/strong> (private endpoints + Bastion\/VPN\/FastConnect) for production.<\/li>\n<li>Separate environments by compartment: <code>dev<\/code>, <code>test<\/code>, <code>prod<\/code>.<\/li>\n<li>Design for <strong>cutover<\/strong>: include validation, fallback, and rollback steps.<\/li>\n<li>Keep CDC pipelines focused: replicate \u201cwhat you need,\u201d not the entire database by default.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">IAM\/security best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use <strong>least privilege<\/strong> OCI policies for GoldenGate administrators.<\/li>\n<li>Separate roles:<\/li>\n<li>Network admin<\/li>\n<li>GoldenGate operator<\/li>\n<li>DBA\/security officer<\/li>\n<li>Use least-privilege database users: separate capture and apply users where appropriate.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Cost best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Turn off\/delete non-prod deployments when idle.<\/li>\n<li>Right-size based on measured redo volume and throughput testing.<\/li>\n<li>Avoid cross-region replication unless needed.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Performance best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ensure source logging is correctly configured (supplemental logging as required).<\/li>\n<li>Keep target constraints\/indexing appropriate; too many indexes can slow apply.<\/li>\n<li>Monitor lag continuously; define thresholds and alarms.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Reliability best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use checkpoints properly (default behavior is usually correct; avoid manual tampering).<\/li>\n<li>Plan maintenance windows for schema changes and deployments.<\/li>\n<li>Document restart procedures and runbooks.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Operations best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Centralize logs\/metrics where possible.<\/li>\n<li>Create alarms for:<\/li>\n<li>Extract\/Replicat stopped<\/li>\n<li>Lag above threshold<\/li>\n<li>Storage\/trail saturation (if exposed)<\/li>\n<li>Use consistent naming:<\/li>\n<li>Deployments: <code>gg-&lt;env&gt;-&lt;purpose&gt;<\/code><\/li>\n<li>Connections: <code>conn-&lt;env&gt;-&lt;dbrole&gt;-&lt;db&gt;<\/code><\/li>\n<li>Extract\/Replicat: <code>ext_&lt;schema&gt;_&lt;purpose&gt;<\/code>, <code>rep_&lt;schema&gt;_&lt;purpose&gt;<\/code><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Governance\/tagging\/naming best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tag resources with <code>env<\/code>, <code>owner<\/code>, <code>app<\/code>, <code>costcenter<\/code>.<\/li>\n<li>Use compartments for strong boundaries and clean cost reporting.<\/li>\n<li>Keep an inventory of pipelines and data flows for compliance.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">12. Security Considerations<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Identity and access model<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>OCI IAM<\/strong> controls who can create\/manage:<\/li>\n<li>Deployments<\/li>\n<li>Connections<\/li>\n<li>Related networking and database resources<\/li>\n<li>GoldenGate console access must be protected:<\/li>\n<li>Restrict ingress (NSG, allowlisted IPs)<\/li>\n<li>Prefer private access paths<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Encryption<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Data in transit:<\/li>\n<li>Use TLS where supported\/required<\/li>\n<li>Autonomous Database connectivity commonly uses wallets and secure connections<\/li>\n<li>Data at rest:<\/li>\n<li>Managed services and Autonomous Database encrypt at rest by default in OCI (confirm your service\u2019s encryption guarantees in official docs).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Network exposure<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Avoid public admin endpoints in production.<\/li>\n<li>If you must use public access:<\/li>\n<li>Restrict by source IP<\/li>\n<li>Use MFA where available<\/li>\n<li>Monitor access logs<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Secrets handling<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Do not store passwords in scripts or parameter files in plain text.<\/li>\n<li>Use GoldenGate credential store\/aliases.<\/li>\n<li>Consider OCI Vault for secret lifecycle and rotation patterns (verify exact integration steps).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Audit\/logging<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Enable <strong>OCI Audit<\/strong> (enabled by default in OCI) and review logs for GoldenGate resource changes.<\/li>\n<li>Ensure operational logs are retained per your compliance needs.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Compliance considerations<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Data replication can create regulated-data copies. Plan for:<\/li>\n<li>Data residency requirements (region choice)<\/li>\n<li>Retention policies<\/li>\n<li>Masking\/tokenization requirements (GoldenGate is not a full data masking platform; use appropriate tooling)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Common security mistakes<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Public admin endpoint open to the internet<\/li>\n<li>Over-privileged database users (DBA-level grants without need)<\/li>\n<li>Replicating sensitive tables to less-secure targets<\/li>\n<li>No alerting on stopped processes or increasing lag<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Secure deployment recommendations<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Private subnets + Bastion\/VPN\/FastConnect<\/li>\n<li>Strict NSGs with least-ports\/least-sources<\/li>\n<li>Separate capture\/apply accounts<\/li>\n<li>Continuous monitoring and incident response runbooks<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">13. Limitations and Gotchas<\/h2>\n\n\n\n<blockquote>\n<p>These are common issues seen in real deployments. Always confirm current service limits and supported matrices in official OCI GoldenGate docs.<\/p>\n<\/blockquote>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Supported technologies vary<\/strong>: Not every GoldenGate connector\/adapter may be available in OCI GoldenGate. Verify supported sources\/targets for your region and service version.<\/li>\n<li><strong>Autonomous Database connectivity nuances<\/strong>: Wallet requirements, network access modes (public\/private endpoint), and privilege procedures differ from self-managed Oracle DB.<\/li>\n<li><strong>Initial load is separate<\/strong>: CDC keeps changes flowing, but you still need an initial data load strategy (Data Pump, export\/import, database copy, or GoldenGate initial load features\u2014verify best practice).<\/li>\n<li><strong>Schema changes require planning<\/strong>: DDL replication support depends on configuration and database types. Plan migrations and DDL handling carefully.<\/li>\n<li><strong>Network is the #1 cause of failures<\/strong>: NSGs, route tables, DNS, and endpoint access are frequent root causes.<\/li>\n<li><strong>Lag isn\u2019t just a GoldenGate problem<\/strong>: Target constraints, slow I\/O, database contention, and long transactions can increase lag.<\/li>\n<li><strong>Costs can surprise<\/strong>: Leaving deployments running, using larger shapes than needed, and cross-region replication can raise monthly spend.<\/li>\n<li><strong>Cutover complexity<\/strong>: Application cutover requires coordinating writes, final sync, validation, and rollback options.<\/li>\n<li><strong>Operational ownership<\/strong>: Even as a managed service, your team owns pipeline correctness, data validation, and on-call response.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">14. Comparison with Alternatives<\/h2>\n\n\n\n<p>GoldenGate is a CDC replication engine. Some alternatives are better for batch ETL, app integration, or managed migrations.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Option<\/th>\n<th>Best For<\/th>\n<th>Strengths<\/th>\n<th>Weaknesses<\/th>\n<th>When to Choose<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>OCI GoldenGate (GoldenGate)<\/strong><\/td>\n<td>Real-time CDC replication, migrations, continuous sync<\/td>\n<td>Log-based capture, low latency, mature replication concepts<\/td>\n<td>Cost while running; requires careful network\/DB setup; supported tech matrix constraints<\/td>\n<td>When you need reliable CDC and minimal downtime cutover<\/td>\n<\/tr>\n<tr>\n<td><strong>Oracle Data Guard<\/strong><\/td>\n<td>Oracle-to-Oracle HA\/DR<\/td>\n<td>Strong DR for Oracle DB, simpler for HA<\/td>\n<td>Not a general CDC integration tool; primarily Oracle-to-Oracle<\/td>\n<td>When your goal is DR\/HA of an Oracle DB rather than multi-target integration<\/td>\n<\/tr>\n<tr>\n<td><strong>OCI Database Migration<\/strong><\/td>\n<td>Guided migrations<\/td>\n<td>Workflow for migrations; can reduce manual steps<\/td>\n<td>Not a general-purpose real-time integration service<\/td>\n<td>When you need a migration project tool more than a CDC platform<\/td>\n<\/tr>\n<tr>\n<td><strong>OCI Data Integration<\/strong><\/td>\n<td>Batch ETL\/ELT pipelines<\/td>\n<td>Good for scheduled integration and transformations<\/td>\n<td>Not designed for low-latency CDC<\/td>\n<td>When batch is acceptable and transformations are key<\/td>\n<\/tr>\n<tr>\n<td><strong>Oracle Integration (OIC)<\/strong><\/td>\n<td>App-to-app integration, APIs, workflows<\/td>\n<td>Connectors, orchestration, business processes<\/td>\n<td>Not for high-volume log-based CDC replication<\/td>\n<td>When integration is process\/API driven rather than CDC<\/td>\n<\/tr>\n<tr>\n<td><strong>AWS DMS<\/strong><\/td>\n<td>CDC\/migration in AWS<\/td>\n<td>Managed migration and CDC<\/td>\n<td>Different ecosystem; feature parity varies<\/td>\n<td>When workloads are primarily on AWS<\/td>\n<\/tr>\n<tr>\n<td><strong>GCP Datastream<\/strong><\/td>\n<td>CDC into GCP<\/td>\n<td>Managed CDC service<\/td>\n<td>GCP-specific; connector constraints<\/td>\n<td>When targeting GCP analytics\/streaming<\/td>\n<\/tr>\n<tr>\n<td><strong>Azure Data Factory \/ Fabric Data Pipelines<\/strong><\/td>\n<td>ETL\/ELT orchestration<\/td>\n<td>Strong pipeline orchestration<\/td>\n<td>CDC capabilities vary; may require extra services<\/td>\n<td>When you need orchestration more than log-based replication<\/td>\n<\/tr>\n<tr>\n<td><strong>Debezium + Kafka Connect (self-managed)<\/strong><\/td>\n<td>Open-source CDC pipelines<\/td>\n<td>Flexible, event-streaming-native<\/td>\n<td>You operate everything; operational complexity<\/td>\n<td>When you want OSS stack and can run\/operate it reliably<\/td>\n<\/tr>\n<tr>\n<td><strong>Qlik Replicate \/ Striim<\/strong><\/td>\n<td>Commercial CDC platforms<\/td>\n<td>Broad connector ecosystems<\/td>\n<td>Licensing cost; vendor lock-in<\/td>\n<td>When you need connectors not covered by OCI GoldenGate or multi-cloud standardization<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">15. Real-World Example<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Enterprise example: Core banking reporting offload and migration<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> A bank runs a mission-critical Oracle OLTP system with heavy reporting demand and a planned migration to a new platform.<\/li>\n<li><strong>Proposed architecture:<\/strong><\/li>\n<li>OCI GoldenGate captures changes from the OLTP source database<\/li>\n<li>Replicates into an ADW reporting store for dashboards<\/li>\n<li>Maintains synchronization to a new target database during the migration program<\/li>\n<li>Uses private connectivity (FastConnect\/VPN + DRG), private endpoints, strict NSGs<\/li>\n<li><strong>Why GoldenGate was chosen:<\/strong><\/li>\n<li>Log-based capture reduces OLTP overhead<\/li>\n<li>Continuous sync supports both reporting and migration coexistence<\/li>\n<li>Operational restartability and checkpointing reduce risk<\/li>\n<li><strong>Expected outcomes:<\/strong><\/li>\n<li>Reporting queries move off OLTP<\/li>\n<li>Migration cutover window shrinks significantly<\/li>\n<li>Better operational visibility into replication lag and pipeline health<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Startup\/small-team example: SaaS operational analytics near real-time<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> A startup needs near-real-time analytics from its transactional database into a warehouse for customer-facing dashboards.<\/li>\n<li><strong>Proposed architecture:<\/strong><\/li>\n<li>Small OCI GoldenGate deployment in a single region<\/li>\n<li>Source ATP \u2192 Target ADW replication for key tables only<\/li>\n<li>Basic monitoring\/alarms on lag<\/li>\n<li>Strong cost controls (stop non-prod deployments; minimal sizing)<\/li>\n<li><strong>Why GoldenGate was chosen:<\/strong><\/li>\n<li>Faster than building custom CDC tooling<\/li>\n<li>Lower risk than polling-based approaches<\/li>\n<li>Works well with Oracle database services already in use<\/li>\n<li><strong>Expected outcomes:<\/strong><\/li>\n<li>Near-real-time dashboards<\/li>\n<li>Reduced engineering time on data plumbing<\/li>\n<li>Clear operational model (lag thresholds, restart runbooks)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">16. FAQ<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\n<p><strong>Is GoldenGate the same as OCI GoldenGate?<\/strong><br\/>\n   GoldenGate is the product family. <strong>OCI GoldenGate<\/strong> is the managed Oracle Cloud service that runs GoldenGate for you. Always follow OCI GoldenGate documentation for cloud steps.<\/p>\n<\/li>\n<li>\n<p><strong>Is OCI GoldenGate \u201cETL\u201d?<\/strong><br\/>\n   It\u2019s primarily <strong>CDC replication<\/strong>, not a full ETL platform. You can do limited mapping\/filtering, but heavy transformations typically belong in ETL\/ELT tools.<\/p>\n<\/li>\n<li>\n<p><strong>Do I need an initial load?<\/strong><br\/>\n   Yes. CDC captures changes from a point in time; you still need a strategy to load existing data before or alongside CDC.<\/p>\n<\/li>\n<li>\n<p><strong>Can GoldenGate replicate DDL (schema changes)?<\/strong><br\/>\n   Sometimes, depending on configuration and platforms. DDL replication is a common source of surprises\u2014verify and test.<\/p>\n<\/li>\n<li>\n<p><strong>Does GoldenGate support non-Oracle databases?<\/strong><br\/>\n   GoldenGate as a product can support heterogeneous endpoints, but <strong>OCI GoldenGate supported technologies<\/strong> may vary. Verify the supported matrix in official docs.<\/p>\n<\/li>\n<li>\n<p><strong>How do I secure the GoldenGate admin console?<\/strong><br\/>\n   Prefer private endpoints, restrict ingress via NSGs, and use controlled admin access paths (Bastion\/VPN). Avoid open internet exposure.<\/p>\n<\/li>\n<li>\n<p><strong>What are the typical ports I must allow?<\/strong><br\/>\n   At minimum, HTTPS (443) for admin access (if used), and database listener ports between deployment and databases. Exact ports depend on your database services and configuration.<\/p>\n<\/li>\n<li>\n<p><strong>How do I measure replication lag?<\/strong><br\/>\n   Use the GoldenGate UI metrics (lag, checkpoint position) and\u2014where available\u2014OCI Monitoring metrics. Set alarms on thresholds meaningful to your RPO\/RTO.<\/p>\n<\/li>\n<li>\n<p><strong>Is GoldenGate a replacement for backups?<\/strong><br\/>\n   No. Replication is not backup. Keep standard backup and recovery strategies.<\/p>\n<\/li>\n<li>\n<p><strong>Can I replicate across regions?<\/strong><br\/>\n   Architecturally yes, but it adds latency, complexity, and cost (inter-region transfer). Prefer same-region unless business requires otherwise.<\/p>\n<\/li>\n<li>\n<p><strong>What causes replication to fall behind most often?<\/strong><br\/>\n   Network issues, insufficient sizing, target database contention, long-running transactions, and misconfigured logging\/privileges.<\/p>\n<\/li>\n<li>\n<p><strong>How do I reduce cost quickly?<\/strong><br\/>\n   Stop\/delete non-prod deployments, right-size, and limit replicated objects to what\u2019s necessary.<\/p>\n<\/li>\n<li>\n<p><strong>Can I use GoldenGate for active-active multi-master?<\/strong><br\/>\n   GoldenGate can support bidirectional patterns, but conflict handling and design are complex. Treat it as an advanced architecture requiring careful testing.<\/p>\n<\/li>\n<li>\n<p><strong>Does OCI GoldenGate manage patches automatically?<\/strong><br\/>\n   OCI manages parts of the service, but patching responsibilities and windows depend on the service model. Verify in the official service documentation.<\/p>\n<\/li>\n<li>\n<p><strong>What\u2019s the difference between GoldenGate and Data Guard?<\/strong><br\/>\n   Data Guard is primarily Oracle-to-Oracle HA\/DR. GoldenGate is CDC replication for integration, migration, and multi-target sync patterns.<\/p>\n<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">17. Top Online Resources to Learn GoldenGate<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Resource Type<\/th>\n<th>Name<\/th>\n<th>Why It Is Useful<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Official documentation<\/td>\n<td>OCI GoldenGate Documentation<\/td>\n<td>Primary, up-to-date configuration guidance for OCI GoldenGate. https:\/\/docs.oracle.com\/en\/cloud\/paas\/goldengate-service\/<\/td>\n<\/tr>\n<tr>\n<td>Official product page<\/td>\n<td>Oracle GoldenGate (product family)<\/td>\n<td>Good overview of capabilities and platform scope. https:\/\/www.oracle.com\/database\/technologies\/goldengate\/<\/td>\n<\/tr>\n<tr>\n<td>Official pricing<\/td>\n<td>Oracle Cloud Price List<\/td>\n<td>Search \u201cGoldenGate\u201d for current SKUs and regional pricing context. https:\/\/www.oracle.com\/cloud\/price-list\/<\/td>\n<\/tr>\n<tr>\n<td>Pricing calculator<\/td>\n<td>OCI Cost Estimator<\/td>\n<td>Model deployment runtime and related OCI costs. https:\/\/www.oracle.com\/cloud\/costestimator.html<\/td>\n<\/tr>\n<tr>\n<td>Architecture guidance<\/td>\n<td>Oracle Architecture Center<\/td>\n<td>Reference architectures and best practices (search for GoldenGate\/CDC). https:\/\/docs.oracle.com\/en\/solutions\/<\/td>\n<\/tr>\n<tr>\n<td>Tutorials\/labs<\/td>\n<td>Oracle Cloud Tutorials<\/td>\n<td>Step-by-step labs; search for GoldenGate. https:\/\/docs.oracle.com\/en\/learn\/<\/td>\n<\/tr>\n<tr>\n<td>Release notes<\/td>\n<td>OCI GoldenGate docs (release notes section)<\/td>\n<td>Track changes, new connectors, and behavioral updates (location varies; use docs navigation). https:\/\/docs.oracle.com\/en\/cloud\/paas\/goldengate-service\/<\/td>\n<\/tr>\n<tr>\n<td>Community learning<\/td>\n<td>Oracle user communities\/forums<\/td>\n<td>Practical troubleshooting patterns; validate against docs. https:\/\/forums.oracle.com\/<\/td>\n<\/tr>\n<tr>\n<td>Videos<\/td>\n<td>Oracle YouTube channel<\/td>\n<td>Product walkthroughs and webinars (search \u201cOCI GoldenGate\u201d). https:\/\/www.youtube.com\/@Oracle<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">18. Training and Certification Providers<\/h2>\n\n\n\n<p>Exactly the following institutes are listed as training providers; verify course outlines and delivery modes on their websites.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\n<p><strong>DevOpsSchool.com<\/strong><br\/>\n   &#8211; Suitable audience: DevOps engineers, cloud engineers, platform teams<br\/>\n   &#8211; Likely learning focus: Cloud operations, DevOps practices, tooling that can complement data integration operations<br\/>\n   &#8211; Mode: Check website<br\/>\n   &#8211; Website: https:\/\/www.devopsschool.com\/<\/p>\n<\/li>\n<li>\n<p><strong>ScmGalaxy.com<\/strong><br\/>\n   &#8211; Suitable audience: Software configuration management learners, DevOps practitioners<br\/>\n   &#8211; Likely learning focus: SCM, DevOps, delivery practices (may complement GoldenGate operationalization)<br\/>\n   &#8211; Mode: Check website<br\/>\n   &#8211; Website: https:\/\/www.scmgalaxy.com\/<\/p>\n<\/li>\n<li>\n<p><strong>CLoudOpsNow.in<\/strong><br\/>\n   &#8211; Suitable audience: Cloud operations engineers, SRE\/operations teams<br\/>\n   &#8211; Likely learning focus: Cloud ops practices, monitoring, reliability, operational playbooks<br\/>\n   &#8211; Mode: Check website<br\/>\n   &#8211; Website: https:\/\/www.cloudopsnow.in\/<\/p>\n<\/li>\n<li>\n<p><strong>SreSchool.com<\/strong><br\/>\n   &#8211; Suitable audience: SREs, operations teams, reliability engineers<br\/>\n   &#8211; Likely learning focus: SRE principles, incident response, monitoring\/alerting<br\/>\n   &#8211; Mode: Check website<br\/>\n   &#8211; Website: https:\/\/www.sreschool.com\/<\/p>\n<\/li>\n<li>\n<p><strong>AiOpsSchool.com<\/strong><br\/>\n   &#8211; Suitable audience: Operations and platform teams exploring AIOps<br\/>\n   &#8211; Likely learning focus: AIOps concepts, automation, observability practices<br\/>\n   &#8211; Mode: Check website<br\/>\n   &#8211; Website: https:\/\/www.aiopsschool.com\/<\/p>\n<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">19. Top Trainers<\/h2>\n\n\n\n<p>Exactly the following trainer-related sites are listed; verify current offerings directly.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\n<p><strong>RajeshKumar.xyz<\/strong><br\/>\n   &#8211; Likely specialization: DevOps\/cloud training and mentoring (verify specifics)<br\/>\n   &#8211; Suitable audience: Engineers looking for guided coaching<br\/>\n   &#8211; Website: https:\/\/www.rajeshkumar.xyz\/<\/p>\n<\/li>\n<li>\n<p><strong>devopstrainer.in<\/strong><br\/>\n   &#8211; Likely specialization: DevOps training programs (verify specifics)<br\/>\n   &#8211; Suitable audience: Beginners to intermediate DevOps practitioners<br\/>\n   &#8211; Website: https:\/\/www.devopstrainer.in\/<\/p>\n<\/li>\n<li>\n<p><strong>devopsfreelancer.com<\/strong><br\/>\n   &#8211; Likely specialization: DevOps consulting\/training marketplace-style offerings (verify specifics)<br\/>\n   &#8211; Suitable audience: Teams seeking short-term expert help<br\/>\n   &#8211; Website: https:\/\/www.devopsfreelancer.com\/<\/p>\n<\/li>\n<li>\n<p><strong>devopssupport.in<\/strong><br\/>\n   &#8211; Likely specialization: DevOps support and guidance (verify specifics)<br\/>\n   &#8211; Suitable audience: Ops teams needing practical support coverage<br\/>\n   &#8211; Website: https:\/\/www.devopssupport.in\/<\/p>\n<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">20. Top Consulting Companies<\/h2>\n\n\n\n<p>Exactly the following consulting companies are listed; descriptions are general and should be validated via their websites and proposals.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\n<p><strong>cotocus.com<\/strong><br\/>\n   &#8211; Likely service area: Cloud\/DevOps consulting and engineering services (verify exact offerings)<br\/>\n   &#8211; Where they may help: Architecture, implementation support, operationalization<br\/>\n   &#8211; Consulting use case examples:  <\/p>\n<ul>\n<li>Designing secure VCN connectivity for OCI GoldenGate  <\/li>\n<li>Building deployment automation and runbooks  <\/li>\n<li>Operational monitoring and alerting setup  <\/li>\n<li>Website: https:\/\/cotocus.com\/<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>DevOpsSchool.com<\/strong><br\/>\n   &#8211; Likely service area: DevOps\/cloud consulting and training services<br\/>\n   &#8211; Where they may help: Enablement, platform practices, delivery pipelines that support data platforms<br\/>\n   &#8211; Consulting use case examples:  <\/p>\n<ul>\n<li>Cloud governance and tagging strategy for GoldenGate environments  <\/li>\n<li>SRE-style monitoring and incident response for replication pipelines  <\/li>\n<li>Cost optimization reviews for always-on deployments  <\/li>\n<li>Website: https:\/\/www.devopsschool.com\/<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>DEVOPSCONSULTING.IN<\/strong><br\/>\n   &#8211; Likely service area: DevOps and cloud consulting (verify exact offerings)<br\/>\n   &#8211; Where they may help: Implementation services, operations support, best practices adoption<br\/>\n   &#8211; Consulting use case examples:  <\/p>\n<ul>\n<li>Secure admin access patterns (Bastion\/VPN) for GoldenGate console  <\/li>\n<li>Infrastructure-as-code for networking and environments  <\/li>\n<li>Production readiness reviews (IAM, NSGs, monitoring)  <\/li>\n<li>Website: https:\/\/www.devopsconsulting.in\/<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">21. Career and Learning Roadmap<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">What to learn before GoldenGate<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Oracle Cloud basics: compartments, IAM policies, VCN\/subnets\/NSGs<\/li>\n<li>Database fundamentals: transactions, redo\/transaction logs, constraints, indexing<\/li>\n<li>Oracle Database basics: schemas, users\/roles, SQL, connectivity<\/li>\n<li>Observability fundamentals: metrics, logs, alerting, incident response<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">What to learn after GoldenGate<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Advanced replication design: initial load strategies, DDL handling, conflict detection (for bidirectional)<\/li>\n<li>Network architecture: DRG, FastConnect, private endpoints<\/li>\n<li>Data platform patterns: warehouse\/lakehouse design, data governance, lineage<\/li>\n<li>Automation: OCI CLI, Terraform, CI\/CD for infrastructure and configuration<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Job roles that use it<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cloud Solution Architect (data platform focus)<\/li>\n<li>Data Engineer (CDC pipelines)<\/li>\n<li>DBA \/ Database Engineer (migration and replication)<\/li>\n<li>SRE \/ Operations Engineer (data platform reliability)<\/li>\n<li>Integration Engineer (data movement patterns)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Certification path (if available)<\/h3>\n\n\n\n<p>Oracle certification availability changes over time. Start with:\n&#8211; Oracle Cloud Infrastructure foundations and architect tracks (verify current names)\n&#8211; Oracle database administration tracks\nThen specialize via:\n&#8211; OCI GoldenGate workshops and official labs<br\/>\nAlways verify current certification offerings on Oracle University: https:\/\/education.oracle.com\/<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Project ideas for practice<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Build a repeatable \u201cmigration factory\u201d template: VCN + GoldenGate + source\/target DB + validation scripts<\/li>\n<li>Implement replication monitoring: alarms on lag and process down, with runbooks<\/li>\n<li>Schema evolution drill: add a column and validate downstream impacts<\/li>\n<li>Cost-control automation: scheduled stop\/start for non-prod deployments<\/li>\n<li>Cross-VCN replication with private networking (DRG + routing + NSGs)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">22. Glossary<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>CDC (Change Data Capture):<\/strong> Capturing row-level changes (insert\/update\/delete) from a source system and delivering them elsewhere.<\/li>\n<li><strong>Extract:<\/strong> GoldenGate capture process that reads changes (often from transaction logs).<\/li>\n<li><strong>Replicat:<\/strong> GoldenGate apply process that writes changes to the target.<\/li>\n<li><strong>Trail file:<\/strong> GoldenGate\u2019s staged change log format used between components.<\/li>\n<li><strong>Checkpoint:<\/strong> Stored position markers that allow processes to resume safely after interruptions.<\/li>\n<li><strong>Lag:<\/strong> Delay between source commit time and target apply time (or between extract position and current time).<\/li>\n<li><strong>VCN (Virtual Cloud Network):<\/strong> OCI\u2019s software-defined network container.<\/li>\n<li><strong>NSG (Network Security Group):<\/strong> OCI virtual firewall rules applied to VNICs\/resources.<\/li>\n<li><strong>Compartment:<\/strong> OCI logical container for organizing and isolating resources with IAM policies.<\/li>\n<li><strong>Autonomous Database (ATP\/ADW):<\/strong> Managed Oracle databases in OCI optimized for transaction processing (ATP) or analytics (ADW).<\/li>\n<li><strong>Initial load:<\/strong> The first copy of existing data to the target before CDC keeps it current.<\/li>\n<li><strong>DDL:<\/strong> Data Definition Language\u2014schema changes such as CREATE\/ALTER\/DROP.<\/li>\n<li><strong>Cutover:<\/strong> The moment you switch production traffic from old system to new.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">23. Summary<\/h2>\n\n\n\n<p>GoldenGate in <strong>Oracle Cloud<\/strong> (OCI GoldenGate) is a managed service for <strong>real-time CDC replication<\/strong> that helps you integrate and synchronize data across databases with low latency and strong restartability.<\/p>\n\n\n\n<p>It matters when you need <strong>minimal-downtime migrations<\/strong>, real-time reporting offload, and continuous data synchronization without building brittle custom pipelines. Architecturally, it fits as an <strong>Integration<\/strong> building block focused on <strong>data movement<\/strong>, working alongside OCI networking, IAM, and observability services.<\/p>\n\n\n\n<p>Cost is primarily driven by <strong>deployment runtime and sizing<\/strong>, plus database and network costs\u2014so right-sizing and shutting down non-prod deployments are essential. Security depends on tight IAM, least-privilege database accounts, and private network access patterns for the admin console and data paths.<\/p>\n\n\n\n<p>Use GoldenGate when CDC is the requirement; choose simpler ETL or app-integration services when real-time log-based replication isn\u2019t needed. Next, deepen your skills by following the <strong>official OCI GoldenGate documentation<\/strong> and running Oracle\u2019s labs: https:\/\/docs.oracle.com\/en\/cloud\/paas\/goldengate-service\/<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Integration<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[48,62],"tags":[],"class_list":["post-920","post","type-post","status-publish","format-standard","hentry","category-integration","category-oracle-cloud"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/posts\/920","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/comments?post=920"}],"version-history":[{"count":0,"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/posts\/920\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/media?parent=920"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/categories?post=920"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/tags?post=920"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}