<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Julien Delattre, auteur/autrice sur dbi Blog</title>
	<atom:link href="https://www.dbi-services.com/blog/author/juliendelattre/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.dbi-services.com/blog/author/juliendelattre/</link>
	<description></description>
	<lastBuildDate>Tue, 26 May 2026 08:12:51 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/05/cropped-favicon_512x512px-min-32x32.png</url>
	<title>Julien Delattre, auteur/autrice sur dbi Blog</title>
	<link>https://www.dbi-services.com/blog/author/juliendelattre/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>OGG-08502 Path not found error from OGG Receiver Service</title>
		<link>https://www.dbi-services.com/blog/ogg-08502-path-not-found-error-from-ogg-receiver-service/</link>
					<comments>https://www.dbi-services.com/blog/ogg-08502-path-not-found-error-from-ogg-receiver-service/#respond</comments>
		
		<dc:creator><![CDATA[Julien Delattre]]></dc:creator>
		<pubDate>Thu, 21 May 2026 06:39:00 +0000</pubDate>
				<category><![CDATA[GoldenGate]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[26ai]]></category>
		<category><![CDATA[distribution]]></category>
		<category><![CDATA[Error]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[OEM]]></category>
		<category><![CDATA[ogg]]></category>
		<category><![CDATA[ogg-08502]]></category>
		<category><![CDATA[path]]></category>
		<category><![CDATA[path not found]]></category>
		<category><![CDATA[plug-in]]></category>
		<category><![CDATA[receiver]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=44707</guid>

					<description><![CDATA[<p>Update: this bug seems to be corrected with the latest GoldenGate patch (23.26.2.0.1). If you face this error, try to patch your GoldenGate deployments. Recently, after a successful migration to GoldenGate 26ai, a customer complained that he was seeing a lot of the following error in the ggserr.log file of a GoldenGate deployment (I replaced [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/ogg-08502-path-not-found-error-from-ogg-receiver-service/">OGG-08502 Path not found error from OGG Receiver Service</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p><strong><em>Update:</em></strong> this bug seems to be <strong>corrected</strong> with the latest GoldenGate patch (<code>23.26.2.0.1</code>). If you face this error, try to patch your GoldenGate deployments.</p>



<p>Recently, after a successful <strong>migration to GoldenGate 26ai</strong>, a customer complained that he was seeing a lot of the following <strong>error</strong> in the <code>ggserr.log</code> file of a GoldenGate deployment (I replaced the names for the purpose of this blog).</p>



<pre class="wp-block-code"><code>2026-05-18T14:32:35.948+0200  ERROR   OGG-08502. Oracle GoldenGate Receiver Service for Oracle:   Path path21 not found.</code></pre>



<p>More precisely, in that case, <code>path21</code> is a distribution path sending trail files from deployment <code>ogg_test_02</code> to <code>ogg_test_01</code>. And the error shown above appeared in the log file of the <code>ogg_test_01</code> deployment.</p>



<p>While this error did not seem to indicate any operational issue in the replication, after checking on multiple environments, I confirmed that it appears everywhere. So what is happening exactly ?</p>



<p>If you get this error and do not know where it comes from, <strong>log in to the web UI</strong> of the affected deployment, and go to the <strong><em>Receiver Service Paths</em></strong> tab. You should see a <strong>list of the distribution paths that are connecting to your deployments</strong>. The example below shows the <code>path21</code> that is mentioned in the error.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img fetchpriority="high" decoding="async" width="1024" height="425" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/ogg_ogg08502_bug_webui-1024x425.png" alt="" class="wp-image-44708" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/ogg_ogg08502_bug_webui-1024x425.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/ogg_ogg08502_bug_webui-300x124.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/ogg_ogg08502_bug_webui-768x319.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/ogg_ogg08502_bug_webui-1536x637.png 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/ogg_ogg08502_bug_webui-2048x850.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<h2 class="wp-block-heading" id="h-how-to-reproduce-the-error"><strong>How to reproduce the error ?</strong></h2>



<p>If you click on this path&#8230; Nothing happens ! And by &#8220;nothing&#8221;, I mean &#8220;nothing abnormal&#8221;. In fact, the statistics are properly displayed (see below), and there is <strong>no error shown</strong> to the user. However, if you look at your <code>ggserr.log</code> file you will see that <strong>the error given above appears</strong>.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="461" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/Screenshot-2026-05-18-at-14.51.01-1024x461.png" alt="" class="wp-image-44709" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/Screenshot-2026-05-18-at-14.51.01-1024x461.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/Screenshot-2026-05-18-at-14.51.01-300x135.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/Screenshot-2026-05-18-at-14.51.01-768x346.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/Screenshot-2026-05-18-at-14.51.01-1536x692.png 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/Screenshot-2026-05-18-at-14.51.01-2048x923.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>At first glance, this might not seem like a huge issue, because if you don&#8217;t click on the receiver path, you will not get the error. However, in the log file of the customer, <strong>the error appeared regularly</strong>. Every minute, to be precise.</p>



<h2 class="wp-block-heading" id="h-why-do-i-get-this-error-even-when-i-m-not-accessing-the-web-ui"><strong>Why do I get this error even when I&#8217;m not accessing the web UI ?</strong></h2>



<p>Luckily, when debugging this issue, I started by putting the target in a <strong>blackout in the Oracle Enterprise Manager</strong>. To my surprise, the <strong>error was gone</strong> during the blackout and reappeared right after.</p>



<p>In this case, the <strong><a href="https://www.dbi-services.com/blog/install-and-configure-oem-plug-in-for-goldengate/" target="_blank" rel="noreferrer noopener">Enterprise Manager Plug-in for Oracle GoldenGate</a></strong> is monitoring the status of the deployment every minute and <strong>generates the error</strong> in the process.</p>



<p>When looking at the targets in the OEM, there is no error. Again, <strong>no operational impact</strong>.</p>



<h2 class="wp-block-heading" id="h-does-it-depend-on-the-way-you-create-the-distribution-path"><strong>Does it depend on the way you create the distribution path ?</strong></h2>



<p>GoldenGate offers multiple ways of managing deployments : REST API, <code>adminclient</code>, or the web UI. Unfortunately, some bugs (and some features&#8230;) mean that you should avoid managing some objects with some of these tools (read <a href="https://www.dbi-services.com/blog/overcome-goldengate-26ai-bug-on-custom-profiles/" target="_blank" rel="noreferrer noopener">why you shouldn&#8217;t create profiles through the <code>adminclient</code></a>, for instance).</p>



<p>In this specific case, <strong>all distribution path creation methods lead to the same error</strong> in the log file. It doesn&#8217;t matter whether you create the distribution path with the <code>adminclient</code>, the REST API or the web UI. They will all lead to this error.</p>



<h2 class="wp-block-heading" id="h-advanced-what-s-happening-exactly"><strong>Advanced &#8211; What&#8217;s happening exactly ?</strong></h2>



<p>Let&#8217;s dig a bit to see what is happening behind the scenes. By looking at the <code>restapi.log</code> file (read my blog on <a href="https://www.dbi-services.com/blog/querying-goldengate-rest-api-log-efficiently/" target="_blank" rel="noreferrer noopener">how to analyze REST API logs efficiently</a>), we can see the full error:</p>



<pre class="wp-block-code"><code>2026-05-18 09:08:58.402+0000 ERROR|RestAPI.recvsrvr | Request #9: {
     "context": {
         "httpContextKey": 140097141801744,
         "verbId": 2,
         "verb": "GET",
         "originalVerb": "GET",
         "uri": "/services/v2/targets/path21",
         "protocol": "http",
         "headers": {
             ...
         },
         "host": "vmogg",
         "securityEnabled": false,
         "authorization": {
             "authUserName": "ogg",
             "authUserRole": "Security",
             "authMode": "Cookie"
         },
         "requestId": 8,
         "uriTemplate": "/services/{version}/targets/{path}",
         "catalogUriTemplate": "/services/{version}/metadata-catalog/path"
     },
     "isScaRequest": true,
     "content": null,
     "parameters": {
         "uri": {
             "path": "path21",
             "version": "v2"
         },
         "query": {
             "WindowRef": "%2Fservices%2Fv2%2Fcontent%2F%23%2FrecvsrvrPaths%2Fpath21%2FpathNetworkStats"
         }
     }
 }
 Response: {
     "context": {
         ...
     },
     "isScaResponse": true,
     "content": {
         "$schema": "api:standardResponse",
         "links": &#091;
             {
                 "rel": "canonical",
                 "href": "https://vmogg/services/ogg_test_01/recvsrvr/v2/targets/path21",
                 "mediaType": "application/json"
             },
             {
                 "rel": "self",
                 "href": "https://vmogg/services/ogg_test_01/recvsrvr/v2/targets/path21",
                 "mediaType": "application/json"
             }
         ],
         "messages": &#091;
             {
                 "$schema": "ogg:message",
                 "title": "Path path21 not found",
                 "code": "OGG-08502",
                 "severity": "ERROR",
                 "issued": "2026-05-18T09:08:58Z",
                 "type": "https://www.rfc-editor.org/rfc/rfc9110.html#name-status-codes"
             }
         ]
     }
 }</code></pre>



<p>The issue comes from the following endpoint : <code>/services/v2/targets/path21</code>. It is described in the documentation under <a href="https://docs.oracle.com/en/database/goldengate/core/26/oggra/op-services-version-targets-path-get.html" target="_blank" rel="noreferrer noopener">Retrieve an existing Oracle GoldenGate Collector Path</a>. But looking at another endpoint described in <a href="https://docs.oracle.com/en/database/goldengate/core/26/oggra/op-services-version-targets-get.html" target="_blank" rel="noreferrer noopener">Get a list of distribution paths</a>, we get the following response:</p>



<pre class="wp-block-code"><code>{
    "$schema": "api:standardResponse",
    "links": &#091;
        {
            "rel": "canonical",
            "href": "https://vmogg/services/ogg_test_01/recvsrvr/v2/targets",
            "mediaType": "text/html"
        },
        {
            "rel": "self",
            "href": "https://vmogg/services/ogg_test_01/recvsrvr/v2/targets",
            "mediaType": "text/html"
        },
        {
            "rel": "describedby",
            "href": "https://vmogg/services/ogg_test_01/recvsrvr/v2/metadata-catalog/targets",
            "mediaType": "application/schema+json"
        }
    ],
    "messages": &#091;],
    "response": {
        "$schema": "ogg:collection",
        "items": &#091;
            {
                "links": &#091;
                    {
                        "rel": "parent",
                        "href": "https://vmogg/services/ogg_test_01/recvsrvr/v2/targets",
                        "mediaType": "application/json"
                    },
                    {
                        "rel": "canonical",
                        "href": "https://vmogg/services/ogg_test_01/recvsrvr/v2/targets/path21_ogg26dist2_7811",
                        "mediaType": "application/json"
                    }
                ],
                "$schema": "ogg:collectionItem",
                "name": "path21",
                "status": "running",
                "targetInitiated": false
            }
        ]
    }
}</code></pre>



<p>Here, we see that the endpoint associated with the <code>path21</code> object is not <code>recvsrvr/v2/targets/path21</code> but <code>recvsrvr/v2/targets/path21_ogg26dist2_7811</code>. And looking at this second endpoint, we do not get an error.</p>



<pre class="wp-block-code"><code>{
    "$schema": "api:standardResponse",
    "links": &#091;
        {
            "rel": "canonical",
            "href": "https://vmogg/services/ogg_test_01/recvsrvr/v2/targets/path21_ogg26dist2_7811",
            "mediaType": "text/html"
        },
        {
            "rel": "self",
            "href": "https://vmogg/services/ogg_test_01/recvsrvr/v2/targets/path21_ogg26dist2_7811",
            "mediaType": "text/html"
        },
        {
            "rel": "describedby",
            "href": "https://vmogg/services/ogg_test_01/recvsrvr/v2/metadata-catalog/path",
            "mediaType": "application/schema+json"
        }
    ],
    "messages": &#091;],
    "response": {
        "name": "path21",
        "status": "running",
        "$schema": "ogg:distPath",
        "source": {
            "uri": "trail://localhost:7811/services/v2/sources?trail=pdb2/bb"
        },
        "target": {
            "$schema": "ogg:distPathEndpoint",
            "uri": "ws://vmogg/services/v2/targets?trail=pdb2/bb"
        },
        "options": {
            "network": {
                "appOptions": {
                    "appFlushBytes": 27985,
                    "appFlushSecs": 1
                },
                "socketOptions": {
                    "tcpOptions": {
                        "ipDscp": "DEFAULT",
                        "ipTos": "DEFAULT",
                        "tcpNoDelay": false,
                        "tcpQuickAck": true,
                        "tcpCork": false,
                        "tcpSndBuf": 16384,
                        "tcpRcvBuf": 131072
                    }
                }
            }
        }
    }
}</code></pre>



<p>The problem is that it was never decided for <code>path21</code> to be referred to as <code>path21_ogg26dist2_7811</code> internally. And it looks like GoldenGate does not know about it either&#8230; So until the bug is corrected, you will have to filter this <code>OGG-08502 Path not found</code> error out of the <code>ggserr.log</code> file if you use it for monitoring.</p>



<p></p>
<p>L’article <a href="https://www.dbi-services.com/blog/ogg-08502-path-not-found-error-from-ogg-receiver-service/">OGG-08502 Path not found error from OGG Receiver Service</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbi-services.com/blog/ogg-08502-path-not-found-error-from-ogg-receiver-service/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Install and configure OEM plug-in for GoldenGate</title>
		<link>https://www.dbi-services.com/blog/install-and-configure-oem-plug-in-for-goldengate/</link>
					<comments>https://www.dbi-services.com/blog/install-and-configure-oem-plug-in-for-goldengate/#respond</comments>
		
		<dc:creator><![CDATA[Julien Delattre]]></dc:creator>
		<pubDate>Mon, 18 May 2026 06:30:00 +0000</pubDate>
				<category><![CDATA[GoldenGate]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[13c]]></category>
		<category><![CDATA[19c]]></category>
		<category><![CDATA[23ai]]></category>
		<category><![CDATA[24ai]]></category>
		<category><![CDATA[26ai]]></category>
		<category><![CDATA[configure]]></category>
		<category><![CDATA[enterprise manager]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[monitor]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[OEM]]></category>
		<category><![CDATA[ogg]]></category>
		<category><![CDATA[plug-in]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[promote]]></category>
		<category><![CDATA[target]]></category>
		<category><![CDATA[update]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=44473</guid>

					<description><![CDATA[<p>If you are licensed for the GoldenGate Management Pack, using the Enterprise Manager plug-in for GoldenGate improves monitoring and management of your deployments. And after migrating to the Microservices Architecture, you should definitely update your plug-in and rediscover all targets. Let&#8217;s see how to do all that here. In this blog, I will use the [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/install-and-configure-oem-plug-in-for-goldengate/">Install and configure OEM plug-in for GoldenGate</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>If you are licensed for the GoldenGate Management Pack, using the Enterprise Manager plug-in for GoldenGate improves monitoring and management of your deployments. And after migrating to the Microservices Architecture, you should definitely update your plug-in and rediscover all targets. Let&#8217;s see how to do all that here.</p>



<p>In this blog, I will use the latest version of the Enterprise Manager (24ai) and monitor GoldenGate 26ai deployments. The overall workflow is the same for other versions of the Enterprise Manager and GoldenGate, provided OGG is in the Microservices Architecture.</p>



<p>Here are the main steps to monitor GoldenGate targets from the Enterprise Manager:</p>



<ul class="wp-block-list">
<li><strong>Update the catalog</strong> in the Enterprise Manager</li>



<li><strong>Deploy</strong> the plug-in on the <strong>management server</strong></li>



<li><strong>Deploy</strong> the plug-in on the <strong>agent</strong></li>



<li>Configure the <strong>discovery module</strong></li>



<li><strong>Promote the new targets</strong></li>
</ul>



<div class="wp-block-yoast-seo-table-of-contents yoast-table-of-contents"><h2>Table of contents</h2><ul><li><a href="#h-checking-if-the-plugin-is-already-installed" data-level="2">Checking if the plugin is already installed</a></li><li><a href="#h-update-the-enterprise-manager-catalog" data-level="2">Update the Enterprise Manager catalog</a></li><li><a href="#h-deploy-the-goldengate-plug-in-on-the-management-server" data-level="2">Deploy the GoldenGate plug-in on the Management Server</a></li><li><a href="#h-deploy-the-plug-in-on-the-agent" data-level="2">Deploy the plug-in on the agent</a></li><li><a href="#h-configure-goldengate-monitoring-in-the-enterprise-manager" data-level="2">Configure GoldenGate monitoring in the Enterprise Manager</a></li></ul></div>



<h2 class="wp-block-heading" id="h-checking-if-the-plugin-is-already-installed">Checking if the plugin is already installed</h2>



<p>Before attempting to install the plug-in, make sure it is not already installed in your environment. To check this, go to <strong><em>Setup &gt; Extensibility &gt; Plug-ins</em></strong>, and expand the <em><strong>Middleware</strong></em> section. If you do not see any line named <em><strong>Oracle GoldenGate</strong></em>, it means the plug-in is not installed yet.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="592" height="491" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_noogg.png" alt="" class="wp-image-44477" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_noogg.png 592w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_noogg-300x249.png 300w" sizes="(max-width: 592px) 100vw, 592px" /></figure>
</div>


<h2 class="wp-block-heading" id="h-update-the-enterprise-manager-catalog">Update the Enterprise Manager catalog</h2>



<p>Since most OEM environments do not have access to the Oracle Support directly, we&#8217;ll download the plug-in in offline mode. To do so, go to the <em><strong>Setup &gt; Provisioning and Patching &gt; Offline Patching</strong></em> section.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="324" height="1024" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_tab_access-324x1024.png" alt="" class="wp-image-44476" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_tab_access-324x1024.png 324w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_tab_access-95x300.png 95w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_tab_access.png 365w" sizes="auto, (max-width: 324px) 100vw, 324px" /></figure>
</div>


<p>Once in the <strong><em>Offline Patching</em></strong> section, make sure <em><strong>Offline</strong></em> is selected for the connection and <strong><a href="https://updates.oracle.com/download/em_catalog.zip" target="_blank" rel="noreferrer noopener">download the catalog</a></strong> file as instructed from an environment with access to the Oracle support website. Transfer it to where you have access to the OEM UI, and <strong>upload it</strong>.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="423" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_offline_mode-1024x423.png" alt="" class="wp-image-44478" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_offline_mode-1024x423.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_offline_mode-300x124.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_offline_mode-768x317.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_offline_mode.png 1240w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Once the catalog is uploaded, you should see the following information message.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="404" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_offline_mode_success-1024x404.png" alt="" class="wp-image-44479" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_offline_mode_success-1024x404.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_offline_mode_success-300x118.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_offline_mode_success-768x303.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_offline_mode_success.png 1242w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Then, go to <em><strong>Setup &gt; Extensibility &gt; Self Update</strong></em> and click on <strong><em>Check Updates</em></strong>.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="338" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_self_update_plugin-1024x338.png" alt="" class="wp-image-44483" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_self_update_plugin-1024x338.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_self_update_plugin-300x99.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_self_update_plugin-768x254.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_self_update_plugin-1536x507.png 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_self_update_plugin-2048x676.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>You should see the following pop-up appear, with a link from where you will be able to download the OEM Self Update catalog file. For reference, the one I had when writing this blog was the following : <a href="https://updates.oracle.com/Orion/Download/download_patch/p9348486_112000_Generic.zip" target="_blank" rel="noreferrer noopener">https://updates.oracle.com/Orion/Download/download_patch/p9348486_112000_Generic.zip</a></p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="332" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/ogg_oem_check_updates-1024x332.png" alt="" class="wp-image-44482" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/ogg_oem_check_updates-1024x332.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/ogg_oem_check_updates-300x97.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/ogg_oem_check_updates-768x249.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/ogg_oem_check_updates.png 1400w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>As instructed, transfer this patch to the OMS host and <strong>import</strong> it with <code>emcli</code> and the <code>import_update_catalog</code> action. You can also import it from another managed host. It should take around twenty seconds to import everything.</p>



<pre class="wp-block-code"><code>oracle@oem24:~/ &#091;oem24] emcli import_update_catalog -file=/tmp/p9348486_112000_Generic.zip -omslocal
Processing catalog for Diagnostic Tools
Processing update: Diagnostic Tools - AHFFI 25.1.0.1.0 for Linux
Processing update: Diagnostic Tools - AHF 25.5.0.0.0 for HP

&#091;...]

Processing update: Plug-in - GoldenGate Plug-in now supports monitoring of Oracle GoldenGate Microservices, in addition to the Oracle GoldenGate Classic
Processing update: Plug-in - GoldenGate Plug-in now supports monitoring of Oracle GoldenGate Microservices, in addition to the Oracle GoldenGate Classic
Processing update: Plug-in - GoldenGate Plug-in now supports monitoring of Oracle GoldenGate Microservices, in addition to the Oracle GoldenGate Classic
Processing update: Plug-in - GoldenGate Plug-in now supports monitoring of GoldenGate Microservices Architecture, in addition to the GoldenGate Classic Architecture

&#091;...]

Successfully uploaded the Self Update catalog to Enterprise Manager. Use the Self Update Console to view and manage updates.
Time taken for import catalog is 17.289 seconds.</code></pre>



<h4 class="wp-block-heading" id="h-download-goldengate-plug-in">Download GoldenGate plug-in</h4>



<p>When this is done, go back to the <em><strong>Self Update</strong></em> page, click on the <strong><em>Plug-In</em></strong> section. You will see the different versions of GoldenGate that are available. When I&#8217;m writing this blog, the latest version of the plug-in is <code>13.5.2.0.0</code> (the latest patch released in January 2026, <code>13.5.2.0.6</code>, will be a topic for another blog). Click on the latest version and then on <em><strong>Download</strong></em>.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="339" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_self_update_plugin_ogg_version-1024x339.png" alt="" class="wp-image-44484" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_self_update_plugin_ogg_version-1024x339.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_self_update_plugin_ogg_version-300x99.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_self_update_plugin_ogg_version-768x254.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_self_update_plugin_ogg_version-1536x508.png 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_self_update_plugin_ogg_version.png 1638w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>The following pop-up gives you the link from which you should download the plug-in update file. In my case, it was <a href="https://updates.oracle.com/Orion/Services/download/p34651099_112000_Generic.zip?aru=24962501&amp;patch_file=p34651099_112000_Generic.zip" target="_blank" rel="noreferrer noopener">https://updates.oracle.com/Orion/Services/download/p34651099_112000_Generic.zip?aru=24962501&amp;patch_file=p34651099_112000_Generic.zip</a>.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="352" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_self_update_offline_download-1024x352.png" alt="" class="wp-image-44485" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_self_update_offline_download-1024x352.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_self_update_offline_download-300x103.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_self_update_offline_download-768x264.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_self_update_offline_download-1536x528.png 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_self_update_offline_download.png 1680w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Once the file is downloaded, import it in the same way as before with the catalog, but this time with the <code>emcli import_update</code> action.</p>



<pre class="wp-block-code"><code>oracle@oem24:~/ &#091;oem24] emcli import_update -omslocal -file=/tmp/p34651099_112000_Generic.zip
Processing update: Plug-in - GoldenGate Plug-in now supports monitoring of Oracle GoldenGate Microservices, in addition to the Oracle GoldenGate Classic
Successfully uploaded the update to Enterprise Manager. Use the Self Update Console to manage this update.</code></pre>



<p>Once this is done, go back to the <em><strong>Setup &gt; Extensibility &gt; Plug-in</strong></em> tab and expand the <strong><em>Middleware</em></strong> section. You should now see <em><strong>Oracle GoldenGate</strong></em>, and <code>13.5.2.0.0</code> as the downloaded version.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="393" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_downloaded-1024x393.png" alt="" class="wp-image-44486" style="width:600px" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_downloaded-1024x393.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_downloaded-300x115.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_downloaded-768x294.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_downloaded.png 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<h2 class="wp-block-heading" id="h-deploy-the-goldengate-plug-in-on-the-management-server">Deploy the GoldenGate plug-in on the Management Server</h2>



<p><strong>Warning</strong> : Deploying the plug-in on the management server will <strong>temporarily restart</strong> OMS components and briefly <strong>interrupt monitoring</strong> operations. To deploy the plug-in, you have two options:</p>



<ul class="wp-block-list">
<li>Deploying the plug-in from the web UI.</li>



<li>Deploying the plug-in from the CLI.</li>
</ul>



<h4 class="wp-block-heading" id="h-deploying-the-plug-in-from-the-web-ui">Deploying the plug-in from the web UI</h4>



<p>From the web UI, click on the <strong><em>Oracle GoldenGate</em></strong> plug-in, then on <strong><em>Deploy On</em></strong>, and deploy the plug-in on the <em><strong>Management Servers</strong></em>.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="928" height="540" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms.png" alt="" class="wp-image-44487" style="width:600px" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms.png 928w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms-300x175.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms-768x447.png 768w" sizes="auto, (max-width: 928px) 100vw, 928px" /></figure>
</div>


<p>Make sure the correct version of the plug-in is chosen (<code>13.5.2.0.0</code>), and click on <strong><em>Next</em></strong> to run the prerequisite checks.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="176" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_2-1024x176.png" alt="" class="wp-image-44488" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_2-1024x176.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_2-300x52.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_2-768x132.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_2-1536x265.png 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_2-2048x353.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Once the checks are successfully completed, click on <em><strong>Next</strong></em>.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="184" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_prereq_2-1024x184.png" alt="" class="wp-image-44490" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_prereq_2-1024x184.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_prereq_2-300x54.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_prereq_2-768x138.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_prereq_2-1536x276.png 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_prereq_2-2048x368.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>You should now <strong><em>select the repository credentials</em></strong> for the OEM. You should either use new credentials (if it&#8217;s a new environment) or use existing named credentials. Click on <em><strong>Next</strong></em>.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="335" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_repo_sys_true-1024x335.png" alt="" class="wp-image-44492" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_repo_sys_true-1024x335.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_repo_sys_true-300x98.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_repo_sys_true-768x251.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_repo_sys_true-1536x503.png 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_repo_sys_true-2048x670.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Once everything is done, click on <strong><em>Deploy</em></strong>.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="299" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_review-1-1024x299.png" alt="" class="wp-image-44662" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_review-1-1024x299.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_review-1-300x88.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_review-1-768x225.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_review-1-1536x449.png 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_review-1-2048x599.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>As instructed, you can check the status of the deployment with the <code>emctl status oms -details</code> command.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="158" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_confirmation-1024x158.png" alt="" class="wp-image-44494" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_confirmation-1024x158.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_confirmation-300x46.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_confirmation-768x119.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_confirmation-1536x237.png 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_confirmation-2048x316.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<pre class="wp-block-code"><code>oracle@oem24:~/ &#091;oem24] emctl status oms
Oracle Enterprise Manager 24ai Release 1
Copyright (c) 1996, 2024 Oracle Corporation.  All rights reserved.
WebTier is Up
Oracle Management Server is Down

This is due to the following plug-ins being deployed on the management server or undeployed from it:
----------------------------------------
Plugin name:    : Oracle GoldenGate
Version:        : 13.5.2.0.0
ID:             : oracle.fmw.gg
----------------------------------------</code></pre>



<h4 class="wp-block-heading" id="h-deploying-the-plug-in-from-the-cli">Deploying the plug-in from the CLI</h4>



<p>Alternatively, you can deploy the plug-in with the following command, using the <code>oracle.fmw.gg</code> ID for the plug-in and the latest <code>13.5.2.0.0</code> version.</p>



<pre class="wp-block-code"><code>emcli deploy_plugin_on_server -plugin="oracle.fmw.gg:13.5.2.0.0"</code></pre>



<p>Once the plug-in is <strong>deployed on the Management Server</strong>, you can check again in the web UI : the latest version should be in the <code>On Management Server</code> section.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="413" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_postdeploy-1024x413.png" alt="" class="wp-image-44495" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_postdeploy-1024x413.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_postdeploy-300x121.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_postdeploy-768x310.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ms_postdeploy.png 1338w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading" id="h-deploy-the-plug-in-on-the-agent">Deploy the plug-in on the agent</h2>



<p>For each GoldenGate host where an OEM agent is running, deploy the plug-in. To do so, from the web UI, click on the <strong><em>Oracle GoldenGate</em></strong> plug-in, then on <em><strong>Deploy On</strong></em>, and select <em><strong>Management Agent</strong></em>.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="691" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag-1024x691.png" alt="" class="wp-image-44618" style="width:800px" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag-1024x691.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag-300x202.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag-768x518.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag.png 1150w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>There is currently a bug with the <em><strong>Supported Target Versions</strong></em>. No matter your patch level, you will not see the latest versions of GoldenGate. Do not worry about this yet. Just make sure <code>13.5.2.0.0</code> is selected.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="890" height="804" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_versions.png" alt="" class="wp-image-44619" style="width:600px" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_versions.png 890w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_versions-300x271.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_versions-768x694.png 768w" sizes="auto, (max-width: 890px) 100vw, 890px" /></figure>
</div>


<p>Then, select the agent on which you want to deploy the plug-in.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="333" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_select-1-1024x333.png" alt="" class="wp-image-44621" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_select-1-1024x333.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_select-1-300x98.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_select-1-768x250.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_select-1-1536x499.png 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_select-1.png 1630w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Let the prerequisite checks run&#8230;</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="667" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_prereq-1024x667.png" alt="" class="wp-image-44622" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_prereq-1024x667.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_prereq-300x195.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_prereq-768x500.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_prereq-1536x1001.png 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_prereq.png 1630w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>And once everything is ready, click on <em><strong>Deploy</strong></em>.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="669" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_review-1024x669.png" alt="" class="wp-image-44623" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_review-1024x669.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_review-300x196.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_review-768x502.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_review-1536x1003.png 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_review.png 1626w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>You can check that everything is running properly with the <code>emcli get_plugin_deployment_status</code> command.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="200" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_deploy-1024x200.png" alt="" class="wp-image-44624" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_deploy-1024x200.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_deploy-300x58.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_deploy-768x150.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_deploy-1536x299.png 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_deploy_ag_deploy.png 1632w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading" id="h-configure-goldengate-monitoring-in-the-enterprise-manager">Configure GoldenGate monitoring in the Enterprise Manager</h2>



<p>Once the plug-in is correctly deployed on the OMS host and on the GoldenGate host agent, you can configure the module. I will only cover the configuration for the Microservices Architecture. Go to the <strong><em>Setup &gt; Add Target &gt; Configure Auto Discovery</em></strong> tab.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="682" height="890" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_configure_auto_discovery_tab.png" alt="" class="wp-image-44630" style="width:400px" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_configure_auto_discovery_tab.png 682w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_configure_auto_discovery_tab-230x300.png 230w" sizes="auto, (max-width: 682px) 100vw, 682px" /></figure>
</div>


<p>Choose the correct agent host, and click on <em><strong>Discovery Modules</strong></em>.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="402" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_setup_discovery-1-1024x402.png" alt="" class="wp-image-44631" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_setup_discovery-1-1024x402.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_setup_discovery-1-300x118.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_setup_discovery-1-768x301.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_setup_discovery-1-1536x603.png 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_setup_discovery-1.png 1610w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Enable the <em><strong>Oracle GoldenGate Microservices</strong></em> module, click on it, and then on <em><strong>Edit Parameters</strong></em>.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="430" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_discovery_modules-1-1024x430.png" alt="" class="wp-image-44632" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_discovery_modules-1-1024x430.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_discovery_modules-1-300x126.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_discovery_modules-1-768x322.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_discovery_modules-1-1536x645.png 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_discovery_modules-1-2048x859.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>If you deployed GoldenGate with a reverse proxy, <strong>set up the plug-in as such</strong>.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="904" height="221" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/ogg_blog_setup_discovery_module_oem-1.png" alt="" class="wp-image-44633" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/ogg_blog_setup_discovery_module_oem-1.png 904w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/ogg_blog_setup_discovery_module_oem-1-300x73.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/ogg_blog_setup_discovery_module_oem-1-768x188.png 768w" sizes="auto, (max-width: 904px) 100vw, 904px" /></figure>
</div>


<p>If you deployed GoldenGate with a port for each service, enter the <strong>service manager port</strong> (<code>7809</code>, by default).</p>



<p><strong>Warning</strong> : if your installation is <strong>secured with certificates</strong>, make sure to <strong>follow the instructions</strong> I gave in a blog to <a href="https://www.dbi-services.com/blog/em-90000-ssl-error-with-goldengate-targets-in-oem/" target="_blank" rel="noreferrer noopener">avoid EM-90000 errors when discovering new targets</a>.</p>



<p>Once this is done, just go back to the <em><strong>Configure Auto Discovery</strong></em> section, click on the correct host, and then click on <em><strong>Discover Now</strong></em>. Then, go back to the <em><strong>Configure Auto Discovery</strong></em> section. You should now see a greater number of targets in the <em><strong>Discovered targets</strong></em> section.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="177" height="137" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_discovered_targets.png" alt="" class="wp-image-44635" /></figure>
</div>


<p>If the number of targets did not increase, despite a successful discovery, check the blog linked above.</p>



<p>Click on the number of targets to jump to the <em><strong>Auto Discovery Results</strong></em> section. Select the newly discovered Service Manager target, and click on <em><strong>Promote</strong></em>. Once the target is promoted, you should see the new GoldenGate targets being monitored by the Enterprise Manager !</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="813" height="159" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_targets_final.png" alt="" class="wp-image-44634" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_targets_final.png 813w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_targets_final-300x59.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/05/oem_ogg_plugin_targets_final-768x150.png 768w" sizes="auto, (max-width: 813px) 100vw, 813px" /></figure>
</div><p>L’article <a href="https://www.dbi-services.com/blog/install-and-configure-oem-plug-in-for-goldengate/">Install and configure OEM plug-in for GoldenGate</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbi-services.com/blog/install-and-configure-oem-plug-in-for-goldengate/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Increase GoldenGate 26ai Log Retention</title>
		<link>https://www.dbi-services.com/blog/increase-goldengate-log-retention/</link>
					<comments>https://www.dbi-services.com/blog/increase-goldengate-log-retention/#respond</comments>
		
		<dc:creator><![CDATA[Julien Delattre]]></dc:creator>
		<pubDate>Tue, 12 May 2026 06:20:00 +0000</pubDate>
				<category><![CDATA[GoldenGate]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[19c]]></category>
		<category><![CDATA[23ai]]></category>
		<category><![CDATA[26ai]]></category>
		<category><![CDATA[increase]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[ogg]]></category>
		<category><![CDATA[retention]]></category>
		<category><![CDATA[size]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=44355</guid>

					<description><![CDATA[<p>GoldenGate logs are a powerful source of information when debugging or analyzing your deployments. However, some of these logs have a rather low retention period in active deployments. They might then not even be useful for debugging if you send them to your dbi consultants or the Oracle support for analysis. So how can you [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/increase-goldengate-log-retention/">Increase GoldenGate 26ai Log Retention</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p><strong>GoldenGate logs</strong> are a powerful <strong>source of information</strong> when debugging or analyzing your deployments. However, some of these logs have a rather <strong>low retention</strong> period in active deployments. They might then not even be useful for debugging if you send them to your dbi consultants or the Oracle support for analysis. So <strong>how can you increase GoldenGate log retention</strong> ?</p>



<p>In a previous blog, I presented all the <a href="https://www.dbi-services.com/blog/goldengate-26ai-logs-explained/" target="_blank" rel="noreferrer noopener">log files available in GoldenGate</a>. Each of them has its <strong>own format and characteristics</strong>, but they have one common aspect: they can be customized.</p>



<p>Standard <strong>GoldenGate logging configuration files</strong> are located in the <code>$OGG_HOME/lib/utl/logging</code> directory.</p>



<pre class="wp-block-code"><code>&gt; ll $OGG_HOME/lib/utl/logging
-rw-r-----. 1 oracle oinstall  1066 Nov 17  2018 app-adminsrvr-debug.xml
-rw-r-----. 1 oracle oinstall  1076 Jan 10  2019 app-adminsrvr-events.xml
-rw-r-----. 1 oracle oinstall  1066 Nov 17  2018 app-distsrvr-debug.xml
-rw-r-----. 1 oracle oinstall  1040 Apr 17  2017 app-extract-events.xml
-rw-r-----. 1 oracle oinstall  1066 Nov 17  2018 app-pmsrvr-debug.xml
-rw-r-----. 1 oracle oinstall  1397 Apr  1  2018 app-pmsrvr-default.xml
-rw-r-----. 1 oracle oinstall  1066 Nov 17  2018 app-recvsrvr-debug.xml
-rw-r-----. 1 oracle oinstall  1048 Jan 22  2020 app-replicat-debug509.xml
-rw-r-----. 1 oracle oinstall  1040 Apr 17  2017 app-replicat-events.xml
-rw-r-----. 1 oracle oinstall  1066 Nov 17  2018 app-ServiceManager-debug.xml
-rw-r-----. 1 oracle oinstall  2459 Jan 17  2024 app-ServiceManager-services.xml
-rw-r-----. 1 oracle oinstall  1282 Dec 19 18:44 ogg-AIService.xml
-rw-r-----. 1 oracle oinstall  4946 May 14  2020 ogg-audit.xml
-rw-r-----. 1 oracle oinstall  1582 Jun 28  2023 ogg-ConfigService.xml
-rw-r-----. 1 oracle oinstall  4487 Jan 10  2019 ogg-ggserr.xml
-rw-r-----. 1 oracle oinstall 18162 Jun 26  2020 ogg-loggers.json
-rw-r-----. 1 oracle oinstall  1095 Sep 25  2019 ogg-loggers.xml
-rw-r-----. 1 oracle oinstall  2180 Sep 11  2024 sca-default.xml
-rw-r-----. 1 oracle oinstall  1211 Jan 10  2019 sca-restapi.xml
-rw-r-----. 1 oracle oinstall  1210 Jun  6  2022 sca-stdout.xml</code></pre>



<p>The process to modify logging properties of any GoldenGate log file is to <strong>copy one of these files in your deployment and update it</strong>. It means that you can have <strong>different logging properties between your deployments</strong>.</p>



<p><strong>Oracle GoldenGate Microservices</strong> uses a hierarchical logger framework with Log4j-style appenders, layouts, logger inheritance, and category namespaces. I will not dwell on all the configuration files in this blog, but let&#8217;s try to describe the most useful ones.</p>



<h2 class="wp-block-heading" id="h-sca-restapi-xml"><code>sca-restapi.xml</code></h2>



<pre class="wp-block-code"><code>&lt;?xml version="1.0"?&gt;
&lt;configuration&gt;

  &lt;!--
   /- ============================================================= -\
   !-   s c a - r e s t a p i . x m l                               -|
   !-                                                               -|
   !-   Logging control file for recording all REST API calls       -|
   !-   to an OGG deployment.                                       -|
   \- ============================================================= -/
  ! --&gt;

  &lt;appender  name="sca-restapi.log"  class="RollingFileAppender"&gt;
    &lt;level  value="info"/&gt;
    &lt;param   name="File"             value="restapi.log"/&gt;
    &lt;param   name="MaxFileSize"      value="10MB"/&gt;
    &lt;param   name="MaxBackupIndex"   value="9"/&gt;
    &lt;param   name="BufferedIO"       value="false"/&gt;
    &lt;param   name="Append"           value="true"/&gt;
    &lt;layout class="PatternLayout"&gt;
      &lt;param name="Pattern"          value="%d{%Y-%m-%d %H:%M:%S%z} %-5p|%-36.36c| %m%n"/&gt;
    &lt;/layout&gt;
  &lt;/appender&gt;

  &lt;!--
   !-   M i c r o s e r v i c e s   A r c h i t e c t u r e
  ! --&gt;
  &lt;logger          name="RestAPI"&gt;
    &lt;appender-ref  name="sca-restapi.log"/&gt;
    &lt;level        value="info"/&gt;
  &lt;/logger&gt;

&lt;/configuration&gt;</code></pre>



<p>The <code>sca-restapi.xml</code> file is the logging configuration file for the <code>restapi.log</code> file.</p>



<p>REST API logs are the <strong>most verbose</strong> across all GoldenGate log files. In <strong>production environments</strong> where the REST API is often called, you could easily go over the <strong>10 log files in a day</strong> or even less. If you have enough space, I would strongly <strong>recommend increasing the retention</strong> and/or the <strong>maximum size</strong> of a single log file. This way, you ensure that you keep enough logs for debugging and analysis.</p>



<p>To modify the retention, change <code>MaxFileSize</code> to set the maximum log file size and <code>MaxBackupIndex</code> to choose the number of files you want to keep (on top of the active log file).</p>



<p>Let&#8217;s copy the file in the deployment home (it could be any deployment, including the Service Manager home).</p>



<pre class="wp-block-code"><code>cd $OGG_DEPLOYMENT_HOME/etc/conf/logging
cp -p $OGG_HOME/lib/utl/logging/sca-restapi.xml .
vim sca-restapi.xml</code></pre>



<p>For instance, to have <strong>5 files of 50 MB</strong> each, edit the following lines:</p>



<pre class="wp-block-code"><code>    &lt;param&nbsp;&nbsp; name="MaxFileSize"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; value="50MB"/&gt;
&nbsp;&nbsp;&nbsp; &lt;param&nbsp;&nbsp; name="MaxBackupIndex"&nbsp;&nbsp; value="4"/&gt;</code></pre>



<p>Once this is done, just <strong>restart the administration service</strong>.</p>



<h2 class="wp-block-heading" id="h-what-about-the-other-log-files">What about the other log files ?</h2>



<p>If you want to increase the retention or the log file size of any other log file in GoldenGate, just use the following mapping and repeat the same process. If you want to edit the Service Manager logging properties, you should also restart it.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>If you want to modify the log retention for&#8230;</th><th>Copy and modify the following file from <code>$OGG_HOME/lib/utl/logging</code></th></tr></thead><tbody><tr><td>Most standard microservice logs, except <code>restapi.log</code> and <code>ER-events.log</code></td><td><code>sca-default.xml</code></td></tr><tr><td><code>ggserr.log</code></td><td><code>ogg-ggserr.xml</code></td></tr><tr><td><code>ER-events.log</code></td><td><code>app-extract-events.xml</code></td></tr><tr><td><code>restapi.log</code></td><td><code>sca-restapi.xml</code></td></tr></tbody></table></figure>



<p><strong>Warning:</strong> If you want to use the same configuration across all your deployments, you could modify the standard files in <code>$OGG_HOME/lib/utl/logging</code> and create links from the deployments to this file. However, make sure you do not lose these changes when patching out-of-place !</p>



<h2 class="wp-block-heading" id="h-can-i-increase-the-retention-to-more-than-10-files">Can I increase the retention to more than 10 files ?</h2>



<p>Yes, there is no problem having more than 10 log files. Just increase the <code>MaxBackupIndex</code> (9, by default) to the number of log files you want, minus 1. For 20 log files, set <code>MaxBackupIndex</code> to <code>19</code>.</p>
<p>L’article <a href="https://www.dbi-services.com/blog/increase-goldengate-log-retention/">Increase GoldenGate 26ai Log Retention</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbi-services.com/blog/increase-goldengate-log-retention/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Deployment removal failed in GoldenGate Configuration Assistant (INS-85038)</title>
		<link>https://www.dbi-services.com/blog/deployment-removal-failed-in-goldengate-configuration-assistant-ins-85038/</link>
					<comments>https://www.dbi-services.com/blog/deployment-removal-failed-in-goldengate-configuration-assistant-ins-85038/#respond</comments>
		
		<dc:creator><![CDATA[Julien Delattre]]></dc:creator>
		<pubDate>Thu, 07 May 2026 06:55:00 +0000</pubDate>
				<category><![CDATA[GoldenGate]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[ins-85038]]></category>
		<category><![CDATA[ogg]]></category>
		<category><![CDATA[oggca]]></category>
		<category><![CDATA[remove]]></category>
		<category><![CDATA[restapi]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=44155</guid>

					<description><![CDATA[<p>Recently, I wrote about deleting a GoldenGate deployment with the REST API, and when investigating this issue, I remembered a limitation of the configuration assistant, which I wanted to talk about. For more information about deployment removal with the configuration assistant, you can read a blog I wrote on the topic (for 23ai, but nothing [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/deployment-removal-failed-in-goldengate-configuration-assistant-ins-85038/">Deployment removal failed in GoldenGate Configuration Assistant (INS-85038)</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Recently, I wrote about <a href="https://www.dbi-services.com/blog/delete-a-goldengate-deployment-when-the-password-is-lost/" target="_blank" rel="noreferrer noopener">deleting a GoldenGate deployment with the REST API</a>, and when investigating this issue, I remembered a <strong>limitation of the configuration assistant</strong>, which I wanted to talk about. For more information about <strong>deployment removal with the configuration assistant</strong>, you can read a <a href="https://www.dbi-services.com/blog/goldengate-23ai-installation-graphic-and-silent-mode-comparison-for-automation/" target="_blank" rel="noreferrer noopener">blog</a> I wrote on the topic (for 23ai, but nothing changed in that regard in 26ai).</p>



<p>Let&#8217;s now talk about the <code>INS-85038</code> error, which is rather generic. You will definitely need more details to investigate, and this blog does not cover all possibilities. Still, I will try to give you solutions, including one that should work in most cases.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1010" height="262" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_deployment_removal_ins_85038.png" alt="" class="wp-image-44158" style="width:500px" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_deployment_removal_ins_85038.png 1010w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_deployment_removal_ins_85038-300x78.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_deployment_removal_ins_85038-768x199.png 768w" sizes="auto, (max-width: 1010px) 100vw, 1010px" /></figure>
</div>


<p>As a reminder, there are three steps when deleting a GoldenGate deployment with <code>oggca.sh</code> :</p>



<ul class="wp-block-list">
<li>Verify the deployment credentials</li>



<li>Stop the deployment services</li>



<li>Unregister the deployment in the Service Manager</li>
</ul>



<p>In my case, the problem I noticed is that the configuration assistant waits for the deployment to be stopped. However, it fails after some time with the following error details:</p>



<pre class="wp-block-code"><code>Log of this session available at: /u01/app/oraInventory/logs/OGGCAConfigActions2026-04-22_12-51-46PM
Setup completed with overall status as Succeeded
Setup completed with overall status as Failed
Verification failed. Expected value: (NOT) 'running', actual value: 'running'
Verification (0) failed for property 'response/status'.
Verification failed for REST call to '/services/v2/deployments/ogg_test_blog'
Results for "Stop the deployment":
..."Retrieving the 'ogg_test_blog' deployment details.": SUCCEEDED
..."Stop the 'ogg_test_blog' deployment.": SUCCEEDED
..."Verify the 'ogg_test_blog' deployment is stopped": FAILED
(1) Errors ocurred when trying to stop deployment. Make sure Service Manager is running. Check Service Manager log files for more details.</code></pre>



<p>However, when debugging this issue, I observed the following strange behavior. While the configuration assistant complains about the deployment being started, my deployment was stopped when checking its status a few seconds after.</p>



<p>I decided to <a href="https://www.dbi-services.com/blog/querying-goldengate-rest-api-log-efficiently/" target="_blank" rel="noreferrer noopener">analyze the <code>restapi.log</code> file</a> of my deployment. What I discovered was that the configuration assistant was <strong>checking the status </strong>of the deployment<strong> every ten seconds for two minutes</strong>. After this period, it fails with the abovementioned error.</p>



<h2 class="wp-block-heading" id="h-what-to-do-after-an-ins-85038-error">What to do after an INS-85038 error ?</h2>



<p>If you still want to delete this deployment, you have two options:</p>



<ul class="wp-block-list">
<li><strong>Deleting the deployment with the REST API</strong>, with the method described in <a href="https://www.dbi-services.com/blog/delete-a-goldengate-deployment-when-the-password-is-lost/" target="_blank" rel="noreferrer noopener">this blog</a>, using the <a href="https://docs.oracle.com/en/database/goldengate/core/26/oggra/op-services-version-deployments-deployment-delete.html" target="_blank" rel="noreferrer noopener">dedicated endpoint</a>.</li>



<li><strong>Restarting the deployment and re-running the configuration assistant</strong>. But this time, <strong>if you get the same error</strong> as before, remember to wait. Once the deployment is completely stopped, click on <strong><em>Skip</em></strong> in the configuration assistant. The assistant will follow with the next step, unregistering the deployment from the Service Manager.</li>
</ul>



<p>To summarize, if you get an <code>INS-85038</code> error in the configuration assistant, try to remove the deployment with the REST API. But if the reason for this error is just a deployment that is not stopping soon enough, just use the <strong><em>Skip</em></strong> button to continue removing the deployment when it is finally stopped.</p>
<p>L’article <a href="https://www.dbi-services.com/blog/deployment-removal-failed-in-goldengate-configuration-assistant-ins-85038/">Deployment removal failed in GoldenGate Configuration Assistant (INS-85038)</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbi-services.com/blog/deployment-removal-failed-in-goldengate-configuration-assistant-ins-85038/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>EM-90000 SSL Error With GoldenGate Targets in OEM</title>
		<link>https://www.dbi-services.com/blog/em-90000-ssl-error-with-goldengate-targets-in-oem/</link>
					<comments>https://www.dbi-services.com/blog/em-90000-ssl-error-with-goldengate-targets-in-oem/#respond</comments>
		
		<dc:creator><![CDATA[Julien Delattre]]></dc:creator>
		<pubDate>Mon, 04 May 2026 06:12:00 +0000</pubDate>
				<category><![CDATA[GoldenGate]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[discover]]></category>
		<category><![CDATA[em-90000]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[manager]]></category>
		<category><![CDATA[OEM]]></category>
		<category><![CDATA[ogg]]></category>
		<category><![CDATA[SSLHandshakeException]]></category>
		<category><![CDATA[target]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=44131</guid>

					<description><![CDATA[<p>In this blog, I will explain what needs to be done when registering GoldenGate targets behind NGINX reverse proxy in the Enterprise Manager. More specifically, we will see how to avoid the EM-90000 error related to an SSLHandshakeException. If you are upgrading to GoldenGate 26ai and migrating from Classic to Microservices Architecture, you must re-discover [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/em-90000-ssl-error-with-goldengate-targets-in-oem/">EM-90000 SSL Error With GoldenGate Targets in OEM</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>In this blog, I will explain what needs to be done when <strong>registering GoldenGate targets behind NGINX reverse proxy in the Enterprise Manager</strong>. More specifically, we will see how to avoid the <code>EM-90000</code> error related to an <code>SSLHandshakeException</code>.</p>



<p>If you are upgrading to GoldenGate 26ai and migrating from <a href="https://www.dbi-services.com/blog/upgrade-goldengate-from-classic-to-microservices-architecture-before-its-too-late/" target="_blank" rel="noreferrer noopener">Classic to Microservices Architecture</a>, you must re-<strong>discover GoldenGate targets in the Enterprise Manager</strong>. The discovery module settings vary from one setup to another, but for a GoldenGate deployment exposed via an NGINX reverse proxy, you should <strong>set up the discovery module</strong> with the following:</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="904" height="221" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_setup_discovery_module_oem.png" alt="" class="wp-image-44132" style="width:800px" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_setup_discovery_module_oem.png 904w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_setup_discovery_module_oem-300x73.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_setup_discovery_module_oem-768x188.png 768w" sizes="auto, (max-width: 904px) 100vw, 904px" /></figure>
</div>


<p>While this could be enough in some GoldenGate setups, it will <strong>fail if the certificate chain is not trusted by the OEM agent</strong>. In fact, if you run a discovery of your host with the settings mentioned above, no target will be discovered. This is especially tricky, since the Enterprise Manager will tell you &#8220;<em><strong>Discover Now &#8211; Completed Successfully</strong></em>&#8220;.</p>



<p>Open the <code>ogg_so_logs.log.0</code> file in the <code>agent_inst/sysman/emd</code> directory of your target agent. You will see that the discovery has failed with the following error : <code>INFO: Exception occured when tried with SSL deployment. SSLHandshakeException</code>.</p>



<pre class="wp-block-code"><code>oracle@vmogg:~ &#091;emagent] vim ogg_so_logs.log.0
Apr 19, 2026 8:01:32 AM com.oracle.sysman.goldengate.discovery.GoldenGateDiscovery createDiscovery
INFO: Discovery : Discovering Oracle Goldengate Instances . Discovery parameters values are , Port=443, UserName=ogg, HostName=vmogg, OGG Mode=Microservices, EMStateDir=/u01/app/oracle/agent_24ai/agent_inst
Apr 19, 2026 8:01:32 AM com.oracle.sysman.goldengate.discovery.GoldenGateDiscovery createDiscovery
INFO: Discovery :Target name prefix =oggtest:
Apr 19, 2026 8:01:32 AM com.oracle.sysman.goldengate.discovery.GoldenGateDiscovery createDiscovery
INFO: agentTrustLocation:/u01/app/oracle/agent_24ai/agent_inst/sysman/config/montrust/AgentTrust.jks
Apr 19, 2026 8:01:32 AM com.oracle.sysman.goldengate.discovery.GoldenGateMicroServicesDiscovery getJSONDataFromUrl
INFO: Discovery : Invoking URL request :https://vmogg:443/services/v2/deployments
Apr 19, 2026 8:01:32 AM com.oracle.sysman.goldengate.discovery.GoldenGateMicroServicesDiscovery getJSONDataFromUrlForSSL
INFO: Trying to connect as a ssl connection https://vmogg:443/services/v2/deployments
Apr 19, 2026 8:01:32 AM com.oracle.sysman.goldengate.discovery.GoldenGateMicroServicesDiscovery getJSONDataFromUrlForSSL
INFO: SSLHandshakeException while getting response for URL:https://vmogg:443/services/v2/deployments . javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Apr 19, 2026 8:01:32 AM com.oracle.sysman.goldengate.discovery.GoldenGateMicroServicesDiscovery getJSONDataFromUrl
INFO: Exception occured when tried with SSL deployment. SSLHandshakeException: Failed to connect to ssl Microservices . Retrying via non ssl microservices. Trying with http.
Apr 19, 2026 8:01:32 AM com.oracle.sysman.goldengate.discovery.GoldenGateMicroServicesDiscovery getJSONDataFromUrl
SEVERE: For the Url = http://vmogg:443/services/v2/deployments , HTTP/response error code = 307
Apr 19, 2026 8:01:32 AM com.oracle.sysman.goldengate.discovery.GoldenGateMicroServicesDiscovery generateTargetsXML
SEVERE: Exception getting response from URL:https://vmogg:443/services/v2/deployments - com.oracle.sysman.goldengate.discovery.GoldenGateDiscovery$GGDiscoveryException: Discovery failed : HTTP error code : 307 from URL:http://vmogg:443/services/v2/deployments
Apr 19, 2026 8:01:32 AM com.oracle.sysman.goldengate.discovery.GoldenGateDiscovery main
SEVERE: Exception during Targets discovery: EM-90000 - Target Discovery failed. Internal Error. Please contact System Administrator. - com.oracle.sysman.goldengate.discovery.GoldenGateDiscovery$GGDiscoveryException: EM-90000 - Target Discovery failed. Internal Error. Please contact System Administrator.</code></pre>



<p>The problem here is that <strong>the OEM agent does not trust the certificate chain</strong> being used in your GoldenGate installation. For the discovery (and the monitoring) to work, you need to <strong>register the certificates in the agent&#8217;s truststore</strong>.</p>



<h2 class="wp-block-heading" id="h-displaying-the-content-of-the-truststore">Displaying the content of the truststore</h2>



<p>First, let&#8217;s have a look at the content of the agent&#8217;s truststore. To do so, use the <code>keytool</code> utility shipped with the agent. Here is an example of a default <code>AgentTrust.jks</code> content. When prompted for the keystore password, use the configured truststore password (<code>welcome</code>, by default).</p>



<pre class="wp-block-code"><code>oracle@vmogg:~ &#091;emagent] /u01/app/oracle/agent_24ai/agent_24.1.0.0.0/oracle_common/jdk/bin/keytool -list -keystore /u01/app/oracle/agent_24ai/agent_inst/sysman/config/montrust/AgentTrust.jks
Enter keystore password:
Keystore type: JKS
Keystore provider: SUN

Your keystore contains 9 entries

verisignclass1pca, Oct 20, 2009, trustedCertEntry,
Certificate fingerprint (SHA-256): 13:B8:4A:BA:EC:A3:DE:8C:71:9A:06:7D:E8:CF:18:5F:65:DC:19:E0:3E:BD:92:C2:0B:D3:8C:75:09:7B:E1:13
verisignclass3ca, Oct 20, 2009, trustedCertEntry,
Certificate fingerprint (SHA-256): E7:68:56:34:EF:AC:F6:9A:CE:93:9A:6B:25:5B:7B:4F:AB:EF:42:93:5B:50:A2:65:AC:B5:CB:60:27:E4:4E:70
gtecybertrustglobalca, Oct 20, 2009, trustedCertEntry,
Certificate fingerprint (SHA-256): A5:31:25:18:8D:21:10:AA:96:4B:02:C7:B7:C6:DA:32:03:17:08:94:E5:FB:71:FF:FB:66:67:D5:E6:81:0A:36
entrustsslca, Oct 20, 2009, trustedCertEntry,
Certificate fingerprint (SHA-256): 62:F2:40:27:8C:56:4C:4D:D8:BF:7D:9D:4F:6F:36:6E:A8:94:D2:2F:5F:34:D9:89:A9:83:AC:EC:2F:FF:ED:50
entrust2048ca, Oct 20, 2009, trustedCertEntry,
Certificate fingerprint (SHA-256): D1:C3:39:EA:27:84:EB:87:0F:93:4F:C5:63:4E:4A:A9:AD:55:05:01:64:01:F2:64:65:D3:7A:57:46:63:35:9F
verisignserverca, Oct 20, 2009, trustedCertEntry,
Certificate fingerprint (SHA-256): 29:30:BD:09:A0:71:26:BD:C1:72:88:D4:F2:AD:84:64:5E:C9:48:60:79:07:A9:7B:5E:D0:B0:B0:58:79:EF:69
gtecybertrustca, Oct 20, 2009, trustedCertEntry,
Certificate fingerprint (SHA-256): 52:7B:05:05:27:DF:52:9C:0F:7A:D0:0C:EF:1E:7B:A4:21:78:81:82:61:5C:32:6C:8B:6D:1A:20:61:A0:BD:7C
entrustgsslca, Oct 20, 2009, trustedCertEntry,
Certificate fingerprint (SHA-256): 2F:2F:87:02:A6:ED:EC:B6:46:92:94:BC:A0:40:F6:3B:88:49:42:1F:CE:E1:C3:7D:1C:FB:EE:89:DC:CD:43:83
verisignclass2ca, Oct 20, 2009, trustedCertEntry,
Certificate fingerprint (SHA-256): BD:46:9F:F4:5F:AA:E7:C5:4C:CB:D6:9D:3F:3B:00:22:55:D9:B0:6B:10:B1:D0:FA:38:8B:F9:6B:91:8B:2C:E9

Warning:
uses a 1024-bit RSA key which is considered a security risk. This key size will be disabled in a future update.
uses a 1024-bit RSA key which is considered a security risk. This key size will be disabled in a future update.
uses a 1024-bit RSA key which is considered a security risk. This key size will be disabled in a future update.
uses a 1024-bit RSA key which is considered a security risk. This key size will be disabled in a future update.
uses a 1000-bit RSA key which is considered a security risk and is disabled.
uses a 1024-bit RSA key which is considered a security risk. This key size will be disabled in a future update.
uses a 1024-bit RSA key which is considered a security risk. This key size will be disabled in a future update.
uses a 1024-bit RSA key which is considered a security risk. This key size will be disabled in a future update.</code></pre>



<h2 class="wp-block-heading" id="h-importing-the-certificate-in-the-truststore">Importing the certificate in the truststore</h2>



<p>Let&#8217;s add the certificate in the agent&#8217;s truststore with the following command.</p>



<pre class="wp-block-code"><code>/u01/app/oracle/agent_24ai/agent_24.1.0.0.0/oracle_common/jdk/bin/keytool -importcert -alias ogg_capath -file /path/to/ogg_certs/RootCA_cert.pem -keystore /u01/app/oracle/agent_24ai/agent_inst/sysman/config/montrust/AgentTrust.jks</code></pre>



<p>If you are not sure which file you should add, keep in mind that it should be the same file you are using in the <code>OGG_CLIENT_TLS_CAPATH</code> environment variable when loading the GoldenGate environment and connecting to your deployments with the <code>adminclient</code>.</p>



<pre class="wp-block-code"><code>oracle@vmogg:~ &#091;emagent] export OGG_CLIENT_TLS_CAPATH=/path/to/ogg_certs/RootCA_cert.pem
oracle@vmogg:~ &#091;emagent] /u01/app/oracle/agent_24ai/agent_24.1.0.0.0/oracle_common/jdk/bin/keytool -importcert -alias ogg_capath -file $OGG_CLIENT_TLS_CAPATH -keystore /u01/app/oracle/agent_24ai/agent_inst/sysman/config/montrust/AgentTrust.jks
Enter keystore password:
Owner: CN=OGG RootCA, O=OGG ROOT CA, C=AU
Issuer: CN=OGG RootCA, O=OGG ROOT CA, C=AU
Serial number: 1a11d06e7d73700aa85e35ffc0ce4a27dcfdaf7d
Valid from: Fri Mar 21 15:22:22 GMT 2026 until: Mon Mar 18 15:22:22 GMT 2036
Certificate fingerprints:
SHA1: 3C:99:5B:3A:D9:A4:64:6D:23:F0:0A:48:16:FA:AF:85:BD:26:E3:C7
SHA256: 8D:6F:1D:67:ED:D9:7B:C0:C8:0E:D1:0E:50:2F:15:25:45:5D:F2:1D:A2:AB:22:C7:2D:AE:05:19:F1:DE:28:31
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 4096-bit RSA key
Version: 3

Extensions:

#1: ObjectId: 2.5.29.35 Criticality=false

AuthorityKeyIdentifier &#091;
KeyIdentifier &#091;
0000: E3 BC BD 71 43 FD 85 B0 48 E1 44 A1 81 04 FA A9 …qC…H.D…..
0010: 1D 1C 45 16 ..E.
]
]

#2: ObjectId: 2.5.29.19 Criticality=true

BasicConstraints:&#091;
CA:true
PathLen:2147483647
]

#3: ObjectId: 2.5.29.14 Criticality=false

SubjectKeyIdentifier &#091;
KeyIdentifier &#091;
0000: E3 BC BD 71 43 FD 85 B0 48 E1 44 A1 81 04 FA A9 …qC…H.D…..
0010: 1D 1C 45 16 ..E.
]
]

Trust this certificate? &#091;no]: yes
Certificate was added to keystore</code></pre>



<p>If you check the content of the keystore again, you will see the new entry under the alias you just added. We will use the <code>-alias ogg_capath</code> option to only display the new alias.</p>



<pre class="wp-block-code"><code>oracle@vmogg:~ &#091;emagent] /u01/app/oracle/agent_24ai/agent_24.1.0.0.0/oracle_common/jdk/bin/keytool -list -keystore /u01/app/oracle/agent_24ai/agent_inst/sysman/config/montrust/AgentTrust.jks -alias ogg_capath
Enter keystore password:
ogg_capath, Apr 19, 2026, trustedCertEntry,
Certificate fingerprint (SHA-256): 8D:6F:1D:67:ED:D9:7B:C0:C8:0E:D1:0E:50:2F:15:25:45:5D:F2:1D:A2:AB:22:C7:2D:AE:05:19:F1:DE:28:31</code></pre>



<p>Without modifying anything in the Enterprise Manager, you can <strong>re-run the discovery</strong>. This time, the GoldenGate targets will be discovered ! To promote the new targets, just click on the <strong>number of targets discovered</strong>. You can also go in the <em><strong>Setup &gt; Add Target &gt; Auto Discovery Results</strong></em> section to view all discovered targets. Once this is done, the <strong>new targets will be monitored</strong>.</p>



<p>To summarize, in this NGINX context, OEM GoldenGate discovery fails with <code>EM-90000</code> due to missing CA certificates in the agent truststore. Importing the proper CA chain into <code>AgentTrust.jks</code> resolves the SSL handshake failure.</p>
<p>L’article <a href="https://www.dbi-services.com/blog/em-90000-ssl-error-with-goldengate-targets-in-oem/">EM-90000 SSL Error With GoldenGate Targets in OEM</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbi-services.com/blog/em-90000-ssl-error-with-goldengate-targets-in-oem/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Delete a GoldenGate deployment when the password is lost</title>
		<link>https://www.dbi-services.com/blog/delete-a-goldengate-deployment-when-the-password-is-lost/</link>
					<comments>https://www.dbi-services.com/blog/delete-a-goldengate-deployment-when-the-password-is-lost/#respond</comments>
		
		<dc:creator><![CDATA[Julien Delattre]]></dc:creator>
		<pubDate>Tue, 28 Apr 2026 06:38:00 +0000</pubDate>
				<category><![CDATA[GoldenGate]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[delete]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[lost]]></category>
		<category><![CDATA[ogg]]></category>
		<category><![CDATA[Password]]></category>
		<category><![CDATA[remove]]></category>
		<category><![CDATA[restapi]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=44091</guid>

					<description><![CDATA[<p>Recently, I was asked how to recreate a GoldenGate deployment if the password for the Security user (the first user created with the deployment) was lost. This is an interesting question that I figured was worth writing about. As a reminder, you have two main ways of creating and deleting deployments in GoldenGate: I already [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/delete-a-goldengate-deployment-when-the-password-is-lost/">Delete a GoldenGate deployment when the password is lost</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Recently, I was asked how to recreate a GoldenGate deployment if the password for the <code>Security</code> user (the first user created with the deployment) was lost. This is an interesting question that I figured was worth writing about.</p>



<p>As a reminder, you have two main ways of creating and deleting deployments in GoldenGate:</p>



<ul class="wp-block-list">
<li>Using the configuration assistant <code>oggca.sh</code></li>



<li>Using the REST API and its deployment endpoints</li>
</ul>



<p>I already covered the creation and removal of deployments with the configuration assistant in a <a href="https://www.dbi-services.com/blog/goldengate-23ai-installation-graphic-and-silent-mode-comparison-for-automation/" target="_blank" rel="noreferrer noopener">previous blog</a>. I also wrote about <a href="https://www.dbi-services.com/blog/create-a-new-goldengate-deployment-with-the-rest-api/" target="_blank" rel="noreferrer noopener">deployment creation with the REST API</a>, but not yet about deletion.</p>



<h2 class="wp-block-heading" id="h-deleting-the-deployment-from-oggca-sh-won-t-work">Deleting the deployment from <code>oggca.sh</code> won&#8217;t work</h2>



<p>From the GoldenGate Configuration Assistant (<code>oggca.sh</code> script), deleting a deployment is straightforward, but as shown below, you will be asked to input <strong>not only the Service Manager credentials, but also the deployment credentials</strong> !</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="739" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_deployment_removal_oggca-1-1024x739.png" alt="" class="wp-image-44093" style="width:800px" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_deployment_removal_oggca-1-1024x739.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_deployment_removal_oggca-1-300x217.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_deployment_removal_oggca-1-768x555.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_deployment_removal_oggca-1-1536x1109.png 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_deployment_removal_oggca-1.png 1590w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>This means that <code>oggca.sh</code> cannot be used for such a task.</p>



<h2 class="wp-block-heading" id="h-deleting-a-deployment-with-the-rest-api">Deleting a deployment with the REST API</h2>



<p>To overcome this issue, let&#8217;s list the steps taken by <code>oggca.sh</code> when deleting GoldenGate deployment:</p>



<ul class="wp-block-list">
<li>Verify the deployment credentials</li>



<li>Stop the deployment services</li>



<li>Unregister the deployment in the Service Manager</li>
</ul>



<p>While asking for the deployment&#8217;s password might be relevant to avoid deleting the wrong deployment, you do not strictly need it. In fact, you can <strong>stop the deployment services from the Service Manager itself</strong>. To do so, use the <code><a href="https://docs.oracle.com/en/database/goldengate/core/26/oggra/op-services-version-deployments-deployment-patch.html" target="_blank" rel="noreferrer noopener">update_deployment</a></code> endpoint (<code>PATCH /services/{version}/deployments/{deployment}</code>) to change the <code>status</code> of the deployment to <code>stopped</code>. Using the Python client I presented in <a href="https://www.dbi-services.com/blog/production-ready-goldengate-rest-client-in-python/" target="_blank" rel="noreferrer noopener">another blog</a>, I will open a connection to the Service Manager and stop the deployment <code>ogg_test_01</code>.</p>



<pre class="wp-block-code"><code>&gt;&gt;&gt; from oggrestapi import OGGRestAPI
&gt;&gt;&gt; ogg_client = OGGRestAPI(url="http://vmogg:7809", username="ogg", password="***")
&gt;&gt;&gt; ogg_client.update_deployment('ogg_test_01', data={"status":"stopped"})
{'$schema': 'api:standardResponse', 'links': &#091;{'rel': 'canonical', 'href': 'https://vmogg/services/ServiceManager/v2/deployments/ogg_test_01', 'mediaType': 'application/json'}, {'rel': 'self', 'href': 'https://vmogg/services/ServiceManager/v2/deployments/ogg_test_01', 'mediaType': 'application/json'}], 'messages': &#091;]}</code></pre>



<p>Once this is done, you can unregister the deployment from the Service Manager with the <code><a href="https://docs.oracle.com/en/database/goldengate/core/26/oggra/op-services-version-deployments-deployment-delete.html" target="_blank" rel="noreferrer noopener">remove_deployment</a></code> endpoint (<code>DELETE /services/{version}/deployments/{deployment}</code>)</p>



<p>And for this, we never needed the deployment password !</p>



<p>To clean your installation, make sure to remove all files related to the old deployment. More specifically:</p>



<ul class="wp-block-list">
<li>The <code>deploymentConfiguration.dat</code> of your Service Manager was already edited, you do not need to clean it manually.</li>



<li>You can delete or archive the deployment main directory.</li>



<li>The <code>$OGG_SM_HOME/var/run</code> directory should be cleaned of the <code>.dat</code> files named after the deployment : <code>rm $OGG_SM_HOME/var/run/ogg_test_01*</code></li>
</ul>



<p>That&#8217;s it. You have successfully deleted your deployment, and you can re-create it anytime you want. And this time, remember to store the password !</p>
<p>L’article <a href="https://www.dbi-services.com/blog/delete-a-goldengate-deployment-when-the-password-is-lost/">Delete a GoldenGate deployment when the password is lost</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbi-services.com/blog/delete-a-goldengate-deployment-when-the-password-is-lost/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Bulk Update of GoldenGate Extract Profiles</title>
		<link>https://www.dbi-services.com/blog/bulk-update-of-goldengate-extracts-profiles/</link>
					<comments>https://www.dbi-services.com/blog/bulk-update-of-goldengate-extracts-profiles/#respond</comments>
		
		<dc:creator><![CDATA[Julien Delattre]]></dc:creator>
		<pubDate>Thu, 23 Apr 2026 06:30:00 +0000</pubDate>
				<category><![CDATA[GoldenGate]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[26]]></category>
		<category><![CDATA[26ai]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[extract]]></category>
		<category><![CDATA[ogg]]></category>
		<category><![CDATA[profile]]></category>
		<category><![CDATA[replicat]]></category>
		<category><![CDATA[restapi]]></category>
		<category><![CDATA[update]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=43864</guid>

					<description><![CDATA[<p>After writing blogs about Default profile updates and a bug affecting profiles in GoldenGate 26ai, I realized it would be a good idea to present a quick way to update all processes at once with the REST API. Because even if you set a new profile as default with the {"isDefault": true} flag, previously created [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/bulk-update-of-goldengate-extracts-profiles/">Bulk Update of GoldenGate Extract Profiles</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>After writing blogs about <a href="https://www.dbi-services.com/blog/change-goldengate-default-extract-profile/" target="_blank" rel="noreferrer noopener">Default profile updates</a> and a <a href="https://www.dbi-services.com/blog/overcome-goldengate-26ai-bug-on-custom-profiles/" target="_blank" rel="noreferrer noopener">bug affecting profiles in GoldenGate 26ai</a>, I realized it would be a good idea to present a <strong>quick way to update all processes at once</strong> with the REST API. Because even if you set a new profile as default with the <code>{"isDefault": true}</code> flag, previously created extracts and replicats will not be updated !</p>



<p>To explain this further, let&#8217;s look at an extract setting using the <code><a href="https://docs.oracle.com/en/database/goldengate/core/26/oggra/op-services-version-extracts-extract-get.html" target="_blank" rel="noreferrer noopener">retrieve_extract</a></code> endpoint. I&#8217;m using the <a href="https://www.dbi-services.com/blog/production-ready-goldengate-rest-client-in-python/" target="_blank" rel="noreferrer noopener">Python client</a> I presented in another blog. Everything I&#8217;m talking about here is not specific to extracts, and can be extended to replicats. However, <strong>it doesn&#8217;t apply to distribution paths</strong>.</p>



<h4 class="wp-block-heading" id="h-extract-with-no-profile-assigned">Extract with no profile assigned</h4>



<p>If an extract was created in the most basic configuration, it inherits the <code>Default</code> profile implicitly, but this information is <strong>not registered in the extract definition</strong>. Below is the configuration of such an extract. To save you time, just remember that there is no mention of any profile setting.</p>



<pre class="wp-block-code"><code>&gt;&gt;&gt; ogg_client.retrieve_extract('EXTSRC')
{'$schema': 'ogg:extract', 'credentials': {'alias': 'cdb01', 'domain': 'OracleGoldenGate'}, 'begin': 'now', 'encryptionProfile': 'LocalWallet', 'targets': &#091;{'name': 'aa', 'path': 'PDB1', 'sizeMB': 2000, 'sequenceLength': 9, 'sequenceLengthFlip': False, 'sequence': 1, 'offset': 1399, 'remote': False}], 'config': &#091;'--- Auto generated Parameter File, do not edit ---', 'EXTRACT EXTSRC', 'USERIDALIAS cdb01 DOMAIN OracleGoldenGate', 'EXTTRAIL PDB1/aa', '--- End of auto generated Parameter File ---', 'SOURCECATALOG PDB1', 'TABLE APP_PDB1.*;'], 'source': 'tranlogs', 'type': 'Integrated', 'registration': {'share': False, 'containers': &#091;'PDB1'], 'csn': 2809889}, 'status': 'running'}</code></pre>



<h4 class="wp-block-heading" id="h-extract-with-a-profile-set">Extract with a profile set</h4>



<p>If a profile is assigned to the extract, the <code>managedProcessSettings</code> key is added to the extract configuration. This is true whether you assign a custom profile or re-assign the <code>Default</code> profile after having changed the extract configuration. Below, we can see the difference with the following key/value pair : <code>'managedProcessSettings': 'ogg:managedProcessSettings:dbiProfile'</code></p>



<pre class="wp-block-code"><code>{'$schema': 'ogg:extract', 'credentials': {'alias': 'cdb01', 'domain': 'OracleGoldenGate'}, 'begin': 'now', 'encryptionProfile': 'LocalWallet', 'managedProcessSettings': 'ogg:managedProcessSettings:dbiProfile', 'targets': &#091;{'name': 'aa', 'path': 'PDB1', 'sizeMB': 2000, 'sequenceLength': 9, 'sequenceLengthFlip': False, 'sequence': 1, 'offset': 1399, 'remote': False}], 'config': &#091;'--- Auto generated Parameter File, do not edit ---', 'EXTRACT EXTSRC', 'USERIDALIAS cdb01 DOMAIN OracleGoldenGate', 'EXTTRAIL PDB1/aa', '--- End of auto generated Parameter File ---', 'SOURCECATALOG PDB1', 'TABLE APP_PDB1.*;'], 'source': 'tranlogs', 'type': 'Integrated', 'registration': {'share': False, 'containers': &#091;'PDB1'], 'csn': 2809889}, 'status': 'running'}</code></pre>



<h4 class="wp-block-heading" id="h-extract-with-a-custom-configuration">Extract with a custom configuration</h4>



<p>If an extract has a custom unique configuration that is not a profile, the full configuration is added as a JSON to the extract definition under the same <code>managedProcessSettings</code> key. I give below an example:</p>



<pre class="wp-block-code"><code>{'$schema': 'ogg:extract', 'credentials': {'alias': 'cdb01', 'domain': 'OracleGoldenGate'}, 'begin': 'now', 'encryptionProfile': 'LocalWallet', 'managedProcessSettings': {'autoStart': {'enabled': True, 'delay': 60}, 'autoRestart': {'enabled': False, 'onSuccess': False, 'delay': 0, 'retries': 9, 'window': 0, 'disableOnFailure': True, 'failures': 0}}, 'targets': &#091;{'name': 'aa', 'path': 'PDB1', 'sizeMB': 2000, 'sequenceLength': 9, 'sequenceLengthFlip': False, 'sequence': 1, 'offset': 1399, 'remote': False}], 'config': &#091;'--- Auto generated Parameter File, do not edit ---', 'EXTRACT EXTSRC', 'USERIDALIAS cdb01 DOMAIN OracleGoldenGate', 'EXTTRAIL PDB1/aa', '--- End of auto generated Parameter File ---', 'SOURCECATALOG PDB1', 'TABLE APP_PDB1.*;'], 'source': 'tranlogs', 'type': 'Integrated', 'registration': {'share': False, 'containers': &#091;'PDB1'], 'csn': 2809889}, 'status': 'running'}</code></pre>



<h2 class="wp-block-heading" id="h-how-to-modify-a-single-extract-s-profile-with-the-rest-api">How to modify a single extract&#8217;s profile with the REST API ?</h2>



<p><strong>Modifying the profile</strong> of an extract or replicat with the REST API means <strong>updating the <code>managedProcessSettings</code> key</strong> of the process. For an extract, you would use the <code><a href="https://docs.oracle.com/en/database/goldengate/core/26/oggra/op-services-version-extracts-extract-patch.html" target="_blank" rel="noreferrer noopener">update_extract</a></code> endpoint, with a <code>data</code> payload that only contains the <code>managedProcessSettings</code> key, and its value. It can be the <strong>profile name or the full profile definition</strong>, as shown above. Here is an example of a single update of an extract:</p>



<pre class="wp-block-code"><code>&gt;&gt;&gt; ogg_client.update_extract(
extract='EXTSRC',
    data={
        'managedProcessSettings': 'ogg:managedProcessSettings:dbiProfile'
    }
)</code></pre>



<p>And do not worry about entering a <strong>wrong name</strong> for the profile. If you do this, the <strong>API returns the following error</strong>:</p>



<pre class="wp-block-code"><code>&gt;&gt;&gt; ogg_client.update_extract(
    extract='EXTSRC',
    data={
        'managedProcessSettings': 'ogg:managedProcessSettings:NonExistingProfile'
    }
)
Exception: ERROR - https://vmogg/services/ogg_test_01/adminsrvr/v2/extracts/EXTSRC: The managed process settings profile 'ogg:managedProcessSettings:NonExistingProfile' does not exist. ; INFO - https://vmogg/services/ogg_test_01/adminsrvr/v2/extracts/EXTSRC: The item type  with name 'ogg:managedProcessSettings:NonExistingProfile' does not exist.</code></pre>



<h2 class="wp-block-heading" id="h-how-to-modify-all-extracts-and-replicats">How to modify all extracts and replicats ?</h2>



<p>Based on the above, modifying all extracts and replicats is easy. You should just <strong>iterate over your extracts and replicats</strong> and <strong>apply the profile</strong> that you want. Below is an example script where you can modify the <code>profile_name</code> variable and the connection details to the Administration Service of your deployment. You could even decide to have different profiles assigned to extracts and replicats, if needed.</p>



<pre class="wp-block-code"><code>from oggrestapi import OGGRestAPI

profile_name = 'dbiProfile'

ogg_client = OGGRestAPI(
    url='https://vmogg',
    user='ogg',
    password='ogg',
    reverse_proxy=True,
    deployment='ogg_test_01'
)

for extract in ogg_client.list_extracts():
    extract_name = extract&#091;'name']
    print(f"Updating extract {extract_name}")
    ogg_client.update_extract(
        extract=extract_name,
        data={
            'managedProcessSettings': f'ogg:managedProcessSettings:{profile_name}'
        }
    )

for replicat in ogg_client.list_replicats():
    replicat_name = replicat&#091;'name']
    print(f"Updating replicat {replicat_name}")
    ogg_client.update_replicat(
        replicat=replicat_name,
        data={
            'managedProcessSettings': f'ogg:managedProcessSettings:{profile_name}'
        }
    )</code></pre>



<p>After running this against the Administration Service, all your extracts and replicats will now follow the same new profile.</p>
<p>L’article <a href="https://www.dbi-services.com/blog/bulk-update-of-goldengate-extracts-profiles/">Bulk Update of GoldenGate Extract Profiles</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbi-services.com/blog/bulk-update-of-goldengate-extracts-profiles/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>GoldenGate 26ai Logs Explained</title>
		<link>https://www.dbi-services.com/blog/goldengate-26ai-logs-explained/</link>
					<comments>https://www.dbi-services.com/blog/goldengate-26ai-logs-explained/#respond</comments>
		
		<dc:creator><![CDATA[Julien Delattre]]></dc:creator>
		<pubDate>Mon, 20 Apr 2026 06:36:00 +0000</pubDate>
				<category><![CDATA[GoldenGate]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[26]]></category>
		<category><![CDATA[26ai]]></category>
		<category><![CDATA[adminsrvr.log]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[diagnosis]]></category>
		<category><![CDATA[distsrvr.log]]></category>
		<category><![CDATA[ER-events.log]]></category>
		<category><![CDATA[Error]]></category>
		<category><![CDATA[ggserr.log]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[ogg]]></category>
		<category><![CDATA[pmsrvr.log]]></category>
		<category><![CDATA[recvsrvr.log]]></category>
		<category><![CDATA[restapi]]></category>
		<category><![CDATA[restapi.log]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=43872</guid>

					<description><![CDATA[<p>GoldenGate logs are a powerful source of information when troubleshooting or analyzing your deployments. However, there is at least one log file per service in the Microservices Architecture. This means that for a GoldenGate setup with multiple deployments, you can quickly have tens of log files to search for information. In that context, knowing where [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/goldengate-26ai-logs-explained/">GoldenGate 26ai Logs Explained</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>GoldenGate logs are a <strong>powerful source of information</strong> when troubleshooting or <strong>analyzing your deployments</strong>. However, there is at least one log file per service in the Microservices Architecture. This means that for a GoldenGate setup with multiple deployments, you can quickly have tens of log files to search for information. In that context, <strong>knowing where to look is important</strong>, especially if you are <a href="https://www.dbi-services.com/blog/upgrade-goldengate-from-classic-to-microservices-architecture-before-its-too-late/" target="_blank" rel="noreferrer noopener">upgrading from a Classic Architecture</a> where you only had to check the <code>ggserr.log</code> file.</p>



<h2 class="wp-block-heading" id="h-rest-api-log-files">REST API Log Files</h2>



<p>The <code>restapi.log</code> files are one of the most important logs because of the amount of information they provide. They allow you to completely understand what is happening behind the scenes. It takes time to learn how to analyze them, but I wrote a dedicated article on <a href="https://www.dbi-services.com/blog/querying-goldengate-rest-api-log-efficiently/" target="_blank" rel="noreferrer noopener">REST API log analysis</a> to help you through this. There is one <code>restapi.log</code> file per deployment, because the REST API calls are always made to a specific deployment. This is also true when using a reverse proxy.</p>



<p>These <code>restapi.log</code> files are also a source of information for other GoldenGate log files. For instance, REST API logs on the AI Service will be cleaned and filtered before ending up in the log dedicated to the AI Service. This is another reason why you should understand the content of these <code>restapi.log</code> files.</p>



<p>Here is a log example from a <code>restapi.log</code> file. Again, for more details, read the blog linked above.</p>



<pre class="wp-block-code"><code>2026-04-09 19:46:36.789+0000 ERROR|RestAPI.adminsrvr | Request #1581: {
    "context": {
        "httpContextKey": 140353514441552,
        "verbId": 7,
        "verb": "PATCH",
        "originalVerb": "PATCH",
        "uri": "/services/v2/extracts/EXTSRC",
        "protocol": "http",
        "headers": {
            "X-OGG-Context": "services/ogg_test_01/adminsrvr",
            "X-OGG-Deployment": "ogg_test_01",
            "X-OGG-Service": "adminsrvr",
            "X-OGG-Version": "v2",
            "X-OGG-Resource": "extracts/EXTSRC",
            "X-Real-IP": "**",
            "X-Forwarded-For": "**",
            "X-Forwarded-Host": "vmogg",
            "X-Forwarded-Proto": "https",
            "X-Forwarded-Server": "oggvm1",
            "X-SSL-Client-Verify": "NONE",
            "Connection": "keep-alive",
            "Host": "vmogg",
            "Content-Length": "75",
            "User-Agent": "python-requests/2.32.3",
            "Accept-Encoding": "gzip, deflate",
            "Accept": "application/json",
            "Content-Type": "application/json",
            "Cookie": "** Masked **",
            "Authorization": "** Masked **",
            "X-OGG-Requestor-Id": "",
            "X-OGG-Feature-List": ""
        },
        "host": "vmogg",
        "securityEnabled": false,
        "authorization": {
            "authUserName": "ogg",
            "authPassword": "** Masked **",
            "authMode": "Basic",
            "authUserRole": "Security"
        },
        "requestId": 4,
        "uriTemplate": "/services/{version}/extracts/{extract}"
    },
    "content": {
        "managedProcessSettings": "ogg:managedProcessSettings:NonExistingProfile"
    },
    "isScaRequest": true,
    "parameters": {
        "uri": {
            "extract": "EXTSRC",
            "version": "v2"
        }
    }
}
Response: {
    "context": {
        "httpContextKey": 140353514441552,
        "requestId": 4,
        "code": "404 Not Found",
        "headers": {
            "Content-Type": "application/json",
            "Set-Cookie": "** Masked **"
        },
        "Content-Type": "application/json",
        "contentType": "application/json"
    },
    "isScaResponse": true,
    "content": {
        "$schema": "api:standardResponse",
        "links": &#091;
            {
                "rel": "canonical",
                "href": "https://vmogg/services/ogg_test_01/adminsrvr/v2/extracts/EXTSRC",
                "mediaType": "application/json"
            },
            {
                "rel": "self",
                "href": "https://vmogg/services/ogg_test_01/adminsrvr/v2/extracts/EXTSRC",
                "mediaType": "application/json"
            }
        ],
        "messages": &#091;
            {
                "$schema": "ogg:message",
                "title": "The managed process settings profile 'ogg:managedProcessSettings:NonExistingProfile' does not exist.",
                "code": "OGG-08122",
                "severity": "ERROR",
                "issued": "2026-04-09T19:46:36Z",
                "type": "https://docs.oracle.com/en/middleware/goldengate/core/23.26/error-messages/"
            },
            {
                "$schema": "ogg:message",
                "title": "The item type  with name 'ogg:managedProcessSettings:NonExistingProfile' does not exist.",
                "code": "OGG-12029",
                "severity": "INFO",
                "issued": "2026-04-09T19:46:36Z",
                "type": "https://docs.oracle.com/en/middleware/goldengate/core/23.26/error-messages/"
            }
        ]
    }
}</code></pre>



<h2 class="wp-block-heading" id="h-admin-client-log-file">Admin Client Log File</h2>



<p>Depending on your configuration, the <code>adminclient</code> log file might not always be in the same location. More specifically, you can have multiple <code>adminclient.log</code> files for a single GoldenGate installation. The reason behind this is that the logs go to the location of your <code>OGG_VAR_HOME</code> environment variable. The <code>adminclient.log</code> can be located in :</p>



<ul class="wp-block-list">
<li>In your Service Manager <code>var/log</code> directory, if your GoldenGate user has the Service Manager <code>OGG_VAR_HOME</code> set in the environment.</li>



<li>In your deployment <code>var/log</code> directory, if you change the <code>OGG_VAR_HOME</code> environment variable when switching between deployments at the OS level. This is not recommended, as it can lead to multiple <code>adminclient.log</code> files and mixed-up logs between deployments.</li>



<li>In your GoldenGate binaries, if you misconfigured your environment and are calling the <code>adminclient</code> with an empty <code>OGG_VAR_HOME</code> variable. This is not ideal, as you could lose the log file after patching or upgrading.</li>
</ul>



<p>There is not much to see in this file with the default logging configuration, but it can be used to troubleshoot connection issues with the <code>adminclient</code>.</p>



<h2 class="wp-block-heading" id="h-service-manager-log-files">Service Manager Log Files</h2>



<p>Let&#8217;s look at the <code>var/log</code> folder of the Service Manager deployment.</p>



<pre class="wp-block-code"><code>oggsm/var/log:
ServiceManager.log
restapi.log
AIService.log</code></pre>



<p>In GoldenGate 26ai, there are three different logs for the Service Manager:</p>



<ul class="wp-block-list">
<li><code>ServiceManager.log</code> : In a healthy installation, this log file should only contain logs generated when services start or stop. But if your Administration Server doesn&#8217;t start, this log is a good starting point for troubleshooting.</li>
</ul>



<pre class="wp-block-code"><code>2026-04-09T19:20:28.124+0000 INFO | Task 'ogg_test_01:adminsrvr' started with process id 2505 (ogg_test_01:adminsrvr)
2026-04-09T19:20:28.159+0000 INFO | Task 'ServiceManager:AIService' started with process id 2515 (ServiceManager:AIService)
2026-04-09T19:20:28.182+0000 INFO | Task 'ogg_test_01:distsrvr' started with process id 2522 (ogg_test_01:distsrvr)
2026-04-09T19:20:28.215+0000 INFO | Task 'ogg_test_01:recvsrvr' started with process id 2542 (ogg_test_01:recvsrvr)
2026-04-09T19:20:28.234+0000 INFO | Task 'ogg_test_01:pmsrvr' started with process id 2553 (ogg_test_01:pmsrvr)
2026-04-09T19:20:29.243+0000 INFO | Installation topology updated (ServiceManager.Topology)</code></pre>



<ul class="wp-block-list">
<li><code>restapi.log</code> : See the chapter above about REST API Log Files.</li>
</ul>



<ul class="wp-block-list">
<li><code>AIService.log</code> : This is where logs from the AI Service are gathered. It mostly consists of a cleaned collection of the REST API logs from calls made against the AI Service. For instance, here is a log you can get when adding an AI Provider to the Service Manager.</li>
</ul>



<pre class="wp-block-code"><code>2026-04-09 19:32:21.056 DATA |AIService&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |AIService.RestApi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; 247 RequestHandlers.cpp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | 00000000-0000-0000-D5F8-000000000006&gt; {"$schema":"api:standardResponse","links":&#091;],"response":{"providers":&#091;{"id":"1","name":"GeminiAiStudio","type":"gemini","baseUrl":"https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-latest:generateContent","authentication":{"type":"api_key","configured":true},"links":&#091;{"rel":"parent","href":"/api/v1/providers","mediaType":"application/json"},{"rel":"canonical","href":"/api/v1/providers/1","mediaType":"application/json"}]}],"metadata":{"fromCache":false,"providerCount":1,"lastUpdatedEpochMicroseconds":1775827941054749}},"messages":&#091;]} (Thread 2)</code></pre>



<h2 class="wp-block-heading" id="h-deployment-log-files">Deployment Log Files</h2>



<p>GoldenGate deployments have more log file types than the Service Manager. In the <code>var/log</code> folder of your deployments, you should have the following files:</p>



<pre class="wp-block-code"><code>ogg_test_01/var/log:
adminsrvr.log
distsrvr.log
ER-events.log
extract.log
ggserr.log
pmsrvr.log
recvsrvr.log
replicat.log
restapi.log</code></pre>



<ul class="wp-block-list">
<li><code>adminsrvr.log</code>, <code>distsrvr.log</code>, <code>recvsrvr.log</code> and <code>pmsrvr.log</code> : These files contain all the information, warning and error messages from actions or events in the main GoldenGate services (Administration, Distribution, Receiver and Performance Metrics Services). They are <strong>not as extensive</strong> as what you can find in the <code>restapi.log</code> file, but they provide a really <strong>good overview of what is happening</strong> inside your deployment.</li>



<li><code>ER-events.log</code> : This is a log file that can be used for monitoring your GoldenGate deployments. <strong>All warning and error messages on your extracts and replicats</strong> are available here. It is sometimes verbose, but still very <strong>useful for monitoring</strong>.</li>
</ul>



<pre class="wp-block-code"><code>2026-04-10T07:11:17.844+0000  ERROR   OGG-01668  Oracle GoldenGate Capture for Oracle, EXTA.prm:  PROCESS ABENDING.
2026-04-10T07:12:24.447+0000  WARNING OGG-06658  Oracle GoldenGate Capture for Oracle, EXTB.prm:  Unable to restore a failed connection to the database after 3 retries.</code></pre>



<ul class="wp-block-list">
<li><code>extract.log</code> and <code>replicat.log</code> : In these log files, you can find status information, statistics, and transactions processed by your extracts and replicats. This does not provide fundamentally new information compared to other sources (<code>adminclient</code>, for instance), but it is a <strong>useful view when observing all processes at the same time</strong>.</li>
</ul>



<pre class="wp-block-code"><code>2026-04-08T09:13:10.249+0000 INFO | INFO    OGG-01026  Oracle GoldenGate Capture for Oracle, EXTA.prm:  Rolling over remote file PDB1/aa000000321. (main)
2026-04-08T09:14:10.540+0000 INFO | INFO    OGG-01026  Oracle GoldenGate Capture for Oracle, EXTB.prm:  Rolling over remote file PDB1/ab000000645. (main)
2026-04-08T09:14:32.963+0000 INFO | INFO    OGG-01026  Oracle GoldenGate Capture for Oracle, EXTC.prm:  Rolling over remote file PDB1/ac000000128. (main)</code></pre>



<ul class="wp-block-list">
<li><code>ggserr.log</code> : This log serves the same purpose as it did in the old Classic Architecture, containing all information about your deployment. Contrary to what its name suggests, it <strong>does not only contain the errors</strong> happening in your deployment.</li>
</ul>



<ul class="wp-block-list">
<li><code>restapi.log</code> : See the chapter above about REST API Log Files.</li>
</ul>



<h2 class="wp-block-heading" id="h-goldengate-logs-in-the-web-ui">GoldenGate Logs in the Web UI</h2>



<p>In the GoldenGate web UI, you can access, filter, or query some of the logs listed above. From the Service Manager, the <em><strong>Diagnosis Log</strong></em> tab displays the <code>ServiceManager.log</code> file with filtering options.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="594" height="794" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_diagnosis_log_tab.png" alt="" class="wp-image-43873" style="width:400px" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_diagnosis_log_tab.png 594w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_diagnosis_log_tab-224x300.png 224w" sizes="auto, (max-width: 594px) 100vw, 594px" /></figure>
</div>

<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="317" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_diagnosis_log_tab_content-1024x317.png" alt="" class="wp-image-43874" style="width:800px" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_diagnosis_log_tab_content-1024x317.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_diagnosis_log_tab_content-300x93.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_diagnosis_log_tab_content-768x238.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_diagnosis_log_tab_content.png 1286w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>You can also quickly <strong>enable debug logs</strong> for the Service Manager, which is usually only needed when the<strong> Oracle Support </strong>requests it. This will generate a <code>ServiceManager-debug.log</code> file in your <code>var/log</code> directory, and it can be downloaded from the web UI and sent to the Oracle Support or your dbi GoldenGate expert for analysis.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="176" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_debug_log-1024x176.png" alt="" class="wp-image-43875" style="width:800px" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_debug_log-1024x176.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_debug_log-300x52.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_debug_log-768x132.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_debug_log-1536x264.png 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_debug_log-2048x352.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>When connected to a deployment in the web UI, you can also view different logs.</p>



<ul class="wp-block-list">
<li>From the home page, the <strong><em>Critical Events</em></strong> view displays the content of the <code>ER-events.log</code> file.</li>
</ul>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="148" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_critical_events-1024x148.png" alt="" class="wp-image-43876" style="width:800px" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_critical_events-1024x148.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_critical_events-300x43.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_critical_events-768x111.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_critical_events-1536x222.png 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_critical_events-2048x297.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<ul class="wp-block-list">
<li>From the <strong><em>Services</em></strong> page, you have access to the <em><strong>Diagnosis Log</strong></em> of each service. They will respectively display the <code>adminsrvr.log</code>, <code>distsrvr.log</code>, <code>recvsrvr.log</code> and <code>pmsrvr.log</code> files. Similar to what I just explained, you can also enable debug logs temporarily if needed.</li>
</ul>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="296" height="692" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_dep_log_tabs.png" alt="" class="wp-image-43877" style="width:300px" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_dep_log_tabs.png 296w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_dep_log_tabs-128x300.png 128w" sizes="auto, (max-width: 296px) 100vw, 296px" /></figure>
</div><p>L’article <a href="https://www.dbi-services.com/blog/goldengate-26ai-logs-explained/">GoldenGate 26ai Logs Explained</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbi-services.com/blog/goldengate-26ai-logs-explained/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Create Distribution Paths in NGINX-Secured GoldenGate 26ai</title>
		<link>https://www.dbi-services.com/blog/create-distribution-paths-in-nginx-secured-goldengate-26ai/</link>
					<comments>https://www.dbi-services.com/blog/create-distribution-paths-in-nginx-secured-goldengate-26ai/#respond</comments>
		
		<dc:creator><![CDATA[Julien Delattre]]></dc:creator>
		<pubDate>Fri, 17 Apr 2026 06:18:00 +0000</pubDate>
				<category><![CDATA[GoldenGate]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[connection]]></category>
		<category><![CDATA[distribution]]></category>
		<category><![CDATA[microservices]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[ogg]]></category>
		<category><![CDATA[path]]></category>
		<category><![CDATA[secure]]></category>
		<category><![CDATA[validation]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=43475</guid>

					<description><![CDATA[<p>Setting up a distribution path is an important step when connecting two GoldenGate deployments. However, there are so many connection options that it&#8217;s hard to know how to proceed. In this blog, I will present the way to connect two deployments secured through NGINX. Here are the prerequisites before attempting the distribution path creation: In [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/create-distribution-paths-in-nginx-secured-goldengate-26ai/">Create Distribution Paths in NGINX-Secured GoldenGate 26ai</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Setting up a distribution path is an important step when connecting two GoldenGate deployments. However, there are so many connection options that it&#8217;s hard to know how to proceed. In this blog, I will present the way to <strong>connect two deployments secured through NGINX</strong>.</p>



<p>Here are the prerequisites before attempting the distribution path creation:</p>



<ul class="wp-block-list">
<li>Having<strong> two servers</strong>, each running a <strong>GoldenGate</strong> Microservices Architecture. I will use the latest version here, <strong>26ai</strong>.</li>



<li>Having a<strong> running extract on the source</strong> setup.</li>



<li><strong>Port openings</strong>: port <code>443</code> should be open between the two deployments.</li>
</ul>



<p>In my environment, I have the following:</p>



<ul class="wp-block-list">
<li><strong>Source environment</strong>: <code>oggvm1</code>, with a deployment named <code>ogg_test_01</code>, a <code>CDB01</code> with a <code>PDB1</code> containing a <code>APP_PDB1</code> schema and a <code>table1</code> table.</li>



<li><strong>Target environment</strong>: <code>oggvm2</code>, with the equivalent deployment <code>ogg_test_02</code>, <code>CDB02</code>, <code>PDB2</code>, <code>APP_PDB2</code> schema, and a <code>table2</code> table.</li>
</ul>



<p>With all of this in mind, here are the three steps needed to create a working distribution path between two GoldenGate deployments secured with NGINX:</p>



<ul class="wp-block-list">
<li><strong>Create a Path Connection</strong></li>



<li><strong>Add the certificates</strong> used in NGINX to secure the target deployment to the source&#8217;s certificate management store.</li>



<li><strong>Create and start the distribution path</strong>.</li>
</ul>



<h2 class="wp-block-heading" id="h-path-connection-creation">Path Connection Creation</h2>



<p>To open a connection to the target deployment <code>ogg_test_02</code>, the source deployment needs a <strong>path connection</strong>. As explained in a <a href="https://www.dbi-services.com/blog/creating-path-connections-with-goldengate-rest-api/" target="_blank" rel="noreferrer noopener">previous blog</a>, <strong>path connections are aliases of an existing user on a target deployment</strong>.</p>



<p>It is recommended to separate roles and not use the administrator account of your target deployment, so let&#8217;s first create the user.</p>



<ul class="wp-block-list">
<li>On <code>ogg_test_02</code> (target deployment), go to the <em><strong>User Administration</strong></em> tab and <strong>add a new user</strong>. For the role, Oracle recommends using the <code>Operator</code> role, so there is no reason to use the higher-privileged <code>Administrator</code> or <code>Security</code> roles.</li>
</ul>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="1015" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_add_user-1024x1015.png" alt="" class="wp-image-43760" style="width:800px" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_add_user-1024x1015.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_add_user-300x297.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_add_user-150x150.png 150w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_add_user-768x761.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_add_user-1536x1522.png 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_add_user.png 1538w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<ul class="wp-block-list">
<li>On <code>ogg_test_01</code> (source deployment), <strong>create the path connection</strong>. Only the <code>Userid</code> and <code>Password</code> fields must match what you just created on the target. The alias is just known on the source side and doesn&#8217;t have to match the username set on the target deployment. The <strong>alias</strong> defined here in the source deployment <strong>will only appear when choosing a connection</strong> during the <strong>distribution path creation</strong>.</li>
</ul>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_add_path-1024x1024.png" alt="" class="wp-image-43761" style="width:800px" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_add_path-1024x1024.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_add_path-300x300.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_add_path-150x150.png 150w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_add_path-768x769.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_add_path-1534x1536.png 1534w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_add_path.png 1538w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<h2 class="wp-block-heading" id="h-certificate-management">Certificate Management</h2>



<p>Because your <strong>deployments are secured with NGINX</strong>, you have to make sure that the certificates being used by one deployment are recognized by the other deployment. To do so, <strong>on the source only</strong>, you have to <strong>register the root certificate authority of the target deployment</strong>.</p>



<p>This can <strong>only</strong> be done at the <strong>Service Manager level</strong>. In the Service Manager web UI, go to <em><strong>Certificate Management</strong></em> and add a CA Certificate in the source deployment <code>ogg_test_01</code>. You have two options here.</p>



<ul class="wp-block-list">
<li>If the CA only needs to be registered on this specific deployment, you can register it with the <strong><em>Local</em></strong> option. This is the more secure option, but it is very often not needed.</li>



<li>If the CA registration should be shared with other deployments, you can register it with the <em><strong>Shared</strong></em> option.</li>
</ul>



<p>Paste the root certificate file used to secure your second deployment. The name used must be unique but will not be used anywhere else in the process.</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" width="1017" height="1024" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_add_ca-1017x1024.png" alt="" class="wp-image-43776" style="width:800px" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_add_ca-1017x1024.png 1017w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_add_ca-298x300.png 298w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_add_ca-150x150.png 150w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_add_ca-768x773.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_add_ca-1526x1536.png 1526w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_add_ca.png 1538w" sizes="auto, (max-width: 1017px) 100vw, 1017px" /></figure>



<h2 class="wp-block-heading" id="h-how-should-i-register-a-certificate-chain">How should I register a certificate chain ?</h2>



<p>If the certificate file contains multiple certificates, GoldenGate doesn&#8217;t allow you to register them in one go. Instead, you need to <strong>break down the file and register each part individually</strong>. Again, the name and order in which you register the certificates do not matter, except for management purposes. I described the issue in more detail in a <a href="https://www.dbi-services.com/blog/ogg-30007-how-to-register-certificates-in-goldengate/" target="_blank" rel="noreferrer noopener">blog about the <code>OGG-30007</code> error</a>.</p>



<h2 class="wp-block-heading" id="h-distribution-path-creation">Distribution Path Creation</h2>



<p>We can now finally create the distribution path. On the <strong>source deployment</strong>, go on the <strong><em>Distribution Service Paths</em></strong> tab and register the path as such:</p>



<ul class="wp-block-list">
<li><strong><em>Path information</em></strong>: Specify the path name. If possible, make the target (and the source) visible in the name, to ease management when having multiple distribution paths.</li>
</ul>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="1019" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_dist_path_1-1024x1019.png" alt="" class="wp-image-43762" style="width:800px" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_dist_path_1-1024x1019.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_dist_path_1-300x298.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_dist_path_1-150x150.png 150w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_dist_path_1-768x764.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_dist_path_1-1536x1528.png 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_dist_path_1.png 1538w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<ul class="wp-block-list">
<li><strong><em>Source options</em></strong>: Here, you should only select the extract at the source of this distribution path. The rest will be filled automatically or can stay with the default value.</li>
</ul>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="1012" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_dist_path_2-1024x1012.png" alt="" class="wp-image-43764" style="width:800px" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_dist_path_2-1024x1012.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_dist_path_2-300x297.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_dist_path_2-768x759.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_dist_path_2-1536x1518.png 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_dist_path_2.png 1544w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<ul class="wp-block-list">
<li><strong><em>Target options</em></strong>: This is where the configuration is specific. Because we are using a <strong>NGINX-secured deployment</strong> on the target, you must click on <strong><em>Reverse proxy enabled</em></strong> and choose the <code>wss</code> <strong>target protocol</strong>.</li>
</ul>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1011" height="1024" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_dist_path_3-1011x1024.png" alt="" class="wp-image-43765" style="width:800px" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_dist_path_3-1011x1024.png 1011w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_dist_path_3-296x300.png 296w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_dist_path_3-768x778.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_dist_path_3-1516x1536.png 1516w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_blog_nginx_dist_path_3.png 1528w" sizes="auto, (max-width: 1011px) 100vw, 1011px" /></figure>
</div>


<ul class="wp-block-list">
<li><strong><em>Advanced, Filtering and Managed Options</em></strong>: Nothing here is specific to our setup, but you can of course customize these options as needed.</li>
</ul>



<p>And that&#8217;s it. Your deployments are now connected, and you should see the trail files on the target once you start the distribution path.</p>



<pre class="wp-block-code"><code>oracle@oggvm2:~/ ll $OGG_DEPLOYMENT_HOME/var/lib/data/PDB1
total 0
-rw-r-----. 1 oracle oinstall 0 Mar 22 07:34 bb000000000</code></pre>



<h2 class="wp-block-heading" id="h-the-remote-peer-submitted-a-certificate-that-failed-validation">The remote peer submitted a certificate that failed validation</h2>



<p>If your distribution path doesn&#8217;t start and generates a &#8220;<em>certificate that failed validation</em>&#8221; error, it means that you incorrectly registered your certificates. Make sure that the target deployment&#8217;s certificates are registered on the source deployment&#8217;s service manager and not the other way around.</p>



<p>You can also try to use the certificate in an <code>OGG_CLIENT_TLS_CAPATH</code> environment variable on the source and connect with the <code>adminclient</code> to check if it&#8217;s working.</p>
<p>L’article <a href="https://www.dbi-services.com/blog/create-distribution-paths-in-nginx-secured-goldengate-26ai/">Create Distribution Paths in NGINX-Secured GoldenGate 26ai</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbi-services.com/blog/create-distribution-paths-in-nginx-secured-goldengate-26ai/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>OGG-30007 : How To Register Certificates In GoldenGate ?</title>
		<link>https://www.dbi-services.com/blog/ogg-30007-how-to-register-certificates-in-goldengate/</link>
					<comments>https://www.dbi-services.com/blog/ogg-30007-how-to-register-certificates-in-goldengate/#respond</comments>
		
		<dc:creator><![CDATA[Julien Delattre]]></dc:creator>
		<pubDate>Tue, 14 Apr 2026 06:39:00 +0000</pubDate>
				<category><![CDATA[GoldenGate]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[ca]]></category>
		<category><![CDATA[Certificate]]></category>
		<category><![CDATA[intermediate]]></category>
		<category><![CDATA[ogg]]></category>
		<category><![CDATA[ogg-30007]]></category>
		<category><![CDATA[PEM]]></category>
		<category><![CDATA[truststore]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=43737</guid>

					<description><![CDATA[<p>After working on a GoldenGate deployment recently, I felt that the OGG-30007 error would be worth writing about. This error happens when registering certificates in GoldenGate. Whether you do it from the web UI or with the REST API, this GoldenGate error is detailed as such: This error occurs because GoldenGate expects exactly one PEM [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/ogg-30007-how-to-register-certificates-in-goldengate/">OGG-30007 : How To Register Certificates In GoldenGate ?</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>After working on a GoldenGate deployment recently, I felt that the <code>OGG-30007</code> error would be worth writing about. This error happens when <a href="https://docs.oracle.com/en/database/goldengate/core/26/coredoc/deploy-add-ca-certificate.html" target="_blank" rel="noreferrer noopener">registering certificates in GoldenGate</a>. Whether you do it from the web UI or with the REST API, this GoldenGate error is detailed as such:</p>



<pre class="wp-block-code"><code>Processing of the certificate PEM portion of the certificate bundle resulted in more than one (1) certificate objects.

Code: OGG-30007

Cause: The read and decode processing of the specified portion of the certificate bundle produced more than one (1) objects. More than one PEM encoded object is present in the data.

Action: Review the specified portion of the certificate bundle and correct as needed. Only a single PEM encoded object is expected.</code></pre>



<p>This error occurs because GoldenGate expects exactly <strong>one PEM object per import</strong>, while a certificate chain file contains multiple certificates. In the web UI, a pop-up will alert you that something is wrong:</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="367" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_ogg30007-1-1024x367.png" alt="" class="wp-image-43739" style="width:800px" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_ogg30007-1-1024x367.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_ogg30007-1-300x108.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_ogg30007-1-768x275.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_ogg30007-1.png 1490w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>As mentioned, this typically happens when registering a certificate chain. For instance, you could face the issue when <strong>connecting two deployments secured with NGINX</strong>. The server presents a certificate chain including the intermediate, while the client (GoldenGate) must trust both the root and the intermediate.</p>



<p>But when the Certificate Authority doesn&#8217;t sign your certificate directly with the <strong>Root Certificate</strong>, but with an <strong>Intermediate Certificate</strong>, the server presents a certificate chain including the intermediate. A certificate like the following will generate an <code>OGG-30007</code> error if you try to add it to the truststore:</p>



<pre class="wp-block-code"><code>-----BEGIN CERTIFICATE-----
(intermediate)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(root)
-----END CERTIFICATE-----</code></pre>



<p>And to make sure that your connections work, you should <strong>not only add the root certificate, but also the intermediate certificate</strong>. Because of the way GoldenGate stores these certificates, two separate entries must be created in the truststore. To ease monitoring and certificate management, you can name them <code>rootCA_ogg_target</code> and <code>intermediateCA_ogg_target</code></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="145" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_root_and_intermediate_CA-1024x145.png" alt="" class="wp-image-43740" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_root_and_intermediate_CA-1024x145.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_root_and_intermediate_CA-300x43.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_root_and_intermediate_CA-768x109.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_root_and_intermediate_CA-1536x218.png 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/ogg_webui_root_and_intermediate_CA.png 2044w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>With this, you should have no problem connecting GoldenGate deployments ! To avoid <code>OGG-30007</code>, ensure that each certificate is imported separately. In practice, this means <strong>extracting the root and intermediate certificates from the chain</strong> file and <strong>registering them as individual entries</strong> in the GoldenGate truststore.</p>
<p>L’article <a href="https://www.dbi-services.com/blog/ogg-30007-how-to-register-certificates-in-goldengate/">OGG-30007 : How To Register Certificates In GoldenGate ?</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbi-services.com/blog/ogg-30007-how-to-register-certificates-in-goldengate/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 
Lazy Loading (feed)

Served from: www.dbi-services.com @ 2026-05-27 22:54:34 by W3 Total Cache
-->