<?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 WebLogic - dbi Blog</title>
	<atom:link href="https://www.dbi-services.com/blog/category/application-integration-middleware/weblogic/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.dbi-services.com/blog/category/application-integration-middleware/weblogic/</link>
	<description></description>
	<lastBuildDate>Fri, 20 Feb 2026 09:21:41 +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 WebLogic - dbi Blog</title>
	<link>https://www.dbi-services.com/blog/category/application-integration-middleware/weblogic/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>WebLogic 14 &#038; Elastic Stack: From Metrics to Predictive Insights</title>
		<link>https://www.dbi-services.com/blog/weblogic-14-elastic-stack-from-metrics-to-predictive-insights/</link>
					<comments>https://www.dbi-services.com/blog/weblogic-14-elastic-stack-from-metrics-to-predictive-insights/#respond</comments>
		
		<dc:creator><![CDATA[David Diab]]></dc:creator>
		<pubDate>Fri, 20 Feb 2026 09:21:39 +0000</pubDate>
				<category><![CDATA[Elastic Stack]]></category>
		<category><![CDATA[WebLogic]]></category>
		<category><![CDATA[elastic Stack]]></category>
		<category><![CDATA[Monitoring]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=40353</guid>

					<description><![CDATA[<p>Oracle WebLogic Server continues to be a backbone for enterprise Java applications. With version 14, it brings improved Java compatibility, stronger security defaults, and better clustering. But while the platform is robust, monitoring it effectively remains a challenge. Introduction Within WebLogic 14, out-of-the-box tools such as the Remote Console and WLST scripts provide some visibility, [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/weblogic-14-elastic-stack-from-metrics-to-predictive-insights/">WebLogic 14 &amp; Elastic Stack: From Metrics to Predictive Insights</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Oracle WebLogic Server continues to be a backbone for enterprise Java applications. With version 14, it brings improved Java compatibility, stronger security defaults, and better clustering. But while the platform is robust, monitoring it effectively remains a challenge.</p>



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



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="683" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/09/Blog-WLS14-Elastic-Stack1-1024x683.png" alt="" class="wp-image-40561" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/09/Blog-WLS14-Elastic-Stack1-1024x683.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/09/Blog-WLS14-Elastic-Stack1-300x200.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/09/Blog-WLS14-Elastic-Stack1-768x512.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/09/Blog-WLS14-Elastic-Stack1.png 1536w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading" id="h-introduction">Introduction</h2>



<p>Within WebLogic 14, out-of-the-box tools such as the Remote Console and WLST scripts provide some visibility, but they are limited when it comes to real-time metrics, historical analysis, or predictive monitoring.</p>



<p>This is where the <a href="https://www.elastic.co/">Elastic</a> Stack (Elasticsearch, Logstash, Beats, Elastic Agent, Kibana, and Elastic Machine Learning) delivers real value. By integrating WebLogic 14 logs, traces and metrics with Elastic Stack, you can build a unified platform that provides:</p>



<ul class="wp-block-list">
<li>Real-time observability of servers, threads, JDBC pools, and JVM health.</li>



<li>Powerful visualization and analysis in Kibana.</li>



<li>Predictive monitoring through anomaly detection and forecasting.</li>
</ul>



<p>In this blog, we’ll walk through the integration of metrics step by step.</p>



<h2 class="wp-block-heading" id="h-step-1-export-weblogic-14-metrics">Step 1: Export WebLogic 14 Metrics</h2>



<p>WebLogic does not natively expose metrics in formats suitable for Elastic or Prometheus. The solution is the WebLogic Monitoring Exporter, which translates JMX metrics into Prometheus-style output.</p>



<p>Download the exporter:</p>



<pre class="wp-block-code"><code>wget https://github.com/oracle/weblogic-monitoring-exporter/releases/download/v2.3.0/weblogic-monitoring-exporter.jar
</code></pre>



<p>Configure it (<code>config.yaml</code>):</p>



<pre class="wp-block-code"><code>domains:
  - name: mydomain
    url: t3://localhost:7001
    username: monitoruser
    password: XXXXXXXXXX
    metrics:
      - name: ServerHealth
      - name: ThreadPool
      - name: JDBCConnectionPool
      - name: JVMRuntime</code></pre>



<p>Start the exporter:</p>



<pre class="wp-block-code"><code>java -jar weblogic-monitoring-exporter.jar --config=config.yaml</code></pre>



<p>Verify metrics are exposed at:</p>



<pre class="wp-block-code"><code>http:&#047;&#047;localhost:8080/metrics</code></pre>



<h2 class="wp-block-heading" id="h-step-2-collect-metrics-with-metricbeat">Step 2: Collect Metrics with Metricbeat</h2>



<p>Elastic provides Metricbeat with a Prometheus module, making it easy to scrape WebLogic exporter metrics and send them to Elasticsearch.</p>



<p>Enable and configure the module:</p>



<pre class="wp-block-code"><code>metricbeat modules enable prometheus</code></pre>



<p>prometheus.yml configuration:</p>



<pre class="wp-block-code"><code>- module: prometheus
  period: 10s
  hosts: &#091;"http://localhost:8080"]
  metrics_path: /metrics</code></pre>



<p>Start Metricbeat:</p>



<pre class="wp-block-code"><code>sudo metricbeat setup
sudo service metricbeat start</code></pre>



<p>Now WebLogic metrics are flowing into Elasticsearch.</p>



<h2 class="wp-block-heading" id="h-step-3-collect-weblogic-logs-with-filebeat-or-elastic-agent">Step 3: Collect WebLogic Logs with Filebeat or Elastic Agent</h2>



<p>Metrics give you system health, but logs provide context. To correlate performance issues with application errors, you should ingest WebLogic logs into Elasticsearch.</p>



<h3 class="wp-block-heading">Option A: Using Filebeat</h3>



<p>Install and configure Filebeat on the WebLogic server.</p>



<p>Example configuration (<code>filebeat.yml</code>):</p>



<pre class="wp-block-code"><code>filebeat.inputs:
  - type: log
    enabled: true
    paths:
      - /u02/app/weblogic/domains/mydomain/servers/*/logs/*.log
    fields:
      application: weblogic
    multiline.pattern: '^\&lt;'
    multiline.negate: true
    multiline.match: after

output.elasticsearch:
  hosts: &#091;"http://localhost:9200"]

And start Filebeat.</code></pre>



<h3 class="wp-block-heading" id="h-option-b-using-elastic-agent-recommended">Option B: Using Elastic Agent (Recommended)</h3>



<p>Elastic Agent simplifies deployment by combining logs, metrics, and security data collection into a single agent managed centrally via Kibana Fleet.</p>



<p>Steps:</p>



<ol class="wp-block-list">
<li>Enroll the agent from Kibana &#8211; Fleet.</li>



<li>Attach the System + Custom Log integration.</li>



<li>Configure the WebLogic log path.</li>



<li>Deploy the agent on your WebLogic server.</li>
</ol>



<p>This approach reduces operational overhead and centralizes configuration.</p>



<h1 class="wp-block-heading" id="h-next-steps-amp-conclusion">Next steps &amp; Conclusion</h1>



<p>Next steps:</p>



<ul class="wp-block-list">
<li>Build Observability Dashboards in Kibana</li>



<li>Add APM for Transaction-Level Visibility</li>



<li>Enable Machine Learning for Predictive Monitoring</li>



<li>Configure Alerts</li>
</ul>



<p>While WebLogic 14 provides essential administrative tooling, it does not offer full observability capabilities out of the box.</p>



<p>By integrating it with the Elastic Stack, you gain:</p>



<ul class="wp-block-list">
<li>Real-time operational insight</li>



<li>Deep log and metric correlation</li>



<li>Predictive monitoring with machine learning</li>



<li>Actionable alerting</li>



<li>Transaction-level visibility</li>
</ul>



<p>This approach scales from a single WebLogic instance to enterprise clusters and hybrid cloud deployments.</p>



<p>In short: you move from reactive troubleshooting to proactive performance management.</p>



<p><a href="https://www.dbi-services.com/blog/category/elastic-stack/" target="_blank" rel="noreferrer noopener">See my Elastic blogs</a>.</p>



<p></p>
<p>L’article <a href="https://www.dbi-services.com/blog/weblogic-14-elastic-stack-from-metrics-to-predictive-insights/">WebLogic 14 &amp; Elastic Stack: From Metrics to Predictive Insights</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/weblogic-14-elastic-stack-from-metrics-to-predictive-insights/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>WebLogic 14: What’s New and Why It Matters</title>
		<link>https://www.dbi-services.com/blog/weblogic-14-whats-new-and-why-it-matters/</link>
					<comments>https://www.dbi-services.com/blog/weblogic-14-whats-new-and-why-it-matters/#respond</comments>
		
		<dc:creator><![CDATA[David Diab]]></dc:creator>
		<pubDate>Mon, 29 Sep 2025 08:42:47 +0000</pubDate>
				<category><![CDATA[Application integration & Middleware]]></category>
		<category><![CDATA[WebLogic]]></category>
		<category><![CDATA[release]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=40404</guid>

					<description><![CDATA[<p>After years working with WebLogic and other application servers (JBoss, WildFly, Tomcat, etc.), I’ve seen most of the challenges enterprises face: domains that refuse to start, clusters that behave unpredictably, and performance issues caused by poor configurations. What experience has taught me is clear: when Best Practices are applied, environments are far more stable and [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/weblogic-14-whats-new-and-why-it-matters/">WebLogic 14: What’s New and Why It Matters</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>After years working with WebLogic and other application servers (JBoss, WildFly, Tomcat, etc.), I’ve seen most of the challenges enterprises face: domains that refuse to start, clusters that behave unpredictably, and performance issues caused by poor configurations. What experience has taught me is clear: when Best Practices are applied, environments are far more stable and easier to manage.</p>



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



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="800" height="400" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/09/1_xPL5LusRjLnv_qict4-KNA.jpg" alt="" class="wp-image-40481" style="width:631px;height:auto" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/09/1_xPL5LusRjLnv_qict4-KNA.jpg 800w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/09/1_xPL5LusRjLnv_qict4-KNA-300x150.jpg 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/09/1_xPL5LusRjLnv_qict4-KNA-768x384.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<p>With the release of WebLogic 14.1.2, Oracle has introduced significant updates that directly affect stability, security, and modernization. Below is an overview of what’s new and what it means for organizations planning to upgrade.</p>



<h2 class="wp-block-heading">A Quick Stroll Through WebLogic History</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Version</th><th>Release Date</th><th>Comment</th></tr></thead><tbody><tr><td>10.3.x</td><td>2009–2012</td><td>The “legacy” version — still found in production in 2025.</td></tr><tr><td>12.1.x</td><td>2011</td><td>Added Java EE 6 support.</td></tr><tr><td>12.2.1.x</td><td>2015</td><td>Introduced multitenancy, scaling, and many incremental patches.</td></tr><tr><td>14.1.1</td><td>2020</td><td>First in the 14 series: Java EE 8, TLS defaults.</td></tr><tr><td>14.1.2</td><td>2024</td><td>Current release: JDK 17/21 support, stronger security, new tooling.</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">What’s New in WebLogic 14</h2>



<h3 class="wp-block-heading">1. Modern Java Support</h3>



<p>WebLogic 14.1.2 now officially supports <strong>JDK 17 and JDK 21</strong>. This provides access to performance improvements (e.g., G1GC, ZGC) and modern Java language features such as records, sealed classes, and switch expressions.</p>



<p><strong>Impact for organizations:</strong></p>



<ul class="wp-block-list">
<li>Applications gain performance and security improvements.</li>



<li>Stricter Java module system may expose hidden dependencies.</li>



<li>Legacy libraries or reflection-based solutions may fail.</li>



<li>Outdated JDBC drivers and frameworks may require upgrading.</li>
</ul>



<h3 class="wp-block-heading">2. Strengthened Security Defaults</h3>



<p>Security has been significantly improved in WebLogic 14:</p>



<ul class="wp-block-list">
<li><strong>OpenID Connect</strong> support for integration with modern identity providers.</li>



<li><strong>TLS 1.0 and 1.1 removed</strong>; only strong cryptographic protocols are supported.</li>



<li><strong>Domain-specific demo certificates</strong> using PKCS12 keystores by default.</li>
</ul>



<p><strong>Impact for organizations:</strong></p>



<ul class="wp-block-list">
<li>Easier integration with enterprise authentication and identity management.</li>



<li>Legacy systems that depend on outdated SSL/TLS protocols will need upgrades.</li>
</ul>



<h3 class="wp-block-heading">3. Administration Console Evolution</h3>



<p>The traditional WebLogic Admin Console has been retired and replaced with the <strong>Remote Console</strong>, a lightweight web application that communicates via REST APIs.</p>



<p><strong>Advantages:</strong></p>



<ul class="wp-block-list">
<li>Manage WebLogic securely from anywhere.</li>



<li>Console can be upgraded independently from the server.</li>
</ul>



<p><strong>Considerations:</strong></p>



<ul class="wp-block-list">
<li>Administrators must adapt to a new interface.</li>



<li>Existing procedures, documentation, and training materials will require updates.</li>
</ul>



<figure class="wp-block-image size-full"><img decoding="async" width="800" height="728" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/09/1754382750771.jpg" alt="" class="wp-image-40480" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/09/1754382750771.jpg 800w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/09/1754382750771-300x273.jpg 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/09/1754382750771-768x699.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<h3 class="wp-block-heading">4. Migration and Refactoring Tools</h3>



<p>Oracle introduced two new tools to assist with upgrades:</p>



<ul class="wp-block-list">
<li><strong>Migration Analysis Tool (MAT):</strong> Scans applications and reports compatibility issues.</li>



<li><strong>OpenRewrite Recipes:</strong> Automates some application refactoring tasks.</li>
</ul>



<p><strong>Considerations:</strong></p>



<ul class="wp-block-list">
<li>These tools provide useful guidance, but results often require expert interpretation.</li>



<li>Automated refactoring may only cover part of the necessary work.</li>
</ul>



<h3 class="wp-block-heading">5. Clustering and Database Enhancements</h3>



<p>Enhancements in high availability and database integration include:</p>



<ul class="wp-block-list">
<li><strong>Health-based routing:</strong> Routes requests to the healthiest available node.</li>



<li><strong>Database client modules:</strong> Simplify integration in Kubernetes and containerized environments.</li>



<li><strong>Improved failover and multi-data center support:</strong> Reduce complexity in HA deployments.</li>
</ul>



<p><strong>Impact for organizations:</strong></p>



<ul class="wp-block-list">
<li>More reliable clustering.</li>



<li>Simplified operations in cloud and hybrid environments.</li>



<li>Better resilience in multi-DC architectures.</li>
</ul>



<h2 class="wp-block-heading" id="h-should-you-upgrade">Should You Upgrade?</h2>



<p>Short answer: yes. Long answer: yes, but carefully.</p>



<p>Sticking with 12c in 2025 is like still using Internet Explorer &#8211; technically possible, but also technically embarrassing. At some point, Oracle’s support matrix will drop you, and then you’re one zero-day away from chaos.</p>



<p>In another world, continuing to run WebLogic 12c in 2025 is increasingly difficult to justify:</p>



<ul class="wp-block-list">
<li>Security vulnerabilities accumulate as older versions leave support.</li>



<li>Integration with modern Java, Kubernetes, and identity providers becomes more challenging.</li>



<li>Oracle’s support matrix is moving forward, and legacy environments are becoming costly liabilities.</li>
</ul>



<h2 class="wp-block-heading">Final Thoughts</h2>



<p>WebLogic 14 is not just an incremental update. It modernizes the platform with stronger security, cloud-native capabilities, and support for the latest Java standards. At the same time, it introduces changes that require careful planning to avoid disruption.</p>



<p>This is where experienced guidance is valuable. With years of WebLogic consulting experience, I support organizations by:</p>



<ul class="wp-block-list">
<li>Auditing WebLogic installation for compatibility issues before migration.</li>



<li>Planning and executing upgrades with minimal downtime.</li>



<li>Configuring new security features and administration tools correctly.</li>



<li>Coaching development and operations teams to adapt to the changes.</li>
</ul>



<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> If your organization is considering upgrading to <strong>WebLogic 14</strong>, let’s discuss how to make the transition smooth, secure, and future-proof.</p>



<p>Happy to share,</p>



<p>David</p>



<p>Have a look to all <a href="https://www.dbi-services.com/blog/author/david-diab/" target="_blank" rel="noreferrer noopener">my blogs</a></p>
<p>L’article <a href="https://www.dbi-services.com/blog/weblogic-14-whats-new-and-why-it-matters/">WebLogic 14: What’s New and Why It Matters</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/weblogic-14-whats-new-and-why-it-matters/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Oracle FMW 14 Installation &#8211; ORA-00439: feature not enabled: Fine-grained access control</title>
		<link>https://www.dbi-services.com/blog/oracle-fmw-14-installation-ora-00439-feature-not-enabled-fine-grained-access-control/</link>
					<comments>https://www.dbi-services.com/blog/oracle-fmw-14-installation-ora-00439-feature-not-enabled-fine-grained-access-control/#respond</comments>
		
		<dc:creator><![CDATA[David Diab]]></dc:creator>
		<pubDate>Tue, 23 Sep 2025 21:29:47 +0000</pubDate>
				<category><![CDATA[Application integration & Middleware]]></category>
		<category><![CDATA[WebLogic]]></category>
		<category><![CDATA[Fusion Middleware]]></category>
		<category><![CDATA[Installation]]></category>
		<category><![CDATA[Oracle]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=39382</guid>

					<description><![CDATA[<p>This short blog is to share with you an issue we faced at a customer during Oracle Fusion Middleware 14 installation. Introduction and Symptoms An important step in the installation process is the Oracle Fusion Middleware Metadata repository creation using the RCU (Repository Creation Utility) which creates the necessary schemas for the components. But when [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/oracle-fmw-14-installation-ora-00439-feature-not-enabled-fine-grained-access-control/">Oracle FMW 14 Installation &#8211; ORA-00439: feature not enabled: Fine-grained access control</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>This short blog is to share with you an issue we faced at a customer during Oracle Fusion Middleware 14 installation.</p>



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



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="701" height="401" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/09/1520187287514.jpg" alt="" class="wp-image-40316" style="width:573px;height:auto" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/09/1520187287514.jpg 701w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/09/1520187287514-300x172.jpg 300w" sizes="auto, (max-width: 701px) 100vw, 701px" /></figure>



<p></p>



<h2 class="wp-block-heading" id="h-introduction-and-symptoms">Introduction and Symptoms</h2>



<p>An important step in the installation process is the Oracle Fusion Middleware Metadata repository creation using the RCU (Repository Creation Utility) which creates the necessary schemas for the components.</p>



<p> But when running the Repository Creation Utility (RCU) to load schemas on Oracle Database, schema creation fails with the below errors:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="635" height="499" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/07/image-8.png" alt="" class="wp-image-39385" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/07/image-8.png 635w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/07/image-8-300x236.png 300w" sizes="auto, (max-width: 635px) 100vw, 635px" /></figure>



<p>In fact, the problem is seen as RCU tries to set up VPD stripes. In another world, RCU relies on fine-grained access control (FGAC) to manage schema creation and access within the Oracle database. </p>



<p>The ORA-00439 error &#8220;feature not enabled: Fine-grained access control&#8221; in Oracle RCU (Repository Creation Utility) indicates that the database being used for RCU schema creation does not have the <strong>fine-grained access control feature enabled</strong>. This feature is only part of the <strong>Enterprise Edition</strong> of Oracle Database and is not available in Standard Edition!</p>



<p>Let&#8217;s check <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="538" height="191" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/07/image-7.png" alt="" class="wp-image-39384" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/07/image-7.png 538w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/07/image-7-300x107.png 300w" sizes="auto, (max-width: 538px) 100vw, 538px" /></figure>



<p>So, no way to do it with Standard Edition? No worries, there is a solution <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<h2 class="wp-block-heading" id="h-solution">Solution</h2>



<p>Oracle here is a patch to workaround this issue, so the steps will be:</p>



<ul class="wp-block-list">
<li>Download the patch</li>



<li>Apply the patch</li>



<li>Run the RCU to load the schemas</li>



<li>Continue with Domain configuration</li>
</ul>



<p><strong>Download the patch</strong></p>



<p>Go to <a href="https://support.oracle.com/epmos/faces/ui/patch/PatchDetail.jspx?parent=DOCUMENT&amp;sourceId=3083393.1&amp;patchId=37506854" target="_blank" rel="noreferrer noopener">Patch 37506854</a> and download it, then move it to your working folder on the server.</p>



<p><strong>Apply the patch</strong></p>



<p>Nothing really special here, apply the patch as any patch <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p>Unzip the patch downloaded, go inside the folder 37506854, and apply the patch:</p>



<pre class="wp-block-code"><code>&#091;oracle@fmwserver working]$ cd 37506854
&#091;oracle@fmwserver 37506854]$ opatch apply
Oracle Interim Patch Installer version 13.9.4.2.17
Copyright (c) 2025, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/app/oracle/product/midw
Central Inventory : /u01/app/oracle/oraInventory
   from           : /u01/app/oracle/product/midw//oraInst.loc
OPatch version    : 13.9.4.2.17
OUI version       : 13.9.4.0.0
Log file location : /u01/app/oracle/product/midw/cfgtoollogs/opatch/opatch2025-07-10_11-22-38AM_1.log


OPatch detects the Middleware Home as "/u01/app/oracle/product/midw"

Verifying environment and performing prerequisite checks...
OPatch continues with these patches:   37506854

Do you want to proceed? &#091;y|n]
y
User Responded with: Y
All checks passed.

Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/u01/app/oracle/product/midw')


Is the local system ready for patching? &#091;y|n]
y
User Responded with: Y
Backing up files...
Applying interim patch '37506854' to OH '/u01/app/oracle/product/midw'

Patching component oracle.rcu.mds, 14.1.2.0.0...

Patching component oracle.rcu.mds, 14.1.2.0.0...
Patch 37506854 successfully applied.
Log file location: /u01/app/oracle/product/midw/cfgtoollogs/opatch/opatch2025-07-10_11-22-38AM_1.log

OPatch succeeded.</code></pre>



<p><strong>Retry the failed step</strong></p>



<p>Now, the RCU should work fine and the domain creation could be done without issue.</p>



<p>Have a look on all FMW <a href="https://www.dbi-services.com/blog/tag/oracle-fusion-middleware/" target="_blank" rel="noreferrer noopener">blogs</a>, more blogs to come about FMW 14 to highlight new features!</p>



<p>If you have any questions don&#8217;t hesitate, please ask <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p>Happy to share,</p>



<p>David<br></p>
<p>L’article <a href="https://www.dbi-services.com/blog/oracle-fmw-14-installation-ora-00439-feature-not-enabled-fine-grained-access-control/">Oracle FMW 14 Installation &#8211; ORA-00439: feature not enabled: Fine-grained access control</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/oracle-fmw-14-installation-ora-00439-feature-not-enabled-fine-grained-access-control/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>JBoss EAP 7 &#8211; Use vault to protect passwords</title>
		<link>https://www.dbi-services.com/blog/jboss-eap-7-use-vault-to-protect-your-passwords/</link>
					<comments>https://www.dbi-services.com/blog/jboss-eap-7-use-vault-to-protect-your-passwords/#comments</comments>
		
		<dc:creator><![CDATA[David Diab]]></dc:creator>
		<pubDate>Mon, 04 Sep 2023 11:59:58 +0000</pubDate>
				<category><![CDATA[WebLogic]]></category>
		<category><![CDATA[JBoss]]></category>
		<category><![CDATA[JBoss EAP]]></category>
		<category><![CDATA[JBoss-EAP]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[WildFly]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=27571</guid>

					<description><![CDATA[<p>JBoss EAP simplifies a lot of server configuration by consolidating all subsystem configurations into a single XML file (standalone.xml or domain.xml). This, however, can expose sensitive information to any user that has access to the configuration files. For example, datasource credentials are by default stored in plain text in the XML file. In this blog [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/jboss-eap-7-use-vault-to-protect-your-passwords/">JBoss EAP 7 &#8211; Use vault to protect passwords</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>JBoss EAP simplifies a lot of server configuration by consolidating all subsystem configurations into a  single XML file (standalone.xml or domain.xml). This, however, can expose sensitive information to any user that has access to the configuration files. For example, datasource credentials are by default stored in plain text in the XML file. In this blog I will show you how to protect your passwords!</p>



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



<h2 class="wp-block-heading" id="h-what-is-the-vault-password">What is the vault password?</h2>



<p>The vault encrypts sensitive strings, stores them in an encrypted keystore, and decrypts them for  applications and verification systems. To avoid leaving sensitive credentials readable in the <em>standalone.xml</em> or <em>domain.xml</em> files, you can store passwords or other attributes in the vault and then reference the vault from within the server configuration file. </p>



<p>Using a vault creates a level of abstraction and obfuscates data which could otherwise be read by anyone who has access to the configuration files. Please note that the access to the configuration files should be anyway restricted.</p>



<h2 class="wp-block-heading" id="h-create-a-java-keystore-to-store-sensitive-strings">Create a Java Keystore to store sensitive strings</h2>



<p>The vault utilizes a keystore by using the certificate stored in the keystore as an encryption key for the  vault as a whole. To initialize the vault, users need to first create the JavaSE keystore. The following is the syntax used to create a private key, a certificate and to store them in a keystore:</p>



<pre class="wp-block-code"><code>keytool -genseckey -alias &lt;alias&gt; -keyalg &lt;algorithm&gt; -storetype &lt;type&gt; -keysize size -keystore &lt;filepath&gt;</code></pre>



<ul class="wp-block-list">
<li>alias: The alias is a unique identifier for the vault or other data stored in the keystore.</li>



<li>keyalg: The algorithm to use for encryption.</li>



<li>storetype: The keystore type. jceks is the recommended type.</li>



<li>keysize The size of the encryption key which determines the difficulty in brute forcing the<br>key.</li>



<li>keystore: The file path and file name in which the keystore&#8217;s values are stored.</li>
</ul>



<p>The below is an example:</p>



<pre class="wp-block-code"><code>&#091;jboss@vmjboss jboss]# keytool -genseckey -alias vault -keyalg AES -storetype jceks -keysize 128 -keystore /app/jboss/vault.keystore
Enter keystore password:  
Re-enter new password: 
Enter key password for &lt;vault&gt;
	(RETURN if same as keystore password):  

Warning:
The JCEKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore /app/jboss/vault.keystore -destkeystore /app/jboss/vault.keystore -deststoretype pkcs12".
&#091;jboss@vmjboss jboss]# ls -rtl /app/jboss/
total 4
-rw-r--r-- 1 jboss jboss 500 Sep  4 10:56 vault.keystore</code></pre>



<p>After running the command, you will be prompted for a keystore password and a keystore file will be created at /app/jboss/vault.keystore.</p>



<h2 class="wp-block-heading" id="h-using-the-vault">Using the vault</h2>



<p>The vault can be initialized either interactively, by providing each parameter one at a time, or by providing all of the parameters initially.</p>



<p>The following is an example of the syntax used to initialize the vault:</p>



<pre class="wp-block-code"><code>vault.sh --keystore KEYSTORE_URL --keystore-password KEYSTORE_PASSWORD --alias KEYSTORE_ALIAS --vault-block VAULT_BLOCK --attribute ATTRIBUTE --sec-attr SEC-ATTR --enc-dir ENC_FILE_DIR --iteration ITERATION_COUNT --salt SALT</code></pre>



<p>The following parameters are required to initialize the vault:</p>



<ul class="wp-block-list">
<li>KEYSTORE_URL: The path to the previously created keystore file.</li>



<li>KEYSTORE_PASSWORD: The password to access the keystore that was used at the keystore&#8217;s<br>creation.</li>



<li>SALT: A random string of eight characters used to encrypt the attribute stored in the vault.</li>



<li>KEYSTORE_ALIAS: The alias that identifies the certificate stored in the keystore.</li>



<li>ITERATION_COUNT: The number of times encryption is run.</li>



<li>ENC_FILE_DIR: The path where the encrypted files are stored.</li>



<li>VAULT_BLOCK: The name to be given to the block in the vault.</li>



<li>ATTRIBUTE: The name of the attribute being stored. For example, &#8220;password&#8221; as an attribute<br>name when storing a password value.</li>



<li>SEC-ATTR: The value being stored.</li>
</ul>



<p>The following is an example with the parameters populated:</p>



<pre class="wp-block-code"><code>&#091;jboss@vmjboss bin]# vault.sh --keystore /app/jboss/vault.keystore --keystore-password password --alias vault --vault-block blog --attribute password --sec-attr blogpass --enc-dir /app/jboss/ --iteration 50 --salt 12345678</code></pre>



<p>After running the vault.sh command, an XML definition of the vault is displayed, which needs to be added to the server configuration files. The following is an example of the XML that needs to be added to either the <em>standalone.xml</em> or <em>host.xml </em>configuration file directly before the section:</p>



<pre class="wp-block-code"><code>&lt;vault&gt;
&lt;vault-option name="KEYSTORE_URL" value="/app/jboss/vault.keystore"/&gt;
&lt;vault-option name="KEYSTORE_PASSWORD" value="MASK-31x/z0Xn83H4JaL0h5eK/N"/&gt;
&lt;vault-option name="KEYSTORE_ALIAS" value="vault"/&gt;
&lt;vault-option name="SALT" value="12345678"/&gt;
&lt;vault-option name="ITERATION_COUNT" value="50"/&gt;
&lt;vault-option name="ENC_FILE_DIR" value="/app/jboss/"/&gt;
&lt;/vault&gt;</code></pre>



<p>The final step is to replace the sensitive data with a reference to the attribute in the vault. The vault.sh command provides the exact syntax necessary to reference the secured attribute after all of the parameters are provided. Using the previous example, the vault command generated the following:</p>



<pre class="wp-block-code"><code>VAULT::blog::password::1</code></pre>



<p>In order to use this reference, use the following syntax within the server configuration:</p>



<pre class="wp-block-code"><code>${VAULT::VAULT_BLOCK::ATTRIBUTE_NAME::1}</code></pre>



<p>The following can replace the previous password in the server configuration for the blog datasource password:</p>



<pre class="wp-block-code"><code>${VAULT::blog::password::1}</code></pre>



<p>After replacing the password for the datasource, the server configuration for the datasource will look similar to the following:</p>



<pre class="wp-block-code"><code>&lt;datasource jndi-name="java:jboss/datasources/blogope" ...&gt;
&lt;connection-url&gt;...&lt;/connection-url&gt;
&lt;driver&gt;mysql&lt;/driver&gt;
&lt;security&gt;
&lt;user-name&gt;blogadmin&lt;/user-name&gt;
&lt;password&gt;<strong>${VAULT::blog::password::1}</strong>&lt;/password&gt;
&lt;/security&gt;
&lt;/datasource&gt;</code></pre>



<p>In this blog we saw how to protect passwords or any sensitive data in configuration files. Don&#8217;t forget to restrict the access to your configuration files also!</p>



<p>Don&#8217;t hesitate to comment this blog, for any question or to share your experience with vault within JBoss EAP. </p>



<p>Some blogs around JBoss EAP:</p>



<ul class="wp-block-list">
<li>J<a href="https://www.dbi-services.com/blog/jboss-eap-7-modules-extensions-subsystems-and-profiles/">Boss EAP 7 – Modules, Extensions, Subsystems, and Profiles</a></li>



<li><a href="https://www.dbi-services.com/blog/jboss-eap-7-domain-creation/">JBoss EAP 7 – Domain creation</a></li>



<li><a href="https://www.dbi-services.com/blog/jboss-eap-7-cluster-in-standalone-mode/">JBoss EAP 7 – Cluster in Standalone mode</a></li>
</ul>
<p>L’article <a href="https://www.dbi-services.com/blog/jboss-eap-7-use-vault-to-protect-your-passwords/">JBoss EAP 7 &#8211; Use vault to protect passwords</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/jboss-eap-7-use-vault-to-protect-your-passwords/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title>Unable to start WebLogic Admin Server during host reconfiguration</title>
		<link>https://www.dbi-services.com/blog/unable-to-start-weblogic-admin-server-during-host-reconfiguration/</link>
					<comments>https://www.dbi-services.com/blog/unable-to-start-weblogic-admin-server-during-host-reconfiguration/#respond</comments>
		
		<dc:creator><![CDATA[Middleware Team]]></dc:creator>
		<pubDate>Tue, 29 Aug 2023 13:51:15 +0000</pubDate>
				<category><![CDATA[Application integration & Middleware]]></category>
		<category><![CDATA[WebLogic]]></category>
		<category><![CDATA[chghost.sh]]></category>
		<category><![CDATA[Oracle Fusion Middleware]]></category>
		<category><![CDATA[Reconfiguration]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=27537</guid>

					<description><![CDATA[<p>In my previous blog named &#8220;Changing Fusion Middleware repository database&#8220;, I explained how to move a Fusion Middleware repository database from one host to a new host. During the run of this exercise, I came over an issue with the chghost.sh script failing to start the WebLogic Administration Server with the following error: Investigating on [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/unable-to-start-weblogic-admin-server-during-host-reconfiguration/">Unable to start WebLogic Admin Server during host reconfiguration</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>In my previous blog named &#8220;<a href="https://www.dbi-services.com/blog/changing-fusion-middleware-repository-database/">Changing Fusion Middleware repository database</a>&#8220;, I explained how to move a Fusion Middleware repository database from one host to a new host. During the run of this exercise, I came over an issue with the chghost.sh script failing to start the WebLogic Administration Server with the following error:</p>



<pre class="wp-block-code"><code>Aug 10, 2023 3:53:47 AM oracle.glcm.fmw.chghost.framework.plugin.impl.t2p.T2PPluginExecutorImpl startAdminServer
INFO: /u02/weblogic/config/12c/domains/fr-domain  ias_admin  password : *** srv-linux-wls1.it.dbi-services.com  7001  /u00/app/weblogic/12cR4/Middleware
java.io.IOException: Cannot run program "/tmp/CLONINGCLIENT2006552337794141616/coredb_start_script1691632427319.sh": error=13, Permission denied
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
        at java.lang.Runtime.exec(Runtime.java:593)
        at java.lang.Runtime.exec(Runtime.java:423)
        at java.lang.Runtime.exec(Runtime.java:320)
        at oracle.as.t2p.sdk.util.CommandInvokationUtil$ThreadDaemon.run(CommandInvokationUtil.java:259)
        at java.lang.Thread.run(Thread.java:750)
Caused by: java.io.IOException: error=13, Permission denied
        at java.lang.UNIXProcess.forkAndExec(Native Method)
        at java.lang.UNIXProcess.&lt;init&gt;(UNIXProcess.java:247)
        at java.lang.ProcessImpl.start(ProcessImpl.java:134)
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
        ... 5 more
java.io.IOException: Cannot run program "/tmp/CLONINGCLIENT2006552337794141616/coredb_admin_pid_script1691632427336.sh": error=13, Permission denied
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
        at java.lang.Runtime.exec(Runtime.java:593)
        at java.lang.Runtime.exec(Runtime.java:423)
        at java.lang.Runtime.exec(Runtime.java:320)
        at oracle.as.t2p.sdk.util.CommandInvokationUtil$ThreadDaemon.run(CommandInvokationUtil.java:259)
        at java.lang.Thread.run(Thread.java:750)
Caused by: java.io.IOException: error=13, Permission denied
        at java.lang.UNIXProcess.forkAndExec(Native Method)
        at java.lang.UNIXProcess.&lt;init&gt;(UNIXProcess.java:247)
        at java.lang.ProcessImpl.start(ProcessImpl.java:134)
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
        ... 5 more</code></pre>



<p>Investigating on the error, I find out that the chghost.sh script writes some scripts in the /tmp folder and execute them to start the WebLogic Administration Server. This fails because the tmp file system was mounted with the noexec flag for security reasons. When it comes to security reasons, it is very difficult to change the systems configuration. I took me some time to found the solution  and thought it would be helpful for others if I publish it in a blog.</p>



<p>The workaround is to set the &#8220;java.io.tmpdir&#8221; in the chghost.sh environment as follow:</p>



<pre class="wp-block-code"><code>export CHGHOST_JAVA_OPTIONS="-Djava.io.tmpdir=/u01/app/oracle/tmp/”  </code></pre>



<p>After setting this variable, the chghost tool will use the new tmp directory to run the scripts generated to start the WebLogic Admin Server.</p>



<p>The other problem encountered was that the chghost tool was not able to connect to an SSL enabled port. I had to enable the http port 7001 during the run of the tool.</p>
<p>L’article <a href="https://www.dbi-services.com/blog/unable-to-start-weblogic-admin-server-during-host-reconfiguration/">Unable to start WebLogic Admin Server during host reconfiguration</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/unable-to-start-weblogic-admin-server-during-host-reconfiguration/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Changing Fusion Middleware repository database</title>
		<link>https://www.dbi-services.com/blog/changing-fusion-middleware-repository-database/</link>
					<comments>https://www.dbi-services.com/blog/changing-fusion-middleware-repository-database/#comments</comments>
		
		<dc:creator><![CDATA[Middleware Team]]></dc:creator>
		<pubDate>Mon, 17 Apr 2023 07:22:43 +0000</pubDate>
				<category><![CDATA[Application integration & Middleware]]></category>
		<category><![CDATA[WebLogic]]></category>
		<category><![CDATA[metadata repository]]></category>
		<category><![CDATA[Oracle Fusion Middleware]]></category>
		<category><![CDATA[Reconfiguration]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=23939</guid>

					<description><![CDATA[<p>In my previous blog named &#8220;Changing Fusion Middleware Forms and Reports repository database&#8220;, I explained how to move a Fusion Middleware Forms and Reports repository from one database to a new database where some other repositories already exist. In this blog, I will explain how to move Fusion Middleware repositories from one database to a [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/changing-fusion-middleware-repository-database/">Changing Fusion Middleware repository database</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>In my previous blog named &#8220;<a href="https://www.dbi-services.com/blog/changing-fusion-middleware-forms-and-reports-repository-database/">Changing Fusion Middleware Forms and Reports repository database</a>&#8220;, I explained how to move a Fusion Middleware Forms and Reports repository from one database to a new database where some other repositories already exist. In this blog, I will explain how to move Fusion Middleware repositories from one database to a brand new database.</p>



<p>The Fusion Middleware repository database migration has been done following the <a href="https://docs.oracle.com/en/middleware/fusion-middleware/12.2.1.4/asadm/changing-network-configurations.html#GUID-2D7EA551-C00D-4604-B02F-1468EEC1F040" target="_blank" rel="noreferrer noopener">Oracle Fusion Middleware 12.2.1.4 – Administering Oracle Fusion Middleware</a> documentation. The following restrictions applies to this kind of move:</p>



<ul class="wp-block-list">
<li>The service name and SID of the database on the target host must be the same as on the source host.</li>



<li>The port on the target host must be the same as on the source host.</li>



<li>The database on the target host must contain the same schemas as on the source host and the schemas must have the same prefix as on the source host.</li>
</ul>



<p>The Repository Creation Utility (RCU) gives the possibility to create SQL scripts to create the system tables and information plus the Fusion Middleware product repository schemas and tables. We will use this functionality to configure the new database to host the migrated repository.</p>



<p>Using the RCU located in the $ORACLE_HOME/oracle_common/bin directory of the Fusion Middleware product I want to migrate the repository, I will generate the scripts that will create all needed objects in the target database for this database to become a Fusion Middleware repository database. Below are the steps I run to archive this.</p>



<p>I start the RCU and select &#8220;Create repository&#8221; and &#8220;Prepare Scripts for System loads&#8221;.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="602" height="469" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/image-18.png" alt="" class="wp-image-23940" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/image-18.png 602w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/image-18-300x234.png 300w" sizes="auto, (max-width: 602px) 100vw, 602px" /></figure>
</div>


<p>I provide the connection information to the target database. </p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="602" height="469" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/image-19.png" alt="" class="wp-image-23941" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/image-19.png 602w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/image-19-300x234.png 300w" sizes="auto, (max-width: 602px) 100vw, 602px" /></figure>
</div>


<p>RCU checks if the target database fulfill the prerequisites.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="602" height="472" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/image-20.png" alt="" class="wp-image-23942" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/image-20.png 602w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/image-20-300x235.png 300w" sizes="auto, (max-width: 602px) 100vw, 602px" /></figure>
</div>


<p>I choose the same prefix as on the source database and the same list of components.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="602" height="472" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/image-21.png" alt="" class="wp-image-23943" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/image-21.png 602w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/image-21-300x235.png 300w" sizes="auto, (max-width: 602px) 100vw, 602px" /></figure>
</div>


<p>RCU checks the prerequisites for the components selected.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="602" height="470" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/image-22.png" alt="" class="wp-image-23945" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/image-22.png 602w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/image-22-300x234.png 300w" sizes="auto, (max-width: 602px) 100vw, 602px" /></figure>
</div>


<p>Once all is validated, I click on the &#8220;Generate&#8221; button to create the DBA script.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="602" height="468" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/image-23.png" alt="" class="wp-image-23946" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/image-23.png 602w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/image-23-300x233.png 300w" sizes="auto, (max-width: 602px) 100vw, 602px" /></figure>
</div>


<p>This raises a process to generate the DBA scripts.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="602" height="471" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/image-24.png" alt="" class="wp-image-23947" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/image-24.png 602w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/image-24-300x235.png 300w" sizes="auto, (max-width: 602px) 100vw, 602px" /></figure>
</div>


<p>Once finalized, the &#8220;Completion Summary&#8221; screen shows the scripts location and the RCU log file name</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="602" height="473" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/image-25.png" alt="" class="wp-image-23948" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/image-25.png 602w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/image-25-300x236.png 300w" sizes="auto, (max-width: 602px) 100vw, 602px" /></figure>
</div>


<p><code>Scripts&nbsp;: /tmp/RCU2023-03-13_13-38_739854221/logs/</code></p>



<p>Run the script &#8220;script_systemLoad.sql&#8221; on the target database as user having the DBA privileges to create the Fusion Middleware system objects and the product metadata schemas. </p>



<p>Once this is done, the rest of the steps are the same as in my previous blog <a href="https://www.dbi-services.com/blog/changing-fusion-middleware-forms-and-reports-repository-database/">Changing Fusion Middleware Forms and Reports repository database</a>&#8220;. Those are:</p>



<h3 class="wp-block-heading">Export all Fusion Middleware repository schemas from the source database</h3>



<p>Before exporting the schemas, you need to make sure the export will be done in the right character set. In my case, the recommended character set for Fusion Middleware was used: AL32UTF8</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
expdp system/***** schemas=VM40FR_STB,VM40FR_IAU_APPEND,VM40FR_IAU_VIEWER,VM40FR_MDS,VM40FR_WLS,VM40FR_WLS_RUNTIME,VM40FR_IAU,VM40FR_OPSS dumpfile=VM40FR.dpdmp﻿
</pre></div>


<h3 class="wp-block-heading">Import those schemas in the target database</h3>



<p>Same as for the database schemas export, the character set has to be correctly set in the NLS_LANG to avoid any character conversion or loose. </p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
impdp system/***** file=VM40FR.dpdmp
</pre></div>


<h3 class="wp-block-heading">Reconfigure the Fusion Middleware to use the new repository database</h3>



<p>The reconfiguration of the Fusion Middleware Forms &amp; Reports has been done using the chghost.sh tool but this one requires two files. The wallet containing the WebLogic domain administrator password and the mapping file describing the type of changes that the chghost.sh tool will apply. Before running the change host script, make sure no process is running for the Fusion Middleware WebLogic Domain. For example, if the node manager is started as Unix service, make sure to stop it or the change host tool will hang stopping the WebLogic managed servers.</p>



<p>Generate the wallet file for an administrator user named weblogic on my test environments.</p>



<pre class="wp-block-code"><code> $MW_HOME/oracle_common/common/bin/configWallet.sh -walletDir /home/oracle/CHGHOST_TEST weblogic</code></pre>



<p> Create the mapping file. db_host_move.txt in this case.</p>



<pre class="wp-block-code"><code>&#091;ARGUMENTS] &#091;DATABASE_MAPPING] 
#  You can only change the database host name. 
vm07.it.dbi-services.com=vm09.it.dbi-services.com</code></pre>



<p>Finally run the chghost.sh script.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
cd /app/oracle/12c/Middleware/oracle_common/bin/ 
./chghost.sh -chgHostInputFile /home/oracle/CHGHOST_TEST/db_host_move.txt  -javaHome /app/oracle/Java/jdk1.8.0_321 -domainLoc /data/config/12c/domains/vm12fr -domainAdminUserName weblogic -walletDir /home/oracle/CHGHOST_TEST  -logPriority FINEST  -logDir /home/oracle/CHGHOST_TEST/logs
</pre></div><p>L’article <a href="https://www.dbi-services.com/blog/changing-fusion-middleware-repository-database/">Changing Fusion Middleware repository database</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/changing-fusion-middleware-repository-database/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Oracle WebLogic Docker Images</title>
		<link>https://www.dbi-services.com/blog/oracle-weblogic-docker-images/</link>
					<comments>https://www.dbi-services.com/blog/oracle-weblogic-docker-images/#respond</comments>
		
		<dc:creator><![CDATA[Middleware Team]]></dc:creator>
		<pubDate>Thu, 13 Apr 2023 11:13:44 +0000</pubDate>
				<category><![CDATA[WebLogic]]></category>
		<category><![CDATA[Docker]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=24513</guid>

					<description><![CDATA[<p>Oracle WebLogic container images stored on docker hub are deprecated. Oracle moved these on his own container registry: https://container-registry.oracle.com/ This registry contains many Oracle products, but we will focus on WebLogic in this blog. Prerequisites To be able to pull an image, you must be sign in and accept the license of the image. The [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/oracle-weblogic-docker-images/">Oracle WebLogic Docker Images</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Oracle WebLogic container images stored on <a href="https://hub.docker.com/_/oracle-weblogic-server-12c" target="_blank" rel="noreferrer noopener">docker hub</a> are deprecated. Oracle moved these on his own container registry: <a href="https://container-registry.oracle.com/" target="_blank" rel="noreferrer noopener">https://container-registry.oracle.com/</a></p>



<p>This registry contains many Oracle products, but we will focus on WebLogic in this blog.</p>



<h2 class="wp-block-heading">Prerequisites</h2>



<p>To be able to pull an image, you must be sign in and accept the license of the image.</p>



<p>The license agreement is per image product (or repository as they called, but it might be confusing). Before you accept, it will look like that:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="61" src="http://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/04/2023-04-13-08_58_11-Oracle-Container-Registry_-Explore-Oracle-Repositories-—-Mozilla-Firefox-1024x61.png" alt="" class="wp-image-24517" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/04/2023-04-13-08_58_11-Oracle-Container-Registry_-Explore-Oracle-Repositories-—-Mozilla-Firefox-1024x61.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/04/2023-04-13-08_58_11-Oracle-Container-Registry_-Explore-Oracle-Repositories-—-Mozilla-Firefox-300x18.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/04/2023-04-13-08_58_11-Oracle-Container-Registry_-Explore-Oracle-Repositories-—-Mozilla-Firefox-768x46.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/04/2023-04-13-08_58_11-Oracle-Container-Registry_-Explore-Oracle-Repositories-—-Mozilla-Firefox-1536x91.png 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/04/2023-04-13-08_58_11-Oracle-Container-Registry_-Explore-Oracle-Repositories-—-Mozilla-Firefox.png 1966w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">WebLogic License Agreement Pending</figcaption></figure>



<p>Note that Oracle also provides patched version of the images with latest CPU. I will go for the standard one.</p>



<p>To accept license, click on Continue button and read &#8220;Oracle Standard Terms and Restrictions&#8221;, then you can accept. After that, repository line will look like this:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="43" src="http://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/04/2023-04-13-09_02_01-Oracle-Container-Registry_-Explore-Oracle-Repositories-—-Mozilla-Firefox-1024x43.png" alt="" class="wp-image-24518" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/04/2023-04-13-09_02_01-Oracle-Container-Registry_-Explore-Oracle-Repositories-—-Mozilla-Firefox-1024x43.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/04/2023-04-13-09_02_01-Oracle-Container-Registry_-Explore-Oracle-Repositories-—-Mozilla-Firefox-300x13.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/04/2023-04-13-09_02_01-Oracle-Container-Registry_-Explore-Oracle-Repositories-—-Mozilla-Firefox-768x32.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/04/2023-04-13-09_02_01-Oracle-Container-Registry_-Explore-Oracle-Repositories-—-Mozilla-Firefox-1536x64.png 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/04/2023-04-13-09_02_01-Oracle-Container-Registry_-Explore-Oracle-Repositories-—-Mozilla-Firefox.png 1965w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">WebLogic License Agreement Accepted</figcaption></figure>



<h2 class="wp-block-heading">Login</h2>



<p>Before pulling the image, I have to log into the registry:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; title: ; notranslate">
$ docker login container-registry.oracle.com
Username: &lt;username@domain.ch&gt;
Password:
WARNING! Your password will be stored unencrypted in /home/ols/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
$
</pre></div>


<h2 class="wp-block-heading">Tags</h2>



<p>Before pulling the image, let&#8217;s see how tagging is done. Tags will allow you to select among many types of container images provided by Oracle:</p>



<ul class="wp-block-list">
<li>WebLogic server version: 14.1.1, 12.2.1.4, 12.2.1.3, &#8230;</li>



<li>Java version: 11.0.17, 8u351, &#8230;</li>



<li>Linux version: Oracle Linux 7u9, 8u4, &#8230;</li>



<li>Installation type: Generic, Slim, Developer</li>
</ul>



<p>Almost all of these could be combined to obtain the perfect image that fit your needs and constraints. Oracle even provides a nice table view with search capabilities and the associated pull command:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="458" src="http://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/04/2023-04-13-09_26_57-Oracle-WebLogic-Server-Repository-Detail-—-Mozilla-Firefox-1024x458.png" alt="" class="wp-image-24519" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/04/2023-04-13-09_26_57-Oracle-WebLogic-Server-Repository-Detail-—-Mozilla-Firefox-1024x458.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/04/2023-04-13-09_26_57-Oracle-WebLogic-Server-Repository-Detail-—-Mozilla-Firefox-300x134.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/04/2023-04-13-09_26_57-Oracle-WebLogic-Server-Repository-Detail-—-Mozilla-Firefox-768x343.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/04/2023-04-13-09_26_57-Oracle-WebLogic-Server-Repository-Detail-—-Mozilla-Firefox-1536x687.png 1536w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/04/2023-04-13-09_26_57-Oracle-WebLogic-Server-Repository-Detail-—-Mozilla-Firefox.png 2013w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">Pulling</h2>



<p>Let&#8217;s download image of the tag <strong>14.1.1.0-11-ol8</strong>:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; title: ; notranslate">
$ docker pull container-registry.oracle.com/middleware/weblogic:14.1.1.0-11-ol8
14.1.1.0-11-ol8: Pulling from middleware/weblogic
65da81875cb9: Pull complete
91a7039d5d86: Pull complete
1bd80e398fe0: Pull complete
a3367028d133: Pull complete
7d59a6e587a1: Pull complete
48b74505173e: Pull complete
Digest: sha256:9b9032fb01aa88c381fd49f0c029289f2b1db21b4e92793ed410c3e3064909f8
Status: Downloaded newer image for container-registry.oracle.com/middleware/weblogic:14.1.1.0-11-ol8
container-registry.oracle.com/middleware/weblogic:14.1.1.0-11-ol8
$ 
</pre></div>


<p>Note that if license was not accepted, it will fail like if I was not logged in (I took Oracle Unified Directory as example):</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; title: ; notranslate">
Error response from daemon: pull access denied for container-registry.oracle.com/middleware/oud, repository does not exist or may require &#039;docker login&#039;: denied: requested access to the resource is denied
</pre></div>


<h2 class="wp-block-heading">Usage of Image</h2>



<p>To be able to start this image, I need at least to set a WebLogic console administrator. To do that, I must create a domain.properties file with following content:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
username=weblogic
password=********
</pre></div>


<p>And map current directory to /u01/oracle/properties when starting the container:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
$ docker run -d -p 7001:7001 -p 9002:9002 \
      -v $PWD:/u01/oracle/properties \
      container-registry.oracle.com/middleware/weblogic:14.1.1.0-11-ol8
</pre></div>


<p>It will take a few minutes as domain is being created. Use docker logs to check status:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
$ docker logs -f zealous_gagarin
Domain Home is:  /u01/oracle/user_projects/domains/base_domain
Create Domain

Initializing WebLogic Scripting Tool (WLST) ...

Welcome to WebLogic Server Administration Scripting Shell

Type help() for help on available commands

domain_name                 : &#x5B;base_domain]
admin_listen_port           : &#x5B;7001]
domain_path                 : &#x5B;/u01/oracle/user_projects/domains/base_domain]
production_mode             : &#x5B;prod]
admin name                  : &#x5B;AdminServer]
administration_port_enabled : &#x5B;true]
administration_port         : &#x5B;9002]
</pre></div>


<p>After a minute, you can see that it is started:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
...
&amp;lt;Apr 13, 2023, 7:47:57,260 AM Coordinated Universal Time&amp;gt; &amp;lt;Notice&amp;gt; &amp;lt;WebLogicServer&amp;gt; &amp;lt;BEA-000329&amp;gt; &amp;lt;Started the WebLogic Server Administration Server &quot;AdminServer&quot; for domain &quot;base_domain&quot; running in production mode.&amp;gt;
&amp;lt;Apr 13, 2023, 7:47:57,291 AM Coordinated Universal Time&amp;gt; &amp;lt;Notice&amp;gt; &amp;lt;WebLogicServer&amp;gt; &amp;lt;BEA-000360&amp;gt; &amp;lt;The server started in RUNNING mode.&amp;gt;
&amp;lt;Apr 13, 2023, 7:47:57,328 AM Coordinated Universal Time&amp;gt; &amp;lt;Notice&amp;gt; &amp;lt;WebLogicServer&amp;gt; &amp;lt;BEA-000365&amp;gt; &amp;lt;Server state changed to RUNNING.
</pre></div>


<h2 class="wp-block-heading">Image Customizations</h2>



<p>This will bring up an empty domain without any managed server or deployed web application. Oracle suggests extending images with a Dockerfile. Here is how it could look like:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
FROM container-registry.oracle.com/middleware/weblogic:14.1.1.0-11-ol8
COPY --chown=oracle:root container-scripts/* /u01/oracle/
WORKDIR /u01/oracle
RUN &#x5B;&quot;/u01/oracle/createAndStartEmptyDomain.sh&quot;]
</pre></div>


<p><code>createAndStartEmptyDomain.sh</code> is embedded in the image, but it could be extended with customization.</p>
<p>L’article <a href="https://www.dbi-services.com/blog/oracle-weblogic-docker-images/">Oracle WebLogic Docker Images</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/oracle-weblogic-docker-images/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>WebLogic Monitoring in Prometheus</title>
		<link>https://www.dbi-services.com/blog/weblogic-monitoring-in-prometheus/</link>
					<comments>https://www.dbi-services.com/blog/weblogic-monitoring-in-prometheus/#comments</comments>
		
		<dc:creator><![CDATA[Middleware Team]]></dc:creator>
		<pubDate>Mon, 27 Mar 2023 09:05:43 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[WebLogic]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[Prometheus]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=23932</guid>

					<description><![CDATA[<p>In this blog, I will explain how to enable WebLogic monitoring in Prometheus as I did for WildFly in my previous blog. WebLogic Monitoring Exporter Oracle is providing, as open source, a Prometheus-compatible exporter in this github repo. It can be run either in a web application or as a separate process. In this blog, [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/weblogic-monitoring-in-prometheus/">WebLogic Monitoring in Prometheus</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 how to enable WebLogic monitoring in Prometheus as I did for <a href="https://www.dbi-services.com/blog/wildfly-monitoring-in-prometheus/" target="_blank" rel="noreferrer noopener">WildFly</a> in my previous <a href="https://www.dbi-services.com/blog/wildfly-monitoring-in-prometheus/" target="_blank" rel="noreferrer noopener">blog</a>.</p>



<h2 class="wp-block-heading">WebLogic Monitoring Exporter</h2>



<p>Oracle is providing, as open source, a Prometheus-compatible exporter in this <a href="https://github.com/oracle/weblogic-monitoring-exporter" target="_blank" rel="noreferrer noopener">github repo</a>. It can be run either in a web application or as a separate process. In this blog, I will focus on the web app method.</p>



<h2 class="wp-block-heading">Prepare Config File</h2>



<p>The web application must be configured with help of a config.yml file. It can be loaded from the web app URL once it has been deployed but changes will not be persistent. Nevertheless, it is a good way to fine-tune parameters.</p>



<p>Once your configuration file has been validated, you can even use the script the provide to integrate the config file into the war file so that web app is deployed directly with the right configuration.</p>



<p>Let&#8217;s take an example of the configuration file provided by Oracle (jvm.yml) with some slight&#8217;s modifications:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: yaml; title: ; notranslate">
metricsNameSnakeCase: true
queries:
- key: name
  keyName: server
  JVMRuntime:
    #prefix: jvm_
    prefix: wls_jvm_
    key: name
    values: &#x5B;heapFreeCurrent, heapFreePercent, heapSizeCurrent, heapSizeMax, uptime, processCpuLoad]
</pre></div>


<p>This file only focuses on Java Virtual Machine memory and CPU. We will use this file in next steps, but for now, we must deploy the web application.</p>



<h2 class="wp-block-heading">Deploy Web Application</h2>



<p>The deployment of <code>wls-exporter.war</code> is not different to any other web application deployments:</p>



<ol class="wp-block-list">
<li>Log into WebLogic console</li>



<li>Go in Deployments section</li>



<li>Click Lock and Edit</li>



<li>Click Install and target it to whatever server you want to monitor.</li>



<li>Once uploaded, click Activate Changes</li>



<li>Still in Deployments section, select Control tab</li>



<li>Select wls-exporter and click start Servicing all requests</li>
</ol>



<p>At this point, you should be able to open the web application http://&lt;HOSTNAME&gt;:7001/wls-exporter/</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="504" height="360" src="http://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/2023-03-27-09_07_56-Weblogic-Monitoring-Exporter-—-Mozilla-Firefox.png" alt="" class="wp-image-23967" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/2023-03-27-09_07_56-Weblogic-Monitoring-Exporter-—-Mozilla-Firefox.png 504w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/2023-03-27-09_07_56-Weblogic-Monitoring-Exporter-—-Mozilla-Firefox-300x214.png 300w" sizes="auto, (max-width: 504px) 100vw, 504px" /><figcaption class="wp-element-caption">weblogic-exporter configuration</figcaption></figure>



<p>As you can see, the <code>queries</code> section is empty, because there is no default configuration.yml file applied. If I open the metrics web page (http://&lt;HOSTNAME&gt;:7001/wls-exporter/metrics), I will not see any metric:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
# No configuration defined.
</pre></div>


<p>Let&#8217;s upload the jvm.yml file. When submitting, I can either Append or Replace configuration file. Then, we will see the running configuration:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="454" height="201" src="http://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/2023-03-27-09_14_34-Weblogic-Monitoring-Exporter-—-Mozilla-Firefox.png" alt="" class="wp-image-23968" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/2023-03-27-09_14_34-Weblogic-Monitoring-Exporter-—-Mozilla-Firefox.png 454w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/2023-03-27-09_14_34-Weblogic-Monitoring-Exporter-—-Mozilla-Firefox-300x133.png 300w" sizes="auto, (max-width: 454px) 100vw, 454px" /></figure>



<p>When I refresh the metrics page, now I can see some metrics:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
wls_jvm_heap_free_current{server=&quot;AdminServer&quot;,name=&quot;AdminServer&quot;} 283142888
wls_jvm_heap_free_percent{server=&quot;AdminServer&quot;,name=&quot;AdminServer&quot;} 58
wls_jvm_heap_size_current{server=&quot;AdminServer&quot;,name=&quot;AdminServer&quot;} 481820672
wls_jvm_heap_size_max{server=&quot;AdminServer&quot;,name=&quot;AdminServer&quot;} 481820672
wls_jvm_process_cpu_load{server=&quot;AdminServer&quot;,name=&quot;AdminServer&quot;} 0.5
wls_jvm_uptime{server=&quot;AdminServer&quot;,name=&quot;AdminServer&quot;} 4674528
wls_scrape_mbeans_count_total{instance=&quot;192.168.33.12:7001&quot;} 6
wls_scrape_duration_seconds{instance=&quot;192.168.33.12:7001&quot;} 0.02
wls_scrape_cpu_seconds{instance=&quot;192.168.33.12:7001&quot;} 0.03
exporter_version{instance=&quot;192.168.33.12:7001&quot;,version=&quot;v2.1.2&quot;} 1
</pre></div>


<p>Now, let&#8217;s add it into Prometheus configuration.</p>



<h2 class="wp-block-heading">Prometheus Configuration</h2>



<p>Prometheus metrics are pulled from exporter, so I must declare it in <code>prometheus.yml</code> configuration file. In <code>scrap_configs</code> section of the file, I added the following lines:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: yaml; title: ; notranslate">
  - job_name: &quot;WebLogicAdmin&quot;
    metrics_path: /wls-exporter/metrics
    static_configs:
    - targets: &#x5B;&#039;192.168.33.12:7001&#039;]
      labels:
        weblogic_clusterName: &#039;Standalone&#039;
        weblogic_domainName: &#039;wls-domain&#039;
        weblogic_domainUID: &#039;wls-domain&#039;
        weblogic_serverName: &#039;admin&#039;
    basic_auth:
      username: weblogic
      password: ******
      
  - job_name: &quot;WebLogicMS&quot;
    metrics_path: /wls-exporter/metrics
    static_configs:
    - targets: &#x5B;&#039;192.168.33.12:8003&#039;]
      labels:
        weblogic_clusterName: &#039;Standalone&#039;
        weblogic_domainName: &#039;wls-domain&#039;
        weblogic_domainUID: &#039;wls-domain&#039;
        weblogic_serverName: &#039;msWS-1&#039;
    basic_auth:
      username: weblogic
      password: ******
</pre></div>


<p>Metrics are labelled so that we can use the Grafana dashboard example provided in the github repo under samples\kubernetes\end2end\dashboard. This is not the best as it is hard-coded whereas everything could be deduced from metrics labels.</p>



<p>As password is not encrypted (only base64), it is <strong>strongly </strong>recommended to use https encryption between Prometheus and WebLogic server.</p>



<h2 class="wp-block-heading">Results and Next Steps</h2>



<p>Here is how it looks in the provided Grafana dashboard:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="487" src="http://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/2023-03-27-10_54_32-WebLogic-Server-Dashboard-Dashboards-Grafana-—-Mozilla-Firefox-1024x487.png" alt="" class="wp-image-23972" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/2023-03-27-10_54_32-WebLogic-Server-Dashboard-Dashboards-Grafana-—-Mozilla-Firefox-1024x487.png 1024w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/2023-03-27-10_54_32-WebLogic-Server-Dashboard-Dashboards-Grafana-—-Mozilla-Firefox-300x143.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/2023-03-27-10_54_32-WebLogic-Server-Dashboard-Dashboards-Grafana-—-Mozilla-Firefox-768x366.png 768w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/2023-03-27-10_54_32-WebLogic-Server-Dashboard-Dashboards-Grafana-—-Mozilla-Firefox.png 1332w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Grafana dashboard</figcaption></figure>



<p>It looks great and it was quickly provisioned.</p>



<p>As you might have noticed &#8220;Thread Pool&#8221; panel is empty. To have it populated, we must modify exporter configuration to include threads metrics. The extra queries will look like this:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: yaml; title: ; notranslate">
- threadPoolRuntime:
    prefix: wls_threadpool_
    key: name
    values: &#x5B;executeThreadTotalCount, queueLength, stuckThreadCount, hoggingThreadCount, standbyThreadCount, executeThreads, executeThreadIdleCount]
</pre></div>


<p>&#8220;Et voilà !&#8221;:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="666" height="271" src="http://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/2023-03-27-11_00_52-WebLogic-Server-Dashboard-Dashboards-Grafana-—-Mozilla-Firefox.png" alt="" class="wp-image-23973" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/2023-03-27-11_00_52-WebLogic-Server-Dashboard-Dashboards-Grafana-—-Mozilla-Firefox.png 666w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/03/2023-03-27-11_00_52-WebLogic-Server-Dashboard-Dashboards-Grafana-—-Mozilla-Firefox-300x122.png 300w" sizes="auto, (max-width: 666px) 100vw, 666px" /><figcaption class="wp-element-caption">Thread Pool panel</figcaption></figure>
<p>L’article <a href="https://www.dbi-services.com/blog/weblogic-monitoring-in-prometheus/">WebLogic Monitoring in Prometheus</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/weblogic-monitoring-in-prometheus/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>FRM-93131 after a brand new Oracle Fusion Middleware Forms installation</title>
		<link>https://www.dbi-services.com/blog/frm-93131-after-a-brand-new-oracle-fusion-middleware-forms-installation/</link>
					<comments>https://www.dbi-services.com/blog/frm-93131-after-a-brand-new-oracle-fusion-middleware-forms-installation/#respond</comments>
		
		<dc:creator><![CDATA[Middleware Team]]></dc:creator>
		<pubDate>Tue, 21 Feb 2023 12:30:04 +0000</pubDate>
				<category><![CDATA[Application integration & Middleware]]></category>
		<category><![CDATA[WebLogic]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=583</guid>

					<description><![CDATA[<p>After a brand new Fusion Middleware Forms &#38; Reports 12.2.1.4 installation, when accessing 12c forms URL: http://hostname:/forms/frmservlet The following error is raised : Doing some googling and searches on the Oracle support site, I came to the note below where it states that solution is to remove the WebLogic domain, cleanup the database repository and [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/frm-93131-after-a-brand-new-oracle-fusion-middleware-forms-installation/">FRM-93131 after a brand new Oracle Fusion Middleware Forms installation</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>After a brand new Fusion Middleware Forms &amp; Reports 12.2.1.4 installation, when accessing 12c forms URL: <br>http://hostname:/forms/frmservlet <br>The following error is raised :</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
Oracle Fusion Middleware 12c Forms Services
 FRM-93131: Cannot find base HTML file basejpi.htm
 Contact your system administrator.
</pre></div>


<p>Doing some googling and searches on the Oracle support site, I came to the note below where it states that solution is to remove the WebLogic domain, cleanup the database repository and restart the repository and WebLogic domain creation from the beginning.<br>FRM-93131: Basejpi.html Not Found &#8211;&gt; Cannot Access Forms 12.2.1.2.0 (Doc ID 2199628.1)</p>



<p>I decided to take some time and see if there is not an other solution to avoid dropping the WebLogic domain and repository. After some tests I found out that the issue is due to WebLogic domain system component configuration step missed running config.sh.</p>



<p>I tried to simply update the existing WebLogic domain and run the system configuration missed step.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
cd /u00/app/oracle/product/fmw_reports/oracle_common/common/bin/
config.sh
</pre></div>


<p>Update the existing domain selecting the WebLogic Domain of the forms and reports.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="803" height="626" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/02/FRM1.png" alt="update domain" class="wp-image-22845" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/02/FRM1.png 803w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/02/FRM1-300x234.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/02/FRM1-768x599.png 768w" sizes="auto, (max-width: 803px) 100vw, 803px" /></figure>



<p>Later in the steps, select the system components</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="801" height="629" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/02/FRM2.png" alt="System components" class="wp-image-22846" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/02/FRM2.png 801w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/02/FRM2-300x236.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/02/FRM2-768x603.png 768w" sizes="auto, (max-width: 801px) 100vw, 801px" /></figure>



<p>Add the forms system component to the list of available system components if not already declared.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="803" height="629" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/02/FRM3.png" alt="System components list" class="wp-image-22847" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/02/FRM3.png 803w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/02/FRM3-300x235.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/02/FRM3-768x602.png 768w" sizes="auto, (max-width: 803px) 100vw, 803px" /></figure>



<p>Assign the forms system component to the machine. This is the missed step during the initial configuration. </p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="800" height="626" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/02/FRM4.png" alt="" class="wp-image-22848" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/02/FRM4.png 800w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/02/FRM4-300x235.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/02/FRM4-768x601.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /><figcaption class="wp-element-caption">.</figcaption></figure>



<p>Select and assign the forms component using the horizontal arrow.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="802" height="628" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/02/FRM5.png" alt="forms assigned on machine" class="wp-image-22849" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/02/FRM5.png 802w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/02/FRM5-300x235.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/02/FRM5-768x601.png 768w" sizes="auto, (max-width: 802px) 100vw, 802px" /></figure>



<p>Once this step is done, go through the steps until the update button appears and click on it.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="804" height="630" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/02/FRM6.png" alt="" class="wp-image-22850" srcset="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/02/FRM6.png 804w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/02/FRM6-300x235.png 300w, https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2023/02/FRM6-768x602.png 768w" sizes="auto, (max-width: 804px) 100vw, 804px" /></figure>



<p>Once the WebLogic domain has been updated, the forms component configuration on the file system is up to date and the FRM-93131 error does not raise anymore.</p>



<p>A simple update of the WebLogic Domain solved this issue !!  </p>
<p>L’article <a href="https://www.dbi-services.com/blog/frm-93131-after-a-brand-new-oracle-fusion-middleware-forms-installation/">FRM-93131 after a brand new Oracle Fusion Middleware Forms installation</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/frm-93131-after-a-brand-new-oracle-fusion-middleware-forms-installation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Patching WebLogic with Stack Patch Bundle (SPB)</title>
		<link>https://www.dbi-services.com/blog/patching-weblogic-with-stack-patch-bundle-spb/</link>
					<comments>https://www.dbi-services.com/blog/patching-weblogic-with-stack-patch-bundle-spb/#respond</comments>
		
		<dc:creator><![CDATA[Middleware Team]]></dc:creator>
		<pubDate>Fri, 27 Jan 2023 07:48:51 +0000</pubDate>
				<category><![CDATA[WebLogic]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[OPatch]]></category>
		<category><![CDATA[SPB]]></category>
		<category><![CDATA[SPBAT]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/?p=22116</guid>

					<description><![CDATA[<p>Oracle delivers patches for WebLogic every 3 months. These Critical Patch Updates (CPU) are often composed of multiple patches which makes even more steps to have them installed on server: Since April 2021, Oracle is providing what they are calling a Stack Patch Bundle (SPB) which includes Stack Patch Bundle Automation Tool (SPBAT). This make [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/patching-weblogic-with-stack-patch-bundle-spb/">Patching WebLogic with Stack Patch Bundle (SPB)</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Oracle delivers patches for WebLogic every 3 months. These Critical Patch Updates (CPU) are often composed of multiple patches which makes even more steps to have them installed on server:</p>



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



<li>Copy on server</li>



<li>Installation via opatch</li>
</ul>



<p>Since April 2021, Oracle is providing what they are calling a Stack Patch Bundle (SPB) which includes Stack Patch Bundle Automation Tool (SPBAT). This make the installation easier and safer.</p>



<p>You can use this to patch the following WebLogic installations:</p>



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



<li>Slim</li>



<li>Generic</li>



<li>Fusion Middleware Infrastructure (WebLogic part only).</li>
</ul>



<h2 class="wp-block-heading">Prepare</h2>



<p>Download the patch for your OS and copy it on the server. Unzip it and go into the directory where <code>spbat.sh</code> script is located:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; title: ; notranslate">
cd /home/oracle/CPU-2023-01/WLS_SPB_12.2.1.4.230112/tools/spbat/generic/SPBAT/
</pre></div>


<h2 class="wp-block-heading">PreChecks</h2>



<p>Prechecks can take few minutes, but it is worth using it as it can detect potential patching issues. </p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; title: ; notranslate">
./spbat.sh -phase precheck -oracle_home $ORACLE_HOME
</pre></div>


<p>ORACLE_HOME variable is pointing to the installation you want to update. In my case, it is a Fusion Middleware Infrastructure home.</p>



<p>Several steps make up the precheck:</p>



<ul class="wp-block-list">
<li>requirements of script itself (jdk version):</li>
</ul>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&#x5B;2023-01-26_14-47-37] &#x5B;SUCCESS] The Installed JDK version 1.8.0_361 is higher than or same as the recommended JDK version 1.8.0_361
</pre></div>


<ul class="wp-block-list">
<li>OPatch requirements:</li>
</ul>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&#x5B;2023-01-26_14-47-21] Minimum OPatch version required : 13.9.4.2.5
&#x5B;2023-01-26_14-47-21] Environment has OPatch version : 13.9.4.2.8
&#x5B;2023-01-26_14-47-21] &#x5B;SUCCESS] Minimum OPatch version check
...
&#x5B;2023-01-26_14-47-41] Middleware OPatch Version : 13.9.4.2.8
&#x5B;2023-01-26_14-47-41] SPB OPatch version : 13.9.4.2.11
</pre></div>


<ul class="wp-block-list">
<li>List of installed patches:</li>
</ul>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&#x5B;2023-01-26_14-48-28] List of patches present in the Oracle Home: /u00/app/oracle/product/fmw_reports
29494060;Database Patch Set Update : 12.1.0.2.190716 (29494060)
27516009;
27293599;
25549931;
22754279;One-off
19795066;One-off
19632480;One-off
19154304;One-off
19030178;One-off
</pre></div>


<ul class="wp-block-list">
<li>List of applicable patches including compatibility and conflict checks:</li>
</ul>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&#x5B;2023-01-26_14-48-28] Patch compatibility check with the environment is in progress…
&#x5B;2023-01-26_14-50-26] CheckForNoOpPatches has Completed on /u00/app/oracle/product/fmw_reports Home
&#x5B;2023-01-26_14-51-00] PATCH 34856450 APPLY WILL BE SKIPPED AS IT IS NOT APPLICABLE FOR THIS ENVIRONMENT
&#x5B;2023-01-26_14-51-02] PATCH 34883826 IS #NOT APPLIED# IN THE ENVIRONMENT
&#x5B;2023-01-26_14-51-04] PATCH 34974766 IS #NOT APPLIED# IN THE ENVIRONMENT
&#x5B;2023-01-26_14-51-04] PATCH 1221416 IS #NOT APPLIED# IN THE ENVIRONMENT
&#x5B;2023-01-26_14-51-05] PATCH 33639718 IS #NOT APPLIED# IN THE ENVIRONMENT
&#x5B;2023-01-26_14-51-08] PATCH 33093748 IS #NOT APPLIED# IN THE ENVIRONMENT
&#x5B;2023-01-26_14-51-11] PATCH 34801809 IS #NOT APPLIED# IN THE ENVIRONMENT
&#x5B;2023-01-26_14-51-14] PATCH 32720458 IS #NOT APPLIED# IN THE ENVIRONMENT
&#x5B;2023-01-26_14-51-16] PATCH 34879707 IS #NOT APPLIED# IN THE ENVIRONMENT
&#x5B;2023-01-26_14-51-16] Patch conflict check is in progress …
&#x5B;2023-01-26_14-51-57] Patch conflict check has completed on /u00/app/oracle/product/fmw_reports Home
</pre></div>


<p>Expected output at the end is like this:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
PRECHECK SUMMARY:
No Of FAILURES: 0
No Of WARNINGS: 0
</pre></div>


<p>With this output, we are ready to run spbat in apply mode.</p>



<h2 class="wp-block-heading">Apply</h2>



<p>Command is very similar with just the &#8220;phase&#8221; parameter being different:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; title: ; notranslate">
./spbat.sh -phase apply -oracle_home $ORACLE_HOME
</pre></div>


<p>First step of script is to run precheck phase. When the completion of spbat precheck is error-free, it will proceed to installation:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&#x5B;2023-01-26_15-10-06] Application of patches is in progress …
&#x5B;2023-01-26_15-22-39] SUCCESSFUL - OPatch napply has completed for wls Home
&#x5B;2023-01-26_15-22-39] Opatch Napply Exit Status - 0
&#x5B;2023-01-26_15-22-39] COMPLETED : Performing SPBAT Binary patching on wls Home
&#x5B;2023-01-26_15-22-57] STARTED : Performing SPBAT binary audit on wls Home
&#x5B;2023-01-26_15-23-29] NoOp patch#34856450# detected in Environment.Skipping Audit for the same
&#x5B;2023-01-26_15-23-29] SUCCESSFUL - SPB PATCH 34883826 IS #APPLIED#
&#x5B;2023-01-26_15-23-30] SUCCESSFUL - SPB PATCH 34974766 IS #APPLIED#
&#x5B;2023-01-26_15-23-31] SUCCESSFUL - SPB PATCH 1221416 IS #APPLIED#
&#x5B;2023-01-26_15-23-32] SUCCESSFUL - SPB PATCH 33639718 IS #APPLIED#
&#x5B;2023-01-26_15-23-33] SUCCESSFUL - SPB PATCH 33093748 IS #APPLIED#
&#x5B;2023-01-26_15-23-34] SUCCESSFUL - SPB PATCH 34801809 IS #APPLIED#
&#x5B;2023-01-26_15-23-35] SUCCESSFUL - SPB PATCH 32720458 IS #APPLIED#
&#x5B;2023-01-26_15-23-35] SUCCESSFUL - SPB PATCH 34879707 IS #APPLIED#
</pre></div>


<p>And finally, spbat will list all installed patches:</p>



<p>[2023-01-26_15-24-02] List of patches present in the Oracle Home: /u00/app/oracle/product/fmw_reports</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&#x5B;2023-01-26_15-24-02] List of patches present in the Oracle Home: /u00/app/oracle/product/fmw_reports

34974766;WLS STACK PATCH BUNDLE 12.2.1.4.230112 (Patch 34974729)
34883826;WLS PATCH SET UPDATE 12.2.1.4.221210
34879707;FMW Thirdparty Bundle Patch 12.2.1.4.221209
34801809;RDA release 23.1-20230117 for OFM 12.2.1.4 SPB
33639718;33639718 - ADR FOR WEBLOGIC SERVER 12.2.1.4.0 JUL CPU 2022
33093748;One-off
32720458;JDBC 19.3.0.0 FOR CPUJAN2022 (WLS 12.2.1.4, WLS 14.1.1)
1221416;Coherence Cumulative Patch 12.2.1.4.16
29494060;Database Patch Set Update : 12.1.0.2.190716 (29494060)
27516009;
27293599;
25549931;
22754279;One-off
19795066;One-off
19632480;One-off
19154304;One-off
19030178;One-off
</pre></div>


<p>All these logs output, and even more, are kept under logs directory under SPBAT directory:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; title: ; notranslate">
# ls -ltr ./WLS_SPB_12.2.1.4.230112/tools/spbat/generic/SPBAT/logs/
total 0
drwxr-xr-x. 5 oracle workshop 105 Jan 26 14:47 vm06_spb_precheck_2023-01-26_14-46-45
drwxr-xr-x. 7 oracle workshop 135 Jan 26 15:22 vm06_spb_apply_2023-01-26_14-57-45
</pre></div>


<p>This is great to have a complete history of what was before and after spbat was run.</p>



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



<p>Do not forget to backup before proceeding to any software update.</p>



<p>Even if apply will also run precheck, I do prefer to run precheck phase myself first, so that I am able to decide if I should proceed to patch apply or not.</p>
<p>L’article <a href="https://www.dbi-services.com/blog/patching-weblogic-with-stack-patch-bundle-spb/">Patching WebLogic with Stack Patch Bundle (SPB)</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/patching-weblogic-with-stack-patch-bundle-spb/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-04-22 14:07:51 by W3 Total Cache
-->