Sunday, June 25, 2023

Oracle Golden Gate 21.3 Microservice Architecture - Rest API interaction using cURL - Retrieve the details on a deployment

In this blog, let us see how we can retrieve information on a oracle golden gate 21.3 MA deployment

Previous blog, we noticed how to get the list of deployments:
oracle golden gate 21.3 MA - retrieve deployment list

We will see how to get more details about the candidate deployment:

Candidate deployment: oggdep01

Command:

We add the name of the deployment to the command we referecned to list the deployments as you see below..

curl -u ggsca:ggsca \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-X GET http://127.0.0.1:9100/services/v2/deployments/oggdep01 | jq

Actual output:

[oracle@vcentos79-oracle-sa1 ~]$ curl -u ggsca:ggsca \
> -H "Content-Type: application/json" \
> -H "Accept: application/json" \
> -X GET http://127.0.0.1:9100/services/v2/deployments/oggdep01 | jq
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1039  100  1039    0     0  10805      0 --:--:-- --:--:-- --:--:-- 10936
{
  "$schema": "api:standardResponse",
  "links": [
    {
      "rel": "canonical",
      "href": "http://127.0.0.1:9100/services/v2/deployments/oggdep01",
      "mediaType": "application/json"
    },
    {
      "rel": "self",
      "href": "http://127.0.0.1:9100/services/v2/deployments/oggdep01",
      "mediaType": "application/json"
    },
    {
      "rel": "describedby",
      "href": "http://127.0.0.1:9100/services/v2/metadata-catalog/deployment",
      "mediaType": "application/schema+json"
    }
  ],
  "messages": [],
  "response": {
    "$schema": "ogg:deployment",
    "status": "running",
    "enabled": true,
    "oggHome": "/u01/app/oracle/product/21.3.0/ogg_home_1",
    "oggEtcHome": "/oggdata/oggdep01/etc",
    "oggConfHome": "/oggdata/oggdep01/etc/conf",
    "oggSslHome": "/oggdata/oggdep01/etc/ssl",
    "oggVarHome": "/oggdata/oggdep01/var",
    "oggDataHome": "/oggdata/oggdep01/var/lib/data",
    "id": "5d388be0-47e2-4540-ba9b-866bec5d5e07",
    "environment": [
      {
        "name": "LD_LIBRARY_PATH",
        "value": "${OGG_HOME}/lib/instantclient:${OGG_HOME}/lib"
      },
      {
        "name": "TNS_ADMIN",
        "value": "/u01/app/oracle/product/19.0.0/db_1/network/admin"
      },
      {
        "name": "JAVA_HOME",
        "value": "${OGG_HOME}/jdk"
      }
    ],
    "passwordRegex": ".*"
  }
}

[oracle@vcentos79-oracle-sa1 ~]$

Let us see how we can retrieve the services part of the deployment now:


Command:
curl -u ggsca:ggsca \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-X GET http://127.0.0.1:9100/services/v2/deployments/oggdep01/services | jq

Actual output:

[oracle@vcentos79-oracle-sa1 ~]$ curl -u ggsca:ggsca \
> -H "Content-Type: application/json" \
> -H "Accept: application/json" \
> -X GET http://127.0.0.1:9100/services/v2/deployments/oggdep01/services | jq
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1748  100  1748    0     0  16775      0 --:--:-- --:--:-- --:--:-- 16807
{
  "$schema": "api:standardResponse",
  "links": [
    {
      "rel": "canonical",
      "href": "http://127.0.0.1:9100/services/v2/deployments/oggdep01/services",
      "mediaType": "application/json"
    },
    {
      "rel": "self",
      "href": "http://127.0.0.1:9100/services/v2/deployments/oggdep01/services",
      "mediaType": "application/json"
    },
    {
      "rel": "describedby",
      "href": "http://127.0.0.1:9100/services/v2/metadata-catalog/deploymentServices",
      "mediaType": "application/schema+json"
    }
  ],
  "messages": [],
  "response": {
    "$schema": "ogg:collection",
    "items": [
      {
        "links": [
          {
            "rel": "parent",
            "href": "http://127.0.0.1:9100/services/v2/deployments/oggdep01/services",
            "mediaType": "application/json"
          },
          {
            "rel": "canonical",
            "href": "http://127.0.0.1:9100/services/v2/deployments/oggdep01/services/adminsrvr",
            "mediaType": "application/json"
          }
        ],
        "$schema": "ogg:collectionItem",
        "name": "adminsrvr"
      },
      {
        "links": [
          {
            "rel": "parent",
            "href": "http://127.0.0.1:9100/services/v2/deployments/oggdep01/services",
            "mediaType": "application/json"
          },
          {
            "rel": "canonical",
            "href": "http://127.0.0.1:9100/services/v2/deployments/oggdep01/services/distsrvr",
            "mediaType": "application/json"
          }
        ],
        "$schema": "ogg:collectionItem",
        "name": "distsrvr"
      },
      {
        "links": [
          {
            "rel": "parent",
            "href": "http://127.0.0.1:9100/services/v2/deployments/oggdep01/services",
            "mediaType": "application/json"
          },
          {
            "rel": "canonical",
            "href": "http://127.0.0.1:9100/services/v2/deployments/oggdep01/services/pmsrvr",
            "mediaType": "application/json"
          }
        ],
        "$schema": "ogg:collectionItem",
        "name": "pmsrvr"
      },
      {
        "links": [
          {
            "rel": "parent",
            "href": "http://127.0.0.1:9100/services/v2/deployments/oggdep01/services",
            "mediaType": "application/json"
          },
          {
            "rel": "canonical",
            "href": "http://127.0.0.1:9100/services/v2/deployments/oggdep01/services/recvsrvr",
            "mediaType": "application/json"
          }
        ],
        "$schema": "ogg:collectionItem",
        "name": "recvsrvr"
      }
    ]
  }
}

[oracle@vcentos79-oracle-sa1 ~]$

We will mostly be interested in admin services, so let us collect details about the admin service now:

Command:

curl -u ggsca:ggsca \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-X GET http://127.0.0.1:9100/services/v2/deployments/oggdep01/services/adminsrvr | jq

Actual command output:

[oracle@vcentos79-oracle-sa1 ~]$ curl -u ggsca:ggsca \
> -H "Content-Type: application/json" \
> -H "Accept: application/json" \
> -X GET http://127.0.0.1:9100/services/v2/deployments/oggdep01/services/adminsrvr | jq
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   883  100   883    0     0  11556      0 --:--:-- --:--:-- --:--:-- 11467
{
  "$schema": "api:standardResponse",
  "links": [
    {
      "rel": "canonical",
      "href": "http://127.0.0.1:9100/services/v2/deployments/oggdep01/services/adminsrvr",
      "mediaType": "application/json"
    },
    {
      "rel": "self",
      "href": "http://127.0.0.1:9100/services/v2/deployments/oggdep01/services/adminsrvr",
      "mediaType": "application/json"
    },
    {
      "rel": "describedby",
      "href": "http://127.0.0.1:9100/services/v2/metadata-catalog/service",
      "mediaType": "application/schema+json"
    }
  ],
  "messages": [],
  "response": {
    "$schema": "ogg:service",
    "config": {
      "authorizationDetails": {
        "common": {
          "allow": [
            "Digest",
            "x-Cert",
            "Basic",
            "Bearer"
          ]
        }
      },
      "security": false,
      "workerThreadCount": 24,
      "authorizationEnabled": true,
      "taskManagerEnabled": true,
      "network": {
        "serviceListeningPort": 9011 <<< notice the port is coming very properly.
      },
      "legacyProtocolEnabled": false
    },
    "configForce": true,
    "critical": true,
    "id": "1b57366e-c70d-4f58-a1e4-b077a55c2f8a",
    "locked": false,
    "quiet": true,
    "status": "running",
    "enabled": true
  }
}
[oracle@vcentos79-oracle-sa1 ~]$


This completes this blog. Next blog we explore adminclient.

No comments:

Post a Comment

Flashback data archive steps

 Objective: Ways to track DML changes in a table Detailed objective: We should be able to track the changes in the table at any point in tim...