Oracle GoldenGate · Arazzo Workflow

Oracle GoldenGate Set Up Source Connection

Version 1.0.0

Create a database connection, enable table supplemental logging, and list databases.

1 workflow 1 source API 1 provider
View Spec View on GitHub CDCData IntegrationData SynchronizationDatabaseEnterpriseReal-Time ReplicationArazzoWorkflows

Provider

oracle-goldengate

Workflows

setup-source-connection
Create a connection, add table supplemental logging, and list databases.
Creates a database connection, enables supplemental logging on a table, and retrieves the database names reachable through the connection.
3 steps inputs: alias, authorization, connection, connectionString, domain, table outputs: connectionName, databases, trandataResult
1
createConnection
createConnection
Create the database connection bound to the supplied credential alias.
2
enableTrandata
manageTableSupplementalLogging
Add supplemental logging for the target table so its changes can be captured.
3
listDatabases
getDatabaseNames
List the database names reachable through the connection.

Source API Descriptions

Arazzo Workflow Specification

oracle-goldengate-setup-source-connection-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Oracle GoldenGate Set Up Source Connection
  summary: Create a database connection, enable table supplemental logging, and list databases.
  description: >-
    Prepares a source database for capture. It creates a database connection
    bound to a credential alias, enables supplemental logging (trandata) on the
    target table so changes can be captured, and lists the available database
    names on the connection to confirm reachability. Every step spells out its
    request inline so the flow can be read and executed without opening the
    underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: goldengateApi
  url: ../openapi/oracle-goldengate-rest-api-openapi.yml
  type: openapi
workflows:
- workflowId: setup-source-connection
  summary: Create a connection, add table supplemental logging, and list databases.
  description: >-
    Creates a database connection, enables supplemental logging on a table, and
    retrieves the database names reachable through the connection.
  inputs:
    type: object
    required:
    - authorization
    - connection
    - connectionString
    - domain
    - alias
    - table
    properties:
      authorization:
        type: string
        description: HTTP Basic Authorization header value.
      connection:
        type: string
        description: Name of the database connection to create.
      connectionString:
        type: string
        description: Database connection string.
      domain:
        type: string
        description: Credential store domain backing the connection.
      alias:
        type: string
        description: Credential alias backing the connection.
      table:
        type: string
        description: Fully qualified table name to enable supplemental logging on.
  steps:
  - stepId: createConnection
    description: Create the database connection bound to the supplied credential alias.
    operationId: createConnection
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: connection
      in: path
      value: $inputs.connection
    requestBody:
      contentType: application/json
      payload:
        connectionString: $inputs.connectionString
        credentials:
          domain: $inputs.domain
          alias: $inputs.alias
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      connectionName: $response.body#/name
  - stepId: enableTrandata
    description: >-
      Add supplemental logging for the target table so its changes can be
      captured.
    operationId: manageTableSupplementalLogging
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: connection
      in: path
      value: $inputs.connection
    requestBody:
      contentType: application/json
      payload:
        operation: add
        name: $inputs.table
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      result: $response.body#/result
  - stepId: listDatabases
    description: List the database names reachable through the connection.
    operationId: getDatabaseNames
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: connection
      in: path
      value: $inputs.connection
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      databases: $response.body#/databases
  outputs:
    connectionName: $steps.createConnection.outputs.connectionName
    trandataResult: $steps.enableTrandata.outputs.result
    databases: $steps.listDatabases.outputs.databases