<?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>Archives des Oracle - dbi Blog</title>
	<atom:link href="https://www.dbi-services.com/blog/category/oracle/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.dbi-services.com/blog/category/oracle/</link>
	<description></description>
	<lastBuildDate>Tue, 12 May 2026 07:12:21 +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>Archives des Oracle - dbi Blog</title>
	<link>https://www.dbi-services.com/blog/category/oracle/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<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 fetchpriority="high" 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="(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 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="(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>AutoUpgrade powered easy download and installation of Oracle AI Database 26ai on Linux</title>
		<link>https://www.dbi-services.com/blog/autoupgrade-powered-easy-download-and-installation-of-oracle-ai-database-26ai-on-linux/</link>
					<comments>https://www.dbi-services.com/blog/autoupgrade-powered-easy-download-and-installation-of-oracle-ai-database-26ai-on-linux/#respond</comments>
		
		<dc:creator><![CDATA[Alain Klein]]></dc:creator>
		<pubDate>Fri, 01 May 2026 13:21:58 +0000</pubDate>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[autoupgrade]]></category>
		<category><![CDATA[patching]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=44159</guid>

					<description><![CDATA[<p>With latest versions of AutoUpgrade, downloading and installing Oracle AI Database 26ai on Linux x86 on-premise has become a very simple process. If you want to give a try to Oracle Database 26ai, building a test environment requires minimal effort as you will see in this short post. What we need: Steps to proceed: 1) [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/autoupgrade-powered-easy-download-and-installation-of-oracle-ai-database-26ai-on-linux/">AutoUpgrade powered easy download and installation of Oracle AI Database 26ai on Linux</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading" id="h-with-latest-versions-of-autoupgrade-downloading-and-installing-oracle-ai-database-26ai-on-linux-x86-on-premise-has-become-a-very-simple-process-if-you-want-to-give-a-try-to-oracle-database-26ai-building-a-test-environment-requires-minimal-effort-as-you-will-see-in-this-short-post">With latest versions of AutoUpgrade, downloading and installing Oracle AI Database 26ai on Linux x86 on-premise has become a very simple process. If you want to give a try to Oracle Database 26ai, building a test environment requires minimal effort as you will see in this short post.</h2>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>What we need:</p>



<ul class="wp-block-list">
<li>Internet access</li>



<li>Oracle Support account</li>



<li>new installation of Oracle Linux 8 or 9, RHEL 8 or 9, SLES 15 with enough space for Oracle binaries</li>



<li>Java JDK 8 to JDK 11</li>



<li>latest version of AutoUpgrade</li>
</ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Steps to proceed:</p>



<ul class="wp-block-list">
<li>update the system if not already performed</li>



<li>install OpenJDK if java not yet installed on the system</li>



<li>install Oracle preinstall package for 26ai</li>



<li>create oracle base, inventory and home directories with relevant permissions</li>



<li>change to oracle user created during installation of preinstall package for 26ai</li>



<li>create AutoUpgrade home with some subdirectories</li>



<li>download latest AutoUgrade version</li>



<li>check version of AutoUpgrade</li>



<li>create AutoUpgrade configuration file for software download</li>



<li>configure AutoUpgrade keystore to enable access to Oracle Support</li>



<li>launch software download</li>



<li>create AutoUpgrade configuration file for Oracle Home creation</li>



<li>launch Oracle Home creation</li>



<li>check the newly installed Oracle AI Database 26ai environment</li>
</ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h5 class="wp-block-heading" id="h-1-update-the-system">1) Update the system</h5>



<pre class="wp-block-code"><code>sudo dnf update
</code></pre>



<h5 class="wp-block-heading" id="h-2-install-openjdk-if-java-not-yet-installed-on-the-system">2) Install OpenJDK if java not yet installed on the system</h5>



<pre class="wp-block-code"><code>sudo dnf install -y java-11-openjdk
</code></pre>



<h5 class="wp-block-heading" id="h-3-install-oracle-preinstall-package-for-26ai">3) Install Oracle preinstall package for 26ai</h5>



<pre class="wp-block-code"><code>sudo dnf install -y oracle-database-preinstall-23ai
</code></pre>



<h5 class="wp-block-heading" id="h-4-create-oracle-base-inventory-and-home-directories-with-relevant-permissions">4) Create oracle base, inventory and home directories with relevant permissions</h5>



<pre class="wp-block-code"><code>sudo mkdir -p /u01/app/oracle
sudo mkdir -p /u01/app/oraInventory
sudo mkdir -p /u01/app/oracle/product/23.26.2/dbhome_1
sudo chown -R oracle:oinstall /u01/app/oracle
sudo chown -R oracle:oinstall /u01/app/oraInventory
</code></pre>



<h5 class="wp-block-heading" id="h-5-change-to-oracle-user-created-during-installation-of-preinstall-package-for-26ai">5) Change to oracle user created during installation of preinstall package for 26ai</h5>



<pre class="wp-block-code"><code>sudo su - oracle
</code></pre>



<h5 class="wp-block-heading" id="h-6-create-autoupgrade-home-with-some-subdirectories">6) Create AutoUpgrade home with some subdirectories</h5>



<pre class="wp-block-code"><code>mkdir autoupgrade
mkdir autoupgrade/logs
mkdir autoupgrade/patches
mkdir autoupgrade/keystore
mkdir autoupgrade/etc
cd autoupgrade</code></pre>



<h5 class="wp-block-heading" id="h-7-download-latest-version-of-autoupgrade">7) Download latest version of AutoUpgrade</h5>



<pre class="wp-block-code"><code>wget -O /home/oracle/autoupgrade/autoupgrade.jar https://download.oracle.com/otn-pub/otn_software/autoupgrade.jar
</code></pre>



<h5 class="wp-block-heading" id="h-8-check-version-of-autoupgrade">8) Check version of AutoUpgrade</h5>



<pre class="wp-block-code"><code>java -jar autoupgrade.jar -version
</code></pre>



<h5 class="wp-block-heading" id="h-9-create-autoupgrade-configuration-file-for-software-download">9) Create AutoUpgrade configuration file for software download</h5>



<pre class="wp-block-code"><code>vi etc/au-download.cfg

global.global_log_dir=/home/oracle/autoupgrade/logs
global.keystore=/home/oracle/autoupgrade/keystore

dl.folder=/home/oracle/autoupgrade/patches
dl.patch=RU,OPATCH
dl.target_version=23
dl.platform=LINUX.X64</code></pre>



<h5 class="wp-block-heading" id="h-10-configure-autoupgrade-keystore-to-enable-access-to-oracle-support">10) Configure AutoUpgrade keystore to enable access to Oracle Support</h5>



<pre class="wp-block-code"><code>java -jar autoupgrade.jar -config etc/au-download.cfg -patch -load_password
Processing config file ...

Starting AutoUpgrade Patching Password Loader - Type help for available options
Creating new AutoUpgrade Patching keystore - Password required
Enter password:
Enter password again:
AutoUpgrade Patching keystore was successfully created

MOS&gt; add -user &lt;your-mos-account-name&gt;
Enter your secret/Password:
Re-enter your secret/Password:
MOS&gt; save
Convert the AutoUpgrade Patching keystore to auto-login &#091;YES|NO] ? YES
MOS&gt; exit

AutoUpgrade Patching Password Loader finished - Exiting AutoUpgrade Patching
</code></pre>



<h5 class="wp-block-heading" id="h-11-launch-software-download">11) Launch software download</h5>



<pre class="wp-block-code"><code>java -jar autoupgrade.jar -config etc/au-download.cfg -patch -mode download
AutoUpgrade Patching 26.3.260401 launched with default internal options
Processing config file ...
Loading AutoUpgrade Patching keystore
AutoUpgrade Patching keystore is loaded

Connected to MOS - Searching for specified patches

-----------------------------------------------------
Downloading files to /home/oracle/autoupgrade/patches
-----------------------------------------------------
DATABASE RELEASE UPDATE 23.26.2.0.0
    File: p39099680_230000_Linux-x86-64.zip \ 16%
...
</code></pre>



<p>After download has completed, we get the following output:</p>



<pre class="wp-block-code"><code>AutoUpgrade Patching 26.3.260401 launched with default internal options
Processing config file ...
Loading AutoUpgrade Patching keystore
AutoUpgrade Patching keystore is loaded

Connected to MOS - Searching for specified patches

-----------------------------------------------------
Downloading files to /home/oracle/autoupgrade/patches
-----------------------------------------------------
DATABASE RELEASE UPDATE 23.26.2.0.0
    File: p39099680_230000_Linux-x86-64.zip - VALIDATED

OPatch 12.2.0.1.51 for DB 23.0.0.0.0 (Apr 2026)
    File: p6880880_230000_Linux-x86-64.zip - VALIDATED
-----------------------------------------------------
</code></pre>



<p>At time of writing, 23.26.2 was just released and Data Pump Bundle Patch could not yet be downloaded for this Release Update.</p>



<h5 class="wp-block-heading" id="h-12-create-autoupgrade-configuration-file-for-oracle-home-creation">12) Create AutoUpgrade configuration file for Oracle Home creation</h5>



<pre class="wp-block-code"><code>vi etc/au-create-home.cfg

global.global_log_dir=/home/oracle/autoupgrade/logs

crh.folder=/home/oracle/autoupgrade/patches
crh.patch=RU,OPATCH
crh.target_version=23
crh.platform=LINUX.X64
crh.target_home=/u01/app/oracle/product/23.26.2/dbhome_1
crh.home_settings.edition=ee
crh.home_settings.oracle_base=/u01/app/oracle
crh.home_settings.inventory_location=/u01/app/oraInventory
crh.download=no</code></pre>



<h5 class="wp-block-heading" id="h-13-launch-oracle-home-creation">13) Launch Oracle Home creation</h5>



<pre class="wp-block-code"><code>java -jar autoupgrade.jar -config etc/au-create-home.cfg -patch -mode create_home
AutoUpgrade Patching 26.3.260401 launched with default internal options
Processing config file ...
+-----------------------------------------+
| Starting AutoUpgrade Patching execution |
+-----------------------------------------+
Type 'help' to list console commands
patch&gt;lsj -a
patch&gt; +----+-------------+-------+---------+-------+----------+-------+---------------------+
|Job#|      DB_NAME|  STAGE|OPERATION| STATUS|START_TIME|UPDATED|              MESSAGE|
+----+-------------+-------+---------+-------+----------+-------+---------------------+
| 100|create_home_1|EXTRACT|EXECUTING|RUNNING|  09:29:32|37s ago|Extracting gold image|
+----+-------------+-------+---------+-------+----------+-------+---------------------+
Total jobs 1

patch&gt; Job 100 completed
------------------- Final Summary --------------------
Number of databases            &#091; 1 ]

Jobs finished                  &#091;1]
Jobs failed                    &#091;0]
Jobs restored                  &#091;0]
Jobs pending                   &#091;0]

# Run the root.sh script as root for the following jobs:
For create_home_1 -&gt; /u01/app/oracle/product/23.26.2/dbhome_1/root.sh

# Run the orainstRoot.sh script as root for the following jobs:
For create_home_1 -&gt; /u01/app/oraInventory/orainstRoot.sh

Please check the summary report at:
/home/oracle/autoupgrade/logs/cfgtoollogs/patch/auto/status/status.html
/home/oracle/autoupgrade/logs/cfgtoollogs/patch/auto/status/status.log</code></pre>



<p>To complete the installation, we need to execute with root privileges the two scripts mentioned at the end of the output.</p>



<h5 class="wp-block-heading" id="h-14-check-the-newly-installed-oracle-ai-database-26ai-environment">14) Check the newly installed Oracle AI Database 26ai environment</h5>



<pre class="wp-block-code"><code>more /home/oracle/autoupgrade/logs/cfgtoollogs/patch/auto/status/status.log
==========================================
   AutoUpgrade Patching Summary Report
==========================================
&#091;Date]           Fri May 01 09:33:13 GMT 2026
&#091;Number of Jobs] 1
==========================================
&#091;Job ID] 100
==========================================
&#091;DB Name]                create_home_1
&#091;Version Before AutoUpgrade Patching] 23.0.0.0.0
&#091;Version After AutoUpgrade Patching]  23.26.2.0.0
------------------------------------------
&#091;Stage Name]    PENDING
&#091;Status]        SUCCESS
&#091;Start Time]    2026-05-01 09:29:32
&#091;Duration]      0:00:00
&#091;Log Directory] /home/oracle/autoupgrade/logs/create_home_1/100/pending
------------------------------------------
&#091;Stage Name]    PREACTIONS
&#091;Status]        SUCCESS
&#091;Start Time]    2026-05-01 09:29:32
&#091;Duration]      0:00:00
&#091;Log Directory] /home/oracle/autoupgrade/logs/create_home_1/100/preaction
------------------------------------------
&#091;Stage Name]    EXTRACT
&#091;Status]        SUCCESS
&#091;Start Time]    2026-05-01 09:29:32
&#091;Duration]      0:01:17
&#091;Log Directory] /home/oracle/autoupgrade/logs/create_home_1/100/extract
------------------------------------------
&#091;Stage Name]    DBTOOLS
&#091;Status]        SUCCESS
&#091;Start Time]    2026-05-01 09:30:51
&#091;Duration]      0:00:00
&#091;Log Directory] /home/oracle/autoupgrade/logs/create_home_1/100/dbtools
------------------------------------------
&#091;Stage Name]    INSTALL
&#091;Status]        SUCCESS
&#091;Start Time]    2026-05-01 09:30:52
&#091;Duration]      0:02:20
&#091;Log Directory] /home/oracle/autoupgrade/logs/create_home_1/100/install
------------------------------------------
&#091;Stage Name]    OH_PATCHING
&#091;Status]        SUCCESS
&#091;Start Time]    2026-05-01 09:33:13
&#091;Duration]      0:00:00
&#091;Log Directory] /home/oracle/autoupgrade/logs/create_home_1/100/opatch
------------------------------------------
&#091;Stage Name]    OPTIONS
&#091;Status]        SUCCESS
&#091;Start Time]    2026-05-01 09:33:13
&#091;Duration]      0:00:00
&#091;Log Directory] /home/oracle/autoupgrade/logs/create_home_1/100/options
------------------------------------------
&#091;Stage Name]    ROOTSH
&#091;Status]        SUCCESS
&#091;Start Time]    2026-05-01 09:33:13
&#091;Duration]      0:00:00
&#091;Log Directory] /home/oracle/autoupgrade/logs/create_home_1/100/rootsh
------------------------------------------
&#091;Stage Name]    DISPATCH
&#091;Status]        SUCCESS
&#091;Start Time]    2026-05-01 09:33:13
&#091;Duration]      0:00:00
&#091;Log Directory] /home/oracle/autoupgrade/logs/create_home_1/100/dispatch
------------------------------------------
&#091;Stage Name]    POSTACTIONS
&#091;Status]        SUCCESS
&#091;Start Time]    2026-05-01 09:33:13
&#091;Duration]      0:00:00
&#091;Log Directory] /home/oracle/autoupgrade/logs/create_home_1/100/postaction
------------------------------------------

sqlplus -V

SQL*Plus: Release 23.26.2.0.0 - Production
Version 23.26.2.0.0</code></pre>



<p>And that&#8217;s it.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<p>L’article <a href="https://www.dbi-services.com/blog/autoupgrade-powered-easy-download-and-installation-of-oracle-ai-database-26ai-on-linux/">AutoUpgrade powered easy download and installation of Oracle AI Database 26ai on Linux</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/autoupgrade-powered-easy-download-and-installation-of-oracle-ai-database-26ai-on-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Exascale new clone and snapshot capabilities</title>
		<link>https://www.dbi-services.com/blog/exascale-new-clone-and-snapshot-capabilities/</link>
					<comments>https://www.dbi-services.com/blog/exascale-new-clone-and-snapshot-capabilities/#respond</comments>
		
		<dc:creator><![CDATA[Alain Klein]]></dc:creator>
		<pubDate>Wed, 29 Apr 2026 13:03:59 +0000</pubDate>
				<category><![CDATA[OCI]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[oracle exadata database service]]></category>
		<category><![CDATA[oracle exascale]]></category>
		<category><![CDATA[oracle exascale architecture]]></category>
		<category><![CDATA[oracle exascale clone]]></category>
		<category><![CDATA[oracle exascale infrastructure]]></category>
		<category><![CDATA[oracle exascale snapshot]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=44113</guid>

					<description><![CDATA[<p>One of the most game changing capabilities of Exascale are the new clone and snapshot features compared to previous options available with ASM / ACFS. And since the business requirements for clones or snapshots to be made available rapidly and conveniently are rising, Exascale comes in rescue for IT operations to quickly provide storage efficient [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/exascale-new-clone-and-snapshot-capabilities/">Exascale new clone and snapshot capabilities</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading" id="h-one-of-the-most-game-changing-capabilities-of-exascale-are-the-new-clone-and-snapshot-features-compared-to-previous-options-available-with-asm-acfs-and-since-the-business-requirements-for-clones-or-snapshots-to-be-made-available-rapidly-and-conveniently-are-rising-exascale-comes-in-rescue-for-it-operations-to-quickly-provide-storage-efficient-copies-of-production-databases-even-the-most-big-ones">One of the most game changing capabilities of Exascale are the new clone and snapshot features compared to previous options available with ASM / ACFS. And since the business requirements for clones or snapshots to be made available rapidly and conveniently are rising, Exascale comes in rescue for IT operations to quickly provide storage efficient copies of production databases, even the most big ones.</h2>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>The business requirements to be able to get hands on clones of production databases are nowadays countless:</p>



<ul class="wp-block-list">
<li>developer agility (needing separate and isolated databases),</li>



<li>production-like shared environment providing same model and code but with a smaller footprint,</li>



<li>test databases for software update testing,</li>



<li>data sharing,</li>



<li>point-in-time reporting, what-if scenario modeling or data audit.</li>
</ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>For environments with big databases (tens of terabytes and more), Exascale is very well suited to do the job, with the following main features and advantages:</p>



<ul class="wp-block-list">
<li>source database flexibility: you can now clone read-write and read-only 23/26ai databases, at the PDB and CDB level</li>



<li>no upstream dependencies: unlike ASM, Exascale no longer requires a test-master read-only copy</li>



<li>storage reclamation is automatically performed by Exascale for extents no longer referenced by a file</li>



<li>redirect-on-write techniques enable quick clone creation and maintenance with unprecedented space efficiency</li>



<li>and last but not least, clone/snapshot is independent of source, which can be dropped without impacting clone</li>
</ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Before going through the details on how to make clones and snapshots, let&#8217;s remind what clones and snapshots are.</p>



<h3 class="wp-block-heading" id="h-snapshot">Snapshot</h3>



<p>A snapshot is a read-only point-in-time copy of a file. Possible sources for snapshot creation are regular files, clones or another snapshot.</p>



<h3 class="wp-block-heading" id="h-clone">Clone</h3>



<p>A clone is a read-write point-in-time copy of a file, possibly created from a regular file, another clone or a snapshot.</p>



<p>There are actually two types of clones: thin (space efficient) or full (byte-for-byte copy of source).</p>



<p>Cloning implicitly creates snapshots.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="h-how-do-we-create-clones-or-snapshots-of-pdbs">How do we create clones or snapshots of PDBs ?</h3>



<p>This is where database kernel and Exascale integration really shines: physical storage operations are encapsulated in single SQL commands, thus there is no need to learn new tricky commands and clauses to leverage Exascale cloning and snapshoting capabilities. You use SQL commands you are already familiar with:</p>



<pre class="wp-block-code"><code>CREATE|ALTER PLUGGABLE DATABASE
</code></pre>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="h-creating-pdb-snapshots">Creating PDB snapshots</h3>



<p>To create a read-only point-in-time reference to a PDB, use:</p>



<pre class="wp-block-code"><code>ALTER PLUGGABLE DATABASE pdb_name SNAPSHOT pdb_snapshot_name;
</code></pre>



<p>Remember that snapshots are inconsistent by default (which precisely makes quick creation possible); so cloning a snapshot triggers recovery based on redo data before the new clone can be opened read-write. Thus, required redo data has to be retained or restored from backup.</p>



<p>The DBA_PDB_SNAPSHOTS dictionary view is available to display snapshots information.</p>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="h-creating-pdb-thin-clones">Creating PDB thin clones</h3>



<p>A PDB thin clone is a space-efficient clone of an existing PDB. You need to use the SNAPSHOT COPY clause like in the following syntax:</p>



<pre class="wp-block-code"><code>CREATE PLUGGABLE DATABASE pdb_name FROM source_pdb_name SNAPSHOT COPY;</code></pre>



<h4 class="wp-block-heading" id="h-thin-cloning-a-pdb">Thin cloning a PDB</h4>



<pre class="wp-block-code"><code>CREATE PLUGGABLE DATABASE thin_clone_pdb_name FROM source_pdb_name SNAPSHOT COPY;
ALTER PLUGGABLE DATABASE thin_clone_pdb_name OPEN INSTANCES=ALL;
</code></pre>



<h4 class="wp-block-heading" id="h-thin-cloning-a-pdb-snapshot">Thin cloning a PDB snapshot</h4>



<pre class="wp-block-code"><code>CREATE PLUGGABLE DATABASE thin_clone_pdb_name FROM source_pdb_name USING SNAPSHOT pdb_snapshot_name SNAPSHOT COPY;
ALTER PLUGGABLE DATABASE thin_clone_pdb_name OPEN INSTANCES=ALL;
</code></pre>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="h-creating-pdb-full-clones">Creating PDB full clones</h3>



<p>As already mentioned, a full clone is a byte-for-byte copy of an existing PDB and therefore takes the same storage space than source PDB. The command to be used is a simple:</p>



<pre class="wp-block-code"><code>CREATE PLUGGABLE DATABASE … FROM …</code></pre>



<p>The missing SNAPSHOT COPY clause directs the database to create a complete block-for-block copy of the PDB.</p>



<pre class="wp-block-code"><code>CREATE PLUGGABLE DATABASE full_clone_pdb_name FROM source_pdb_name;
ALTER PLUGGABLE DATABASE full_clone_pdb_name OPEN INSTANCES=ALL;
</code></pre>



<p>Existing snapshots or thin clones can also be referenced as a source in the preceding commands.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="h-what-about-cloning-an-entire-container-database">What about cloning an entire container database ?</h3>



<p>Space-efficient clones of an entire container database are possible thanks to the powerful gDBClone utility written by Ruggero Citton, to whom we owe other great utilities ODABR (consistent and incremental backup and restore for Oracle Database Appliance nodes), KVMBR (backup and restore of KVM domains) or more recently DSCM &amp; DSCMREST (deployment of Oracle database containers with efficient storage snapshots).</p>



<p>The gDBClone utility enables:</p>



<ul class="wp-block-list">
<li>End-to-end thin and full cloning of a CDB with all its PDB</li>



<li>File clone operations</li>



<li>RMAN calls to make cloned files consistent</li>



<li>Instance related files (such as password, spfile or TDE wallet files) creation</li>



<li>GI registration</li>
</ul>



<p>Here are some simple examples to respectively thin clone and full clone an entire CDB:</p>



<pre class="wp-block-code"><code>gDBClone.bin snap –sdbname source_db_name –tdbname target_db_name
</code></pre>



<pre class="wp-block-code"><code>gDBClone.bin clone –sdbname source_db_name –tdbname target_db_name
</code></pre>



<p>More on this powerful tool in <a href="https://docs.oracle.com/en/engineered-systems/exadata-database-machine/exscl/cloning-container-database.html" id="https://docs.oracle.com/en/engineered-systems/exadata-database-machine/exscl/cloning-container-database.html" target="_blank" rel="noreferrer noopener">Exascale documentation</a> and Oracle Support <a href="https://support.oracle.com/ic/builder/rt/customer_portal/live/webApps/customer-portal/?anchorId=&amp;kmContentId=2099214&amp;page=sptemplate&amp;sptemplate=km-article" id="https://support.oracle.com/ic/builder/rt/customer_portal/live/webApps/customer-portal/?anchorId=&amp;kmContentId=2099214&amp;page=sptemplate&amp;sptemplate=km-article" target="_blank" rel="noreferrer noopener">KB145187</a> article.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="h-performance">Performance</h3>



<p>Thin cloning a 2.4 TB PDB takes less than 12 seconds while opening the new thin clone on a two instances cluster database takes another 11 seconds, for a total elapsed time of the entire operation under 30 seconds !!!</p>



<p>Additional details can be found in this <a href="https://alexblyth.net/2025/09/16/ultra-fast-pdb-thin-clones-on-exadata-exascale/" id="https://alexblyth.net/2025/09/16/ultra-fast-pdb-thin-clones-on-exadata-exascale/" target="_blank" rel="noreferrer noopener">Alex Blyth blog post</a>.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="h-conclusion">Conclusion</h2>



<p>By leveraging state-of-the-art redirect-on-write technologies, Exascale is a leap forward and game changing technology when it comes to clone and snapshot features and capabilities. It is CI/CD friendly and the ideal tool to address the business requirements for test and qualification environments by letting DBAs provide very quickly space efficient copies of production or standby databases or PDBs.</p>



<p>Give it a try to be definitely convinced.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<p>L’article <a href="https://www.dbi-services.com/blog/exascale-new-clone-and-snapshot-capabilities/">Exascale new clone and snapshot capabilities</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/exascale-new-clone-and-snapshot-capabilities/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 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="(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>Not enough space for using ODABR? Reduce /u01 and /opt size on your ODA</title>
		<link>https://www.dbi-services.com/blog/not-enough-space-for-using-odabr-reduce-u01-and-opt-size-on-your-oda/</link>
					<comments>https://www.dbi-services.com/blog/not-enough-space-for-using-odabr-reduce-u01-and-opt-size-on-your-oda/#respond</comments>
		
		<dc:creator><![CDATA[Jérôme Dubar]]></dc:creator>
		<pubDate>Fri, 24 Apr 2026 06:42:11 +0000</pubDate>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[/u01]]></category>
		<category><![CDATA[Available LVM size is less then required snapshot size]]></category>
		<category><![CDATA[cannot use odabr]]></category>
		<category><![CDATA[lvreduce]]></category>
		<category><![CDATA[oda]]></category>
		<category><![CDATA[orabr]]></category>
		<category><![CDATA[oracle database appliance]]></category>
		<category><![CDATA[pvs]]></category>
		<category><![CDATA[x10-ha]]></category>
		<category><![CDATA[x10-s]]></category>
		<category><![CDATA[X11-HA]]></category>
		<category><![CDATA[x8-2ha]]></category>
		<category><![CDATA[x8-2m]]></category>
		<category><![CDATA[x8-2s]]></category>
		<category><![CDATA[X9-2HA]]></category>
		<category><![CDATA[X9-2S]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=44065</guid>

					<description><![CDATA[<p>Introduction The patching of an Oracle Database Appliance needs to be secured. This is because it won&#8217;t limit to patching the databases: there is plenty of other components embedded with the patch, the goal being to keep everything updated. A possible rollback may be needed. For sure, there is no possible rollback for firmwares, BIOS [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/not-enough-space-for-using-odabr-reduce-u01-and-opt-size-on-your-oda/">Not enough space for using ODABR? Reduce /u01 and /opt size on your ODA</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading" id="h-introduction">Introduction</h2>



<p>The patching of an Oracle Database Appliance needs to be secured. This is because it won&#8217;t limit to patching the databases: there is plenty of other components embedded with the patch, the goal being to keep everything updated. A possible rollback may be needed.</p>



<p>For sure, there is no possible rollback for firmwares, BIOS and ILOM (it&#8217;s unlikely you would need to go back to previous version), but you may need to rollback when it comes to patching the OS and the GI stack. Unlike DB homes, OS and GI stack are located on the ODA local disks, and can be protected during patching with LVM snapshots. This is the purpose of ODABR: making LVM snapshots of /, /u01 and /opt before applying the patch. If something goes wrong, you can revert to the previous stable state.</p>



<p>ODABR will need enough space on local disks for creating the snapshots, and sometimes available free space is not enough. How to deal with that?</p>



<h2 class="wp-block-heading" id="h-when-taking-the-snapshots">When taking the snapshots?</h2>



<p>Before using ODABR, I would recommend doing a cleanup of the following filesystems: /, /u01 and /opt. You will need 20+% of free space in these filesystems, otherwise the patch prechecks won&#8217;t give you the green light. ODABR is based on Copy-On-Write technology, meaning that old versions of the changed blocks will be kept for going back in time if needed. Don&#8217;t unzip the patch files after taking the snapshots if the patch files reside on the local disks! Once you&#8217;re ready to patch, the minute before registering the patch and applying the DCS components update, you can use ODABR to take the snapshots.</p>



<h2 class="wp-block-heading" id="h-when-releasing-the-snapshots">When releasing the snapshots?</h2>



<p>Once you successfully applied the system patch and GI patch, and once you verified that everything runs fine with the new GI binaries, you can safely use ODABR to delete the snapshots. If you need to apply multiple patches, make new snapshots before each jump, you will never need to revert to the oldest version once you are in a stable intermediate version.</p>



<h2 class="wp-block-heading" id="h-are-the-odabr-snapshots-useful-for-db-homes">Are the ODABR snapshots useful for DB homes?</h2>



<p>Absolutely not. DB homes are located under /u01/app/odaorahome, a dedicated ACFS filesystem on the DATA diskgroup. You don&#8217;t need snapshot features on this very filesystem because patching a DB home will create a new home and move the database into this new DB home, the old one being kept as long as you want to. You can delete older DB homes months after patching was done. I usually delete old ones as part of the patching job once everything is fine, but I always backup the old DB home with a tar czf in case of. If you need to revert a database to an old DB home, you can do it manually and use a RMAN backup to restore the database, or eventually rollback the datapatch if needed. This is rarely used.</p>



<h2 class="wp-block-heading" id="h-location-of-the-snapshots">Location of the snapshots</h2>



<p>ODABR relies on LVM snapshots, not something really specific to ODA. Snapshots are stored in the remaining space of the Volume Group. Most ODAs were sold with 2x 500GB local disks (SSDs) protected with a software RAID and allocated to a single Volume Group VolGroupSys. When doing the ODA setup, only a part of the storage is allocated to the system volumes as Logical Volumes (LogVolSwap, LogVolOpt, LogVolU01, LogVolRoot), meaning that a comfortable amount of space is available for ODABR:</p>



<pre class="wp-block-code"><code>pvs
  PV           VG          Fmt  Attr PSize   PFree
  /dev/md126p3 VolGroupSys lvm2 a--  446.09g 285.09g

/opt/odabr/odabr backup -snap
...
SUCCESS: 2026-04-22 17:10:33: LVM snapshots backup done successfully

pvs
  PV           VG          Fmt  Attr PSize   PFree
  /dev/md126p3 VolGroupSys lvm2 a--  446.09g 150.09g</code></pre>



<p>ODABR additionally backups ASM metadata, because if you revert to a previous set of LVM snapshots with an older GI release, your ASM metadata would also need to be in the corresponding version.</p>



<h2 class="wp-block-heading" id="h-default-snapshot-sizes-and-real-needs">Default snapshot sizes and real needs</h2>



<p>Default snapshots size is the size of the Logical Volumes, here is an example for a 30GB /, a 55GB /opt and a 50GB /u01:</p>



<pre class="wp-block-code"><code>/opt/odabr/odabr infosnap

│▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
 odabr - ODA node Backup Restore - Version: 2.0.2-06
 Copyright 2013, 2025, Oracle and/or its affiliates.
 --------------------------------------------------------
 RACPack, Cloud Innovation and Solution Engineering Team
│▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│

LVM snap name         status                COW Size              Data%
-------------         ----------            ----------            ------
root_snap             active                30.00 GiB             0.01%
opt_snap              active                55.00 GiB             0.01%
u01_snap              active                50.00 GiB             0.01%</code></pre>



<p>This is quite confortable, there won&#8217;t be 100% blocks changed during the patching, for sure. If you don&#8217;t have these 135GB of free space, you can specify lower values for the snapshots, but make sure to limit modifications on the files residing on these 3 Logical Volumes during the patch:</p>



<pre class="wp-block-code"><code>/opt/odabr/odabr backup -snap -osize 18 -rsize 10 -usize 25</code></pre>



<p>These settings were enough for my latest patches.</p>



<h2 class="wp-block-heading" id="h-the-oda-x9-2-series-exception">The ODA X9-2 series exception</h2>



<p>As far as I remember, ODAs always had a confortable system disk sizes. 500GB is large enough for OS, odacli and GI stack plus a couple of files of your own. Since version 19.10, DB homes and diagnostic destination are now located within ACFS volumes, meaning that it doesn&#8217;t take a single MB from the local disks:</p>



<pre class="wp-block-code"><code>df -h | grep -e Filesystem -e u01
Filesystem                          Size  Used Avail Use% Mounted on
/dev/mapper/VolGroupSys-LogVolU01    49G   27G   20G  58% /u01
/dev/asm/odabase_n0-225              30G  2.5G   28G   9% /u01/app/odaorabase0
/dev/asm/orahome_sh-225              80G   44G   37G  54% /u01/app/odaorahome</code></pre>



<p>As 19.10 was already available when X9-2 was released, Oracle decided to decrease the system disks from 500GB to 250GB, meaning that you didn&#8217;t have the margin you had with the previous generations. The problem was solved with X10 series and onwards, system disks are now back to 500GB as they were on X8-2 series.</p>



<p>What I mean is that you&#8217;ll be most probably concerned about filesystem contention for ODABR if you have X9-2 series.</p>



<h2 class="wp-block-heading" id="h-how-can-you-deal-with-insufficient-disk-space-when-using-odabr">How can you deal with insufficient disk space when using ODABR?</h2>



<p>Imagine you have this kind of configuration:</p>



<pre class="wp-block-code"><code>pvs
  PV           VG          Fmt  Attr PSize   PFree
  /dev/md126p3 VolGroupSys lvm2 a--  222.56g 2.56g</code></pre>



<p>On this ODA, /opt and /u01 have been extended for some reasons, and there is almost no space left on the Volume Group.</p>



<p>If you try to use ODABR to take snapshots, you will get this error:</p>



<pre class="wp-block-code"><code>Available LVM size X is less than required snapshot size Y</code></pre>



<p>2.56GB is way too small for using ODABR: you will need to reduce the size of /u01, /opt or both. First, a cleanup is needed to free up some space. Once done, you&#8217;ll be able to reduce the size of /u01 and/or /opt. But these filesystems will need to be unmounted. And it cannot be done without stopping/starting some processes. Actually, pretty much all the processes running on your ODA.</p>



<h2 class="wp-block-heading" id="h-stopping-the-processes-and-reducing-the-filesystems">Stopping the processes and reducing the filesystems</h2>



<p>Let&#8217;s reduce the /u01 and /opt Logical Volumes&#8217; size in this example:</p>



<pre class="wp-block-code"><code>su - root

df -h /u01 /opt

Filesystem                          Size  Used Avail Use% Mounted on
/dev/mapper/VolGroupSys-LogVolU01    61G   23G   36G  39% /u01
/dev/mapper/VolGroupSys-LogVolOpt    70G   48G   22G  68% /opt

export ORACLE_HOME=/u01/app/19.30.0.0/grid
$ORACLE_HOME/bin/crsctl stop crs

lvreduce -L 50G /dev/VolGroupSys/LogVolU01 -r
Do you want to unmount "/u01" ? &#091;Y|n] y
umount: /u01: target is busy.
fsadm: Cannot proceed with mounted filesystem "/u01".
  /usr/sbin/fsadm failed: 1
  Filesystem resize failed.

lsof /u01/
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
java    23727 root   26r   REG  252,3 16303574 1208968 /u01/app/19.30.0.0/grid/jlib/srvm.jar

kill -9 23727 ; umount /u01
umount: /u01: target is busy.

kill -9 23727 ; umount /u01
-bash: kill: (23727) - No such process

lvreduce -L 50G /dev/VolGroupSys/LogVolU01 -r
fsck from util-linux 2.32.1
/dev/mapper/VolGroupSys-LogVolU01: 76718/4063232 files (7.3% non-contiguous), 6220430/16252928 blocks
resize2fs 1.46.2 (28-Feb-2021)
Resizing the filesystem on /dev/mapper/VolGroupSys-LogVolU01 to 13107200 (4k) blocks.
The filesystem on /dev/mapper/VolGroupSys-LogVolU01 is now 13107200 (4k) blocks long.

  Size of logical volume VolGroupSys/LogVolU01 changed from 62.00 GiB (1984 extents) to 50.00 GiB (1600 extents).
  Logical volume VolGroupSys/LogVolU01 successfully resized.


systemctl stop initdcsagent
systemctl stop initdcscontroller
systemctl stop initdcsadmin
systemctl stop oda-mysql
systemctl stop oracle-ODA_DCS-ODA_DCS0
systemctl stop oracle-tfa
systemctl stop oracle-ohasd


lsof /opt
COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
bash       6697 root  cwd    DIR  252,2     4096 1703937 /opt/dbi
OSWatcher  7799 grid  cwd    DIR  252,2     4096 2235031 /opt/oracle/dcs/oracle.ahf/data/repository/suptools/dbioda01/oswbb/grid/oswbb
OSWatcher  7799 grid    1w   REG  252,2     4703 2228894 /opt/oracle/dcs/oracle.ahf/data/repository/suptools/dbioda01/oswbb/grid/run_1773762195.log (deleted)
OSWatcher  7799 grid    2w   REG  252,2     4703 2228894 /opt/oracle/dcs/oracle.ahf/data/repository/suptools/dbioda01/oswbb/grid/run_1773762195.log (deleted)
OSWatcher  7799 grid  255r   REG  252,2    65286 2235047 /opt/oracle/dcs/oracle.ahf/data/repository/suptools/dbioda01/oswbb/grid/oswbb/OSWatcher.sh
OSWatcher  9903 grid  cwd    DIR  252,2     4096 2235031 /opt/oracle/dcs/oracle.ahf/data/repository/suptools/dbioda01/oswbb/grid/oswbb
OSWatcher  9903 grid    1w   REG  252,2     4703 2228894 /opt/oracle/dcs/oracle.ahf/data/repository/suptools/dbioda01/oswbb/grid/run_1773762195.log (deleted)
OSWatcher  9903 grid    2w   REG  252,2     4703 2228894 /opt/oracle/dcs/oracle.ahf/data/repository/suptools/dbioda01/oswbb/grid/run_1773762195.log (deleted)
OSWatcher  9903 grid  255r   REG  252,2     8035 2235046 /opt/oracle/dcs/oracle.ahf/data/repository/suptools/dbioda01/oswbb/grid/oswbb/OSWatcherFM.sh
sleep     56757 grid  cwd    DIR  252,2     4096 2235031 /opt/oracle/dcs/oracle.ahf/data/repository/suptools/dbioda01/oswbb/grid/oswbb
sleep     56757 grid    1w   REG  252,2     4703 2228894 /opt/oracle/dcs/oracle.ahf/data/repository/suptools/dbioda01/oswbb/grid/run_1773762195.log (deleted)
sleep     56757 grid    2w   REG  252,2     4703 2228894 /opt/oracle/dcs/oracle.ahf/data/repository/suptools/dbioda01/oswbb/grid/run_1773762195.log (deleted)
sleep     56835 grid  cwd    DIR  252,2     4096 2235031 /opt/oracle/dcs/oracle.ahf/data/repository/suptools/dbioda01/oswbb/grid/oswbb
sleep     56835 grid    1w   REG  252,2     4703 2228894 /opt/oracle/dcs/oracle.ahf/data/repository/suptools/dbioda01/oswbb/grid/run_1773762195.log (deleted)
sleep     56835 grid    2w   REG  252,2     4703 2228894 /opt/oracle/dcs/oracle.ahf/data/repository/suptools/dbioda01/oswbb/grid/run_1773762195.log (deleted)

kill -9 7799 9903


lvreduce -L 55G /dev/VolGroupSys/LogVolOpt -r
Do you want to unmount "/opt" ? &#091;Y|n] y
fsck from util-linux 2.32.1
/dev/mapper/VolGroupSys-LogVolOpt: Inode 655911 extent tree (at level 1) could be narrower.  IGNORED.
/dev/mapper/VolGroupSys-LogVolOpt: 57911/4587520 files (2.4% non-contiguous), 12785629/18350080 blocks
resize2fs 1.46.2 (28-Feb-2021)
Resizing the filesystem on /dev/mapper/VolGroupSys-LogVolOpt to 14417920 (4k) blocks.
The filesystem on /dev/mapper/VolGroupSys-LogVolOpt is now 14417920 (4k) blocks long.

  Size of logical volume VolGroupSys/LogVolOpt changed from 70.00 GiB (2240 extents) to 55.00 GiB (1760 extents).
  Logical volume VolGroupSys/LogVolOpt successfully resized.
</code></pre>



<p>As I don&#8217;t want to manually restart the various processes, and as I usually do a sanity reboot before patching, let&#8217;s reboot the server. Everything will then be properly started after.</p>



<pre class="wp-block-code"><code>reboot
...

df -h /u01 /opt
Filesystem                         Size  Used Avail Use% Mounted on
/dev/mapper/VolGroupSys-LogVolU01   49G   23G   25G  49% /u01
/dev/mapper/VolGroupSys-LogVolOpt   54G   48G  4.0G  93% /opt
</code></pre>



<h2 class="wp-block-heading" id="h-further-recommendations">Further recommendations</h2>



<p>You don&#8217;t really need a lot of space on the system disks. Put your patch files and other specific files on a NFS volume shared across your ODAs, and keep the system disks to their default&#8217;s size to keep a confortable margin for ODABR, especially on ODA X9-2 series. Eventually, allow a few more GB to /u01 and/or /opt but keep at least 70GB free for ODABR snapshots. Anticipate the patching and test ODABR several days before, it does not cost anything, and snapshots can be removed immediately without any downtime. Worst case is having to patch now and discovering that there is no space left on disks for using ODABR.</p>



<p>Not being able to secure your patch with ODABR is the second NOGO for patching, the first one being a faulty component reported by odaadmcli show server.</p>



<h2 class="wp-block-heading" id="h-conclusion">Conclusion</h2>



<p>If you don&#8217;t have enough free space for ODABR snapshots, postpone the patching. ODABR is a mandatory safety net. Reducing /u01 and /opt filesystems&#8217;s size is possible. It will require stopping everything, but as you will patch your ODA, you&#8217;ve already allocated a sufficient downtime.</p>
<p>L’article <a href="https://www.dbi-services.com/blog/not-enough-space-for-using-odabr-reduce-u01-and-opt-size-on-your-oda/">Not enough space for using ODABR? Reduce /u01 and /opt size on your ODA</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/not-enough-space-for-using-odabr-reduce-u01-and-opt-size-on-your-oda/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>Loosing java remote console full control during ODA Reimage</title>
		<link>https://www.dbi-services.com/blog/loosing-java-remote-console-full-control-during-oda-reimage/</link>
					<comments>https://www.dbi-services.com/blog/loosing-java-remote-console-full-control-during-oda-reimage/#respond</comments>
		
		<dc:creator><![CDATA[Marc Wagner]]></dc:creator>
		<pubDate>Wed, 22 Apr 2026 08:18:39 +0000</pubDate>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Installation]]></category>
		<category><![CDATA[oda]]></category>
		<category><![CDATA[reimage]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=43970</guid>

					<description><![CDATA[<p>Recently I had to patch an ODA at one of our customer from 19.20 to 19.26, going through 19.24. As you are aware of, knowing we go from Oracle Linux 7 (19.20) to Oracle Linux 8 (19.24), we need to patch the ODA using Data Preserving Reprovisioning. This includes a reimage of the nodes&#8230; Data [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/loosing-java-remote-console-full-control-during-oda-reimage/">Loosing java remote console full control during ODA Reimage</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 had to patch an ODA at one of our customer from 19.20 to 19.26, going through 19.24. As you are aware of, knowing we go from Oracle Linux 7 (19.20) to Oracle Linux 8 (19.24), we need to patch the ODA using Data Preserving Reprovisioning. This includes a reimage of the nodes&#8230;</p>



<p>Data Preserving Reprovisioning will allow you reprovisioning an already deployed Oracle Database Appliance system keeping the storage and the databases on the appliance, so without any modifications on the information stored in the ASM (storage).  The information of the source system will be saved in a server data archive files. The appliance will then be reimaged with Oracle Database Appliance release iso image and the saved metadata will be used to directly reprovision the system and bring back all the resources such as databases, DB systems, Oracle ASR, and others.</p>



<span id="more-43970"></span>



<p>The reimage can only be done using the java remote console, available with the ILOM. Remember that to attach the iso on the java console and use it during the reimage, you need to add it and connect it as described in the next picture.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="549" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/connect_reimage-1024x549.png" alt="" class="wp-image-44046" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/connect_reimage-1024x549.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/connect_reimage-300x161.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/connect_reimage-768x412.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/connect_reimage.png 1249w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>It is important to see the following red message to ensure that the connection with the iso is made and that it can be used.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="559" height="53" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/connect_reimage_2.png" alt="" class="wp-image-44047" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/connect_reimage_2.png 559w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/connect_reimage_2-300x28.png 300w" sizes="auto, (max-width: 559px) 100vw, 559px" /></figure>



<p>The problem is that after a time, during the reimage process, the java remote console lost full control on the node, having as consequence a lost of the iso connection and a failure in the reimage process.</p>



<p>This could be seen in the console with the message (View Only) displayed in the bar and the Red Cross on the top of the Computer (screen)/mouse image.</p>



<p>Here:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="40" height="34" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/Prob_console_0.png" alt="" class="wp-image-44050" /></figure>



<p>When it should be:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="35" height="35" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/connection_good_0.png" alt="" class="wp-image-44051" /></figure>



<p>Here the whole picture showing the connection problem.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="122" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/Prob_console_1-1024x122.png" alt="" class="wp-image-44053" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/Prob_console_1-1024x122.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/Prob_console_1-300x36.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/Prob_console_1-768x92.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/Prob_console_1.png 1030w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>And we can see the message : &#8220;Sorry, keyboard and mouse connection has been lost. \nIf storage was being shared it has been lost also&#8221;.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="587" height="92" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/Prob_console-2.png" alt="" class="wp-image-44054" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/Prob_console-2.png 587w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/Prob_console-2-300x47.png 300w" sizes="auto, (max-width: 587px) 100vw, 587px" /></figure>



<p>When a correct connection would be the following one, having (Full Control) message displayed in the bar, with no lost of keyboard/mouse and storage (iso) connection.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="659" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/connection_good-1024x659.png" alt="" class="wp-image-44055" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/connection_good-1024x659.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/connection_good-300x193.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/connection_good-768x495.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2026/04/connection_good.png 1028w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>After several tries it was always the same problem. After a few minutes, lost of the connection&#8230;</p>



<p>I then decided to check the ILOM sessions, connecting to the ILOM through ssh connection.</p>



<pre class="brush: sql; gutter: true; first-line: 1; highlight: [16,20,21]">
login as: root
Keyboard-interactive authentication prompts from server:
| Password:
End of keyboard-interactive prompts from server

Oracle(R) Integrated Lights Out Manager

Version 5.1.1.23 r151958

Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.

Warning: HTTPS certificate is set to factory default.

Hostname: ODA01-ilo

-&gt; show /SP/sessions

 /SP/sessions
    Targets:
        55342
        55346 (current)

    Properties:

    Commands:
        cd
        delete
        show
</pre>
</br>



<p>I found surprising to see so high sessions id. I decided to reset the ILOM. This would of course not restart the node.</p>



<pre class="brush: sql; gutter: true; first-line: 1; highlight: [1,2]">
-&gt; reset /SP
Are you sure you want to reset /SP (y/n)? y
Performing reset on /SP
</pre>
</br>



<p>And connected again to the ILOM through ssh to checked the sessions:</p>



<pre class="brush: sql; gutter: true; first-line: 1; highlight: [1,16,20]">
login as: root
Keyboard-interactive authentication prompts from server:
| Password:
End of keyboard-interactive prompts from server

Oracle(R) Integrated Lights Out Manager

Version 5.1.1.23 r151958

Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.

Warning: HTTPS certificate is set to factory default.

Hostname: ODA01-ilo

-&gt; show /SP/sessions

 /SP/sessions
    Targets:
        1 (current)

    Properties:

    Commands:
        cd
        delete
        show
</pre>
</br>



<p>The sessions id were back to one, and I did not have any lost connection issue any more. I could successfully reimage the ODA to 19.24 version.</p>



<p></p>
<p>L’article <a href="https://www.dbi-services.com/blog/loosing-java-remote-console-full-control-during-oda-reimage/">Loosing java remote console full control during ODA Reimage</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/loosing-java-remote-console-full-control-during-oda-reimage/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>
	</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-13 03:50:23 by W3 Total Cache
-->