Showing posts with label oracle golden gate 21.3 MA rest api. Show all posts
Showing posts with label oracle golden gate 21.3 MA rest api. Show all posts

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.