Oracle GoldenGate · Schema

Oracle GoldenGate Deployment

Schema representing an Oracle GoldenGate deployment including its services, processes, connections, and configuration. Covers both on-premises Microservices Architecture deployments and OCI GoldenGate cloud deployments.

CDCData IntegrationData SynchronizationDatabaseEnterpriseReal-Time Replication

Properties

Name Type Description
deployment object Core deployment configuration
services array Microservices within the deployment
extracts array Extract processes for change data capture
replicats array Replicat processes for data apply
connections array Database connections
distributionPaths array Distribution paths for trail data delivery
receiverPaths array Receiver/collector paths for receiving trail data
dataStreams array Data stream configurations
heartbeat object Heartbeat table configuration for lag monitoring
tags object User-defined tags (free-form and defined tags for cloud deployments)
View JSON Schema on GitHub

JSON Schema

oracle-goldengate-deployment-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/api-evangelist/oracle-goldengate/json-schema/oracle-goldengate-deployment-schema.json",
  "title": "Oracle GoldenGate Deployment",
  "description": "Schema representing an Oracle GoldenGate deployment including its services, processes, connections, and configuration. Covers both on-premises Microservices Architecture deployments and OCI GoldenGate cloud deployments.",
  "type": "object",
  "properties": {
    "deployment": {
      "type": "object",
      "description": "Core deployment configuration",
      "properties": {
        "name": {
          "type": "string",
          "description": "Unique name of the GoldenGate deployment"
        },
        "displayName": {
          "type": "string",
          "description": "Human-readable display name for the deployment"
        },
        "description": {
          "type": "string",
          "description": "Description of the deployment purpose and configuration"
        },
        "status": {
          "type": "string",
          "description": "Current deployment status",
          "enum": ["running", "stopped", "error", "creating", "updating", "deleting"]
        },
        "oggHome": {
          "type": "string",
          "description": "Oracle GoldenGate home directory path"
        },
        "oggVersion": {
          "type": "string",
          "description": "GoldenGate software version (e.g., 21.3.0, 23.0.0, 26.0.0)"
        },
        "deploymentType": {
          "type": "string",
          "description": "Type of GoldenGate deployment",
          "enum": ["OGG", "DATABASE_ORACLE", "BIGDATA", "DATABASE_MYSQL", "DATABASE_POSTGRESQL", "DATABASE_SQLSERVER"]
        },
        "licenseModel": {
          "type": "string",
          "description": "License model for cloud deployments",
          "enum": ["LICENSE_INCLUDED", "BRING_YOUR_OWN_LICENSE"]
        },
        "fqdn": {
          "type": "string",
          "description": "Fully qualified domain name for the deployment"
        },
        "publicIpAddress": {
          "type": "string",
          "format": "ipv4",
          "description": "Public IP address (cloud deployments)"
        },
        "privateIpAddress": {
          "type": "string",
          "format": "ipv4",
          "description": "Private IP address"
        },
        "deploymentUrl": {
          "type": "string",
          "format": "uri",
          "description": "URL to access the deployment console"
        },
        "cpuCoreCount": {
          "type": "integer",
          "minimum": 1,
          "description": "Number of CPU cores allocated (cloud deployments)"
        },
        "isAutoScalingEnabled": {
          "type": "boolean",
          "description": "Whether auto-scaling is enabled"
        },
        "isPublic": {
          "type": "boolean",
          "description": "Whether the deployment has a public IP"
        },
        "subnetId": {
          "type": "string",
          "description": "OCI subnet OCID for cloud deployments"
        },
        "compartmentId": {
          "type": "string",
          "description": "OCI compartment OCID for cloud deployments"
        },
        "timeCreated": {
          "type": "string",
          "format": "date-time",
          "description": "When the deployment was created"
        },
        "timeUpdated": {
          "type": "string",
          "format": "date-time",
          "description": "When the deployment was last updated"
        }
      },
      "required": ["name"]
    },
    "services": {
      "type": "array",
      "description": "Microservices within the deployment",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Service name"
          },
          "type": {
            "type": "string",
            "description": "Type of GoldenGate microservice",
            "enum": ["ServiceManager", "AdminServer", "DistributionServer", "ReceiverServer", "PerformanceMetricsServer"]
          },
          "status": {
            "type": "string",
            "enum": ["running", "stopped", "error"]
          },
          "port": {
            "type": "integer",
            "description": "Service listening port"
          },
          "secure": {
            "type": "boolean",
            "description": "Whether the service uses SSL/TLS"
          }
        },
        "required": ["name", "type"]
      }
    },
    "extracts": {
      "type": "array",
      "description": "Extract processes for change data capture",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Extract process name (max 8 characters)"
          },
          "type": {
            "type": "string",
            "description": "Extract type",
            "enum": ["cdc", "initialload", "datapump"]
          },
          "status": {
            "type": "string",
            "enum": ["running", "stopped", "abended", "starting"]
          },
          "description": {
            "type": "string"
          },
          "trail": {
            "type": "string",
            "description": "Output trail file prefix"
          },
          "trailSize": {
            "type": "integer",
            "description": "Trail file size in MB"
          },
          "begin": {
            "type": "string",
            "description": "Begin position (NOW, SCN, or timestamp)"
          },
          "config": {
            "type": "array",
            "description": "Parameter file lines",
            "items": {
              "type": "string"
            }
          },
          "credentials": {
            "$ref": "#/$defs/credentials"
          },
          "lag": {
            "type": "number",
            "description": "Current lag in seconds"
          },
          "checkpoint": {
            "$ref": "#/$defs/checkpoint"
          }
        },
        "required": ["name", "type"]
      }
    },
    "replicats": {
      "type": "array",
      "description": "Replicat processes for data apply",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Replicat process name (max 8 characters)"
          },
          "type": {
            "type": "string",
            "description": "Replicat type",
            "enum": ["classic", "coordinated", "integrated", "parallel"]
          },
          "status": {
            "type": "string",
            "enum": ["running", "stopped", "abended", "starting"]
          },
          "description": {
            "type": "string"
          },
          "trail": {
            "type": "string",
            "description": "Source trail file prefix"
          },
          "checkpointTable": {
            "type": "string",
            "description": "Checkpoint table name (schema.table)"
          },
          "config": {
            "type": "array",
            "description": "Parameter file lines",
            "items": {
              "type": "string"
            }
          },
          "credentials": {
            "$ref": "#/$defs/credentials"
          },
          "lag": {
            "type": "number",
            "description": "Current lag in seconds"
          },
          "checkpoint": {
            "$ref": "#/$defs/checkpoint"
          }
        },
        "required": ["name", "type"]
      }
    },
    "connections": {
      "type": "array",
      "description": "Database connections",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Connection name"
          },
          "type": {
            "type": "string",
            "description": "Database or connection type",
            "enum": [
              "ORACLE", "MYSQL", "POSTGRESQL", "MICROSOFT_SQLSERVER",
              "MONGODB", "KAFKA", "KAFKA_SCHEMA_REGISTRY", "ELASTICSEARCH",
              "AMAZON_S3", "AMAZON_KINESIS", "AZURE_DATA_LAKE_STORAGE",
              "GOOGLE_BIGQUERY", "GOOGLE_CLOUD_STORAGE", "HDFS",
              "OCI_OBJECT_STORAGE", "REDIS", "SNOWFLAKE", "DB2",
              "JAVA_MESSAGE_SERVICE", "GOLDENGATE", "GENERIC"
            ]
          },
          "connectionString": {
            "type": "string",
            "description": "Database connection string or URI"
          },
          "credentials": {
            "$ref": "#/$defs/credentials"
          },
          "lifecycleState": {
            "type": "string",
            "description": "Connection state (for cloud connections)",
            "enum": ["CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]
          }
        },
        "required": ["name"]
      }
    },
    "distributionPaths": {
      "type": "array",
      "description": "Distribution paths for trail data delivery",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Distribution path name"
          },
          "status": {
            "type": "string",
            "enum": ["running", "stopped", "error"]
          },
          "source": {
            "type": "string",
            "description": "Source trail file"
          },
          "target": {
            "type": "string",
            "description": "Target receiver URL or address"
          },
          "targetType": {
            "type": "string",
            "description": "Type of target"
          }
        },
        "required": ["name", "source", "target"]
      }
    },
    "receiverPaths": {
      "type": "array",
      "description": "Receiver/collector paths for receiving trail data",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Collector path name"
          },
          "status": {
            "type": "string",
            "enum": ["running", "stopped", "error"]
          },
          "trail": {
            "type": "string",
            "description": "Target trail file"
          },
          "port": {
            "type": "integer",
            "description": "Listening port"
          }
        },
        "required": ["name"]
      }
    },
    "dataStreams": {
      "type": "array",
      "description": "Data stream configurations",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Data stream name"
          },
          "status": {
            "type": "string",
            "enum": ["active", "inactive", "error"]
          },
          "source": {
            "type": "object",
            "properties": {
              "trailName": {
                "type": "string"
              },
              "extractName": {
                "type": "string"
              }
            }
          },
          "target": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["kafka", "rest", "ocistreaming", "goldengate"]
              },
              "uri": {
                "type": "string"
              },
              "topicName": {
                "type": "string"
              },
              "format": {
                "type": "string",
                "enum": ["json", "avro", "protobuf"]
              }
            }
          }
        },
        "required": ["name"]
      }
    },
    "heartbeat": {
      "type": "object",
      "description": "Heartbeat table configuration for lag monitoring",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "owner": {
          "type": "string",
          "description": "Schema owner of the heartbeat table"
        },
        "tableName": {
          "type": "string",
          "description": "Heartbeat table name"
        },
        "frequency": {
          "type": "integer",
          "description": "Update frequency in seconds"
        },
        "retentionTime": {
          "type": "integer",
          "description": "Retention time in days"
        }
      }
    },
    "tags": {
      "type": "object",
      "description": "User-defined tags (free-form and defined tags for cloud deployments)",
      "properties": {
        "freeformTags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "definedTags": {
          "type": "object",
          "additionalProperties": {
            "type": "object"
          }
        }
      }
    }
  },
  "required": ["deployment"],
  "$defs": {
    "credentials": {
      "type": "object",
      "description": "Credential store reference",
      "properties": {
        "domain": {
          "type": "string",
          "description": "Credential domain name"
        },
        "alias": {
          "type": "string",
          "description": "Credential alias name"
        }
      }
    },
    "checkpoint": {
      "type": "object",
      "description": "Process checkpoint position",
      "properties": {
        "readCheckpoint": {
          "type": "object",
          "properties": {
            "sequenceNumber": {
              "type": "integer"
            },
            "rba": {
              "type": "integer",
              "description": "Relative byte address"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "writeCheckpoint": {
          "type": "object",
          "properties": {
            "sequenceNumber": {
              "type": "integer"
            },
            "rba": {
              "type": "integer"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        }
      }
    }
  }
}