Oracle GoldenGate · Arazzo Workflow

Oracle GoldenGate Provision Replicat Pipeline

Version 1.0.0

Create a Replicat process, start it, and poll until it reports running.

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

Provider

oracle-goldengate

Workflows

provision-replicat-pipeline
Create, start, and verify a Replicat process from a source trail.
Creates a Replicat that applies changes from a source trail, starts it, and confirms it reaches a running state.
3 steps inputs: authorization, checkpointTable, config, replicat, trail outputs: finalStatus, lag, replicatName
1
createReplicat
createReplicat
Create a parallel Replicat process bound to the source trail.
2
startReplicat
issueReplicatCommand
Issue a START command to the newly created Replicat process.
3
pollStatus
getReplicatStatus
Poll the Replicat runtime status until it reports running, looping while it is still starting.

Source API Descriptions

Arazzo Workflow Specification

oracle-goldengate-provision-replicat-pipeline-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Oracle GoldenGate Provision Replicat Pipeline
  summary: Create a Replicat process, start it, and poll until it reports running.
  description: >-
    Stands up the apply side of a replication pipeline. It creates a Replicat
    process bound to a source trail and checkpoint table, issues a START command,
    and polls the Replicat status until it reports running. 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: provision-replicat-pipeline
  summary: Create, start, and verify a Replicat process from a source trail.
  description: >-
    Creates a Replicat that applies changes from a source trail, starts it, and
    confirms it reaches a running state.
  inputs:
    type: object
    required:
    - authorization
    - replicat
    - trail
    - config
    properties:
      authorization:
        type: string
        description: HTTP Basic Authorization header value.
      replicat:
        type: string
        description: Name of the Replicat process to create.
      trail:
        type: string
        description: Source trail file prefix the Replicat reads from.
      checkpointTable:
        type: string
        description: Checkpoint table in schema.table form.
      config:
        type: array
        items:
          type: string
        description: Replicat parameter file content lines.
  steps:
  - stepId: createReplicat
    description: Create a parallel Replicat process bound to the source trail.
    operationId: createReplicat
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: replicat
      in: path
      value: $inputs.replicat
    requestBody:
      contentType: application/json
      payload:
        type: parallel
        trail: $inputs.trail
        checkpointTable: $inputs.checkpointTable
        config: $inputs.config
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      replicatName: $response.body#/name
      replicatStatus: $response.body#/status
  - stepId: startReplicat
    description: Issue a START command to the newly created Replicat process.
    operationId: issueReplicatCommand
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: replicat
      in: path
      value: $inputs.replicat
    requestBody:
      contentType: application/json
      payload:
        action: start
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      commandMessage: $response.body#/response/message
  - stepId: pollStatus
    description: >-
      Poll the Replicat runtime status until it reports running, looping while
      it is still starting.
    operationId: getReplicatStatus
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: replicat
      in: path
      value: $inputs.replicat
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      status: $response.body#/status
      lag: $response.body#/lag
    onSuccess:
    - name: stillStarting
      type: goto
      stepId: pollStatus
      criteria:
      - context: $response.body
        condition: $.status == "starting"
        type: jsonpath
  outputs:
    replicatName: $steps.createReplicat.outputs.replicatName
    finalStatus: $steps.pollStatus.outputs.status
    lag: $steps.pollStatus.outputs.lag