<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0"><channel><title>FOA(Fun Oracle Apps) - Learning Never Stops</title><description>Discover comprehensive insights into Oracle DBA, including Core DBA, RAC, Data Guard, EBS R12.2, Unix Shell Scripting, OAM, IDM, OID, SSO, Oracle Cloud, Leadership, Management,Excel and Linux. Enhance your skills with expert tips and remote job support.</description><managingEditor>noreply@blogger.com (Himanshu)</managingEditor><pubDate>Sun, 19 Apr 2026 07:14:34 +0530</pubDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">1154</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">3</openSearch:itemsPerPage><link>http://www.funoracleapps.com/</link><language>en-us</language><itunes:explicit>no</itunes:explicit><itunes:subtitle>Discover comprehensive insights into Oracle DBA, including Core DBA, RAC, Data Guard, EBS R12.2, Unix Shell Scripting, OAM, IDM, OID, SSO, Oracle Cloud, Leadership, Management,Excel and Linux. Enhance your skills with expert tips and remote job support.</itunes:subtitle><itunes:owner><itunes:email>noreply@blogger.com</itunes:email></itunes:owner><item><title>How to Check IPv6 Address and Disable IPv6 on Linux 8 (RHEL / Oracle Linux / CentOS)</title><link>http://www.funoracleapps.com/2026/04/how-to-check-ipv6-address-and-disable.html</link><category>funoracleapps</category><category>Linux</category><author>noreply@blogger.com (Himanshu)</author><pubDate>Tue, 14 Apr 2026 17:45:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6369673212267799064.post-3417689983643894945</guid><description>&lt;div style="color: #111111; font-family: Arial, sans-serif; font-size: 15px; line-height: 1.7;"&gt;

&lt;h1&gt;How to Find IPv6 Address and Disable IPv6 Permanently in Linux 8 (RHEL / Oracle Linux / CentOS)&lt;/h1&gt;

&lt;p&gt;
IPv6 is enabled by default on most Linux 8 servers such as &lt;b&gt;Red Hat Enterprise Linux 8 (RHEL 8)&lt;/b&gt;, 
&lt;b&gt;Oracle Linux 8&lt;/b&gt;, and &lt;b&gt;CentOS 8&lt;/b&gt;. In some environments, IPv6 can create network issues such as 
DNS delays, connection timeout errors, slow application connectivity, or database connection problems.
&lt;/p&gt;

&lt;p&gt;
This guide explains step-by-step how to &lt;b&gt;check IPv6 IP address&lt;/b&gt; and &lt;b&gt;disable IPv6 permanently&lt;/b&gt; on Linux 8 
using sysctl configuration (without GRUB method).
&lt;/p&gt;

&lt;hr /&gt;

&lt;h2&gt;Why Disable IPv6 on Linux 8?&lt;/h2&gt;
&lt;p&gt;
Many enterprise applications still rely mainly on IPv4. If IPv6 is enabled, Linux may try IPv6 first during hostname resolution.
This can lead to:
&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Slow server response due to IPv6 DNS lookup delay&lt;/li&gt;
  &lt;li&gt;Application connection timeout issues&lt;/li&gt;
  &lt;li&gt;Database connection timeout (Oracle, MySQL, PostgreSQL)&lt;/li&gt;
  &lt;li&gt;MuleSoft integration timeout problems&lt;/li&gt;
  &lt;li&gt;Firewall routing issues&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
For stable connectivity, system administrators often disable IPv6 completely in Linux servers.
&lt;/p&gt;

&lt;hr /&gt;

&lt;h2&gt;Step 1: Check IPv6 Address in Linux 8&lt;/h2&gt;
&lt;p&gt;
To find the IPv6 address configured on your Linux 8 server, run the following command:
&lt;/p&gt;

&lt;pre style="background: rgb(244, 244, 244); border-radius: 6px; overflow: auto; padding: 10px;"&gt;ip -6 addr show
&lt;/pre&gt;

&lt;p&gt;
Typical output may include:
&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;::1/128&lt;/b&gt; - IPv6 loopback address&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;fe80::xxxx/64&lt;/b&gt; - Link-local IPv6 address (auto-generated)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
If you see an IPv6 address starting with &lt;b&gt;fe80::&lt;/b&gt;, it confirms IPv6 is active on your network interface.
&lt;/p&gt;

&lt;hr /&gt;

&lt;h2&gt;Step 2: Verify Whether IPv6 is Enabled or Disabled&lt;/h2&gt;
&lt;p&gt;
To confirm the current IPv6 status in Linux 8, check the below file:
&lt;/p&gt;

&lt;pre style="background: rgb(244, 244, 244); border-radius: 6px; overflow: auto; padding: 10px;"&gt;cat /proc/sys/net/ipv6/conf/all/disable_ipv6
&lt;/pre&gt;

&lt;p&gt;
Output meaning:
&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;0&lt;/b&gt; = IPv6 is enabled&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;1&lt;/b&gt; = IPv6 is disabled&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2&gt;Step 3: Disable IPv6 Temporarily (Testing Purpose)&lt;/h2&gt;
&lt;p&gt;
If you want to disable IPv6 immediately (only until reboot), run the following sysctl commands:
&lt;/p&gt;

&lt;pre style="background: rgb(244, 244, 244); border-radius: 6px; overflow: auto; padding: 10px;"&gt;sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1
&lt;/pre&gt;

&lt;p&gt;
Now verify again:
&lt;/p&gt;

&lt;pre style="background: rgb(244, 244, 244); border-radius: 6px; overflow: auto; padding: 10px;"&gt;cat /proc/sys/net/ipv6/conf/all/disable_ipv6
&lt;/pre&gt;

&lt;p&gt;
Expected output:
&lt;/p&gt;

&lt;pre style="background: rgb(244, 244, 244); border-radius: 6px; overflow: auto; padding: 10px;"&gt;1
&lt;/pre&gt;

&lt;p&gt;
&lt;b&gt;Note:&lt;/b&gt; This method is temporary. After reboot, IPv6 will be enabled again unless you configure it permanently.
&lt;/p&gt;

&lt;hr /&gt;

&lt;h2&gt;Step 4: Disable IPv6 Permanently in Linux 8 (Recommended)&lt;/h2&gt;
&lt;p&gt;
To permanently disable IPv6 in Linux 8, create a sysctl configuration file under &lt;b&gt;/etc/sysctl.d/&lt;/b&gt;.
&lt;/p&gt;

&lt;h3&gt;Create a sysctl config file&lt;/h3&gt;
&lt;pre style="background: rgb(244, 244, 244); border-radius: 6px; overflow: auto; padding: 10px;"&gt;sudo vi /etc/sysctl.d/99-disable-ipv6.conf
&lt;/pre&gt;

&lt;p&gt;
Add the following lines into the file:
&lt;/p&gt;

&lt;pre style="background: rgb(244, 244, 244); border-radius: 6px; overflow: auto; padding: 10px;"&gt;net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
&lt;/pre&gt;

&lt;p&gt;
Save the file and exit.
&lt;/p&gt;

&lt;hr /&gt;

&lt;h2&gt;Step 5: Apply the Changes&lt;/h2&gt;
&lt;p&gt;
After saving the sysctl file, apply the configuration by running:
&lt;/p&gt;

&lt;pre style="background: rgb(244, 244, 244); border-radius: 6px; overflow: auto; padding: 10px;"&gt;sudo sysctl --system
&lt;/pre&gt;

&lt;p&gt;
This command reloads all kernel parameters from sysctl configuration files.
&lt;/p&gt;

&lt;hr /&gt;

&lt;h2&gt;Step 6: Confirm IPv6 is Disabled&lt;/h2&gt;
&lt;p&gt;
Check the IPv6 disable flag again:
&lt;/p&gt;

&lt;pre style="background: rgb(244, 244, 244); border-radius: 6px; overflow: auto; padding: 10px;"&gt;cat /proc/sys/net/ipv6/conf/all/disable_ipv6
&lt;/pre&gt;

&lt;p&gt;
Expected output:
&lt;/p&gt;

&lt;pre style="background: rgb(244, 244, 244); border-radius: 6px; overflow: auto; padding: 10px;"&gt;1
&lt;/pre&gt;

&lt;p&gt;
Now check the IPv6 IP addresses:
&lt;/p&gt;

&lt;pre style="background: rgb(244, 244, 244); border-radius: 6px; overflow: auto; padding: 10px;"&gt;ip -6 addr show
&lt;/pre&gt;

&lt;p&gt;
If IPv6 is successfully disabled, you should not see any IPv6 address assigned to interfaces.
&lt;/p&gt;

&lt;hr /&gt;

&lt;h2&gt;Step 7: Restart Network Manager (Optional)&lt;/h2&gt;
&lt;p&gt;
In some cases, the IPv6 address may still appear until the network service is restarted.
Restart NetworkManager using:
&lt;/p&gt;

&lt;pre style="background: rgb(244, 244, 244); border-radius: 6px; overflow: auto; padding: 10px;"&gt;sudo systemctl restart NetworkManager
&lt;/pre&gt;

&lt;p&gt;
Verify again:
&lt;/p&gt;

&lt;pre style="background: rgb(244, 244, 244); border-radius: 6px; overflow: auto; padding: 10px;"&gt;ip -6 addr show
&lt;/pre&gt;

&lt;hr /&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;
Disabling IPv6 in Linux 8 is a common practice in enterprise environments where applications depend heavily on IPv4.
Using sysctl configuration is the safest and simplest method to permanently disable IPv6 without changing GRUB settings.
&lt;/p&gt;

&lt;h3&gt;Quick Commands Summary&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Check IPv6 Address:&lt;/b&gt; &lt;code&gt;ip -6 addr show&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Check IPv6 Status:&lt;/b&gt; &lt;code&gt;cat /proc/sys/net/ipv6/conf/all/disable_ipv6&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Disable IPv6 Permanently:&lt;/b&gt; Create &lt;code&gt;/etc/sysctl.d/99-disable-ipv6.conf&lt;/code&gt; and reload sysctl&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
If you are facing issues like &lt;b&gt;Oracle database connection timeout&lt;/b&gt;, &lt;b&gt;MuleSoft connection issues&lt;/b&gt;, or 
&lt;b&gt;slow DNS resolution&lt;/b&gt;, disabling IPv6 may improve network stability.
&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu1ry05pPK60LoKyW58TD_RK8H5vQ6CYuk_RORFjRrSXkwOUQUPN9XVX0VaVXcE7apl5PDJkwv5sex3K1K0ktxSrf6TMwzKMKEoqYa_Ay4L4Kq9uDVuxUt-fM6LgWl_HzOoVhDYRpDZvbHVXOCwqef_6Cqzfwm6Vh4x8kJ5_cDdvCPRGQSW0l9FPYxD0k/s189/funoracleapps_logo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="141" data-original-width="189" height="141" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu1ry05pPK60LoKyW58TD_RK8H5vQ6CYuk_RORFjRrSXkwOUQUPN9XVX0VaVXcE7apl5PDJkwv5sex3K1K0ktxSrf6TMwzKMKEoqYa_Ay4L4Kq9uDVuxUt-fM6LgWl_HzOoVhDYRpDZvbHVXOCwqef_6Cqzfwm6Vh4x8kJ5_cDdvCPRGQSW0l9FPYxD0k/s1600/funoracleapps_logo.png" width="189" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;b style="background: 0px 0px rgb(255, 255, 255); border: 0px; color: red; font-family: arial; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;Please do like and subscribe to my youtube channel: https://www.youtube.com/@foalabs If you like this post please follow,share and comment&lt;/b&gt;&lt;/p&gt;

&lt;/div&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu1ry05pPK60LoKyW58TD_RK8H5vQ6CYuk_RORFjRrSXkwOUQUPN9XVX0VaVXcE7apl5PDJkwv5sex3K1K0ktxSrf6TMwzKMKEoqYa_Ay4L4Kq9uDVuxUt-fM6LgWl_HzOoVhDYRpDZvbHVXOCwqef_6Cqzfwm6Vh4x8kJ5_cDdvCPRGQSW0l9FPYxD0k/s72-c/funoracleapps_logo.png" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Re-Creating Appsutil Directory for DB Tier in Oracle EBS R12 (Step-by-Step Guide)</title><link>http://www.funoracleapps.com/2026/03/re-creating-appsutil-directory-for-db.html</link><category>funoracleapps</category><category>Oracle</category><category>Oracle Apps</category><author>noreply@blogger.com (Himanshu)</author><pubDate>Thu, 26 Mar 2026 08:22:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6369673212267799064.post-6732206261210384434</guid><description>&lt;h2 style="text-align: left;"&gt;&lt;span style="font-family: arial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;Re-Creating Appsutil Directory for DB Tier in Oracle EBS R12 (Step-by-Step Guide)&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span style="font-family: arial;"&gt;Oracle E-Business Suite (EBS) R12 relies heavily on &lt;strong data-end="152" data-start="138"&gt;AutoConfig&lt;/strong&gt; to maintain configuration consistency between the Application Tier and Database Tier. During database administration tasks—such as changing the &lt;strong data-end="343" data-start="297"&gt;database port, host, SID, or database name&lt;/strong&gt;—you must update the Database Tier configuration properly.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end="572" data-start="405"&gt;&lt;span style="font-family: arial;"&gt;In such scenarios, the &lt;strong data-end="450" data-start="428"&gt;appsutil directory&lt;/strong&gt; on the Database Tier may need to be re-created to ensure AutoConfig runs successfully and the environment remains stable.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end="692" data-start="574"&gt;&lt;span style="font-family: arial;"&gt;This guide explains the complete procedure to &lt;strong data-end="665" data-start="620"&gt;re-create Appsutil for DB Tier in EBS R12&lt;/strong&gt; in a simple and clear way.&lt;/span&gt;&lt;/p&gt;
&lt;hr data-end="697" data-start="694" /&gt;
&lt;h4 style="text-align: left;"&gt;&lt;span style="font-family: arial;"&gt;Prerequisites&lt;/span&gt;&lt;/h4&gt;
&lt;p data-end="1242" data-start="1218"&gt;&lt;span style="font-family: arial;"&gt;Before starting, ensure:&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family: arial;"&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;span style="font-family: arial;"&gt;You have access to both Application Tier and Database Tier &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: arial;"&gt; You know the APPS password (for context file generation) &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: arial;"&gt; You have valid environment sourced on both tiers&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;hr data-end="1427" data-start="1424" /&gt;
&lt;h3 style="text-align: left;"&gt;&lt;span style="font-family: arial;"&gt;Step-by-Step: Re-Create Appsutil Directory for DB Tier in EBS R12&lt;/span&gt;&lt;/h3&gt;
&lt;hr data-end="1501" data-start="1498" /&gt;
&lt;h3 style="text-align: left;"&gt;&lt;span style="font-family: arial;"&gt;On the Application Tier&lt;/span&gt;&lt;/h3&gt;
&lt;h3 style="text-align: left;"&gt;&lt;span style="font-family: arial;"&gt;Step 1: Source the Oracle Applications Environment&lt;/span&gt;&lt;/h3&gt;
&lt;pre class="overflow-visible! px-0!" data-end="1622" data-start="1585"&gt;&lt;div class="relative w-full mt-4 mb-1"&gt;&lt;div class=""&gt;&lt;div class="relative"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;&lt;div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"&gt;&lt;div class="pointer-events-none absolute inset-x-4 top-12 bottom-4"&gt;&lt;div class="pointer-events-none sticky z-40 shrink-0 z-1!"&gt;&lt;div class="sticky bg-token-border-light"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class="relative z-0 flex max-w-full"&gt;&lt;div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="code-block-viewer"&gt;&lt;div class="cm-scroller"&gt;&lt;div class="cm-content q9tKkq_readonly"&gt;&lt;span style="font-family: courier;"&gt;&lt;span class="ͼd"&gt;source&lt;/span&gt; &lt;span class="ͼe"&gt;$APPL_TOP&lt;/span&gt;/APPSSID_hostname.env&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class=""&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end="1688" data-start="1624"&gt;&lt;span style="font-family: arial;"&gt;This sets the environment variables needed to run EBS utilities.&lt;/span&gt;&lt;/p&gt;
&lt;hr data-end="1693" data-start="1690" /&gt;
&lt;h3 style="text-align: left;"&gt;&lt;span style="font-family: arial;"&gt;Step 2: Run AutoConfig on Application Tier&lt;/span&gt;&lt;/h3&gt;
&lt;pre class="overflow-visible! px-0!" data-end="1788" data-start="1742"&gt;&lt;div class="relative w-full mt-4 mb-1"&gt;&lt;div class=""&gt;&lt;div class="relative"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;&lt;div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"&gt;&lt;div class="pointer-events-none absolute inset-x-4 top-12 bottom-4"&gt;&lt;div class="pointer-events-none sticky z-40 shrink-0 z-1!"&gt;&lt;div class="sticky bg-token-border-light"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class="relative z-0 flex max-w-full"&gt;&lt;div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="code-block-viewer"&gt;&lt;div class="cm-scroller"&gt;&lt;div class="cm-content q9tKkq_readonly"&gt;&lt;span style="font-family: courier;"&gt;&lt;span class="ͼd"&gt;sh&lt;/span&gt; &lt;span class="ͼe"&gt;$ADMIN_SCRIPT_HOME&lt;/span&gt;/adautocfg.sh&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class=""&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end="1879" data-start="1790"&gt;&lt;span style="font-family: arial;"&gt;This ensures the Application Tier configuration is up to date before generating appsutil.&lt;/span&gt;&lt;/p&gt;
&lt;hr data-end="1884" data-start="1881" /&gt;
&lt;h3 style="text-align: left;"&gt;&lt;span style="font-family: arial;"&gt;Step 3: Generate appsutil.zip using admkappsutil.pl&lt;/span&gt;&lt;/h3&gt;
&lt;pre class="overflow-visible! px-0!" data-end="1986" data-start="1942"&gt;&lt;div class="relative w-full mt-4 mb-1"&gt;&lt;div class=""&gt;&lt;div class="relative"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;&lt;div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"&gt;&lt;div class="pointer-events-none absolute inset-x-4 top-12 bottom-4"&gt;&lt;div class="pointer-events-none sticky z-40 shrink-0 z-1!"&gt;&lt;div class="sticky bg-token-border-light"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class="relative z-0 flex max-w-full"&gt;&lt;div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="code-block-viewer"&gt;&lt;div class="cm-scroller"&gt;&lt;div class="cm-content q9tKkq_readonly"&gt;&lt;span style="font-family: courier;"&gt;perl &lt;span class="ͼe"&gt;$AD_TOP&lt;/span&gt;/bin/admkappsutil.pl&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class=""&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end="2038" data-start="1988"&gt;&lt;span style="font-family: arial;"&gt;After successful execution, the utility generates:&lt;/span&gt;&lt;/p&gt;
&lt;pre class="overflow-visible! px-0!" data-end="2064" data-start="2040"&gt;&lt;div class="relative w-full mt-4 mb-1"&gt;&lt;div class=""&gt;&lt;div class="relative"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;&lt;div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"&gt;&lt;div class="pointer-events-none absolute end-1.5 top-1 z-2 md:end-2 md:top-1"&gt;&lt;/div&gt;&lt;div class="pe-11 pt-3"&gt;&lt;div class="relative z-0 flex max-w-full"&gt;&lt;div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="code-block-viewer"&gt;&lt;div class="cm-scroller"&gt;&lt;div class="cm-content q9tKkq_readonly"&gt;&lt;span style="font-family: arial;"&gt;appsutil.zip&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class=""&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end="2075" data-start="2066"&gt;&lt;span style="font-family: arial;"&gt;Location:&lt;/span&gt;&lt;/p&gt;
&lt;pre class="overflow-visible! px-0!" data-end="2121" data-start="2077"&gt;&lt;div class="relative w-full mt-4 mb-1"&gt;&lt;div class=""&gt;&lt;div class="relative"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;&lt;div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"&gt;&lt;div class="pointer-events-none absolute end-1.5 top-1 z-2 md:end-2 md:top-1"&gt;&lt;/div&gt;&lt;div class="pe-11 pt-3"&gt;&lt;div class="relative z-0 flex max-w-full"&gt;&lt;div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="code-block-viewer"&gt;&lt;div class="cm-scroller"&gt;&lt;div class="cm-content q9tKkq_readonly"&gt;&lt;span style="font-family: courier;"&gt;$INST_TOP/admin/out/appsutil.zip&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class=""&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;hr data-end="2126" data-start="2123" /&gt;
&lt;h3 style="text-align: left;"&gt;&lt;span style="font-family: arial;"&gt;On the Database Tier&lt;/span&gt;&lt;/h3&gt;&lt;h3 style="text-align: left;"&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;Step 1: Source Database ORACLE_HOME Environment&lt;/span&gt;&lt;/h3&gt;

&lt;pre class="overflow-visible! px-0!" data-end="2240" data-start="2204"&gt;&lt;div class="relative w-full mt-4 mb-1"&gt;&lt;div class=""&gt;&lt;div class="relative"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;&lt;div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"&gt;&lt;div class="pointer-events-none absolute inset-x-4 top-12 bottom-4"&gt;&lt;div class="pointer-events-none sticky z-40 shrink-0 z-1!"&gt;&lt;div class="sticky bg-token-border-light"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class="relative z-0 flex max-w-full"&gt;&lt;div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="code-block-viewer"&gt;&lt;div class="cm-scroller"&gt;&lt;div class="cm-content q9tKkq_readonly"&gt;&lt;span style="font-family: courier;"&gt;&lt;span class="ͼd"&gt;source&lt;/span&gt; &lt;span class="ͼe"&gt;$ORACLE_HOME&lt;/span&gt;/SID_hostname.env --&amp;gt; If not present then source&lt;/span&gt;&lt;/div&gt;&lt;div class="cm-content q9tKkq_readonly"&gt;&lt;span style="font-family: courier;"&gt;Oracle SID, Path, Oracle Home &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class=""&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end="2315" data-start="2242"&gt;&lt;span style="font-family: arial;"&gt;This prepares the database environment to extract and configure Appsutil.&lt;/span&gt;&lt;/p&gt;
&lt;hr data-end="2320" data-start="2317" /&gt;
&lt;h3 style="text-align: left;"&gt;&lt;span style="font-family: arial;"&gt;Step 2: Copy appsutil.zip to Database ORACLE_HOME&lt;/span&gt;&lt;/h3&gt;
&lt;p data-end="2416" data-start="2376"&gt;&lt;span style="font-family: arial;"&gt;Copy the file from the Application Tier:&lt;/span&gt;&lt;/p&gt;
&lt;pre class="overflow-visible! px-0!" data-end="2489" data-start="2418"&gt;&lt;div class="relative w-full mt-4 mb-1"&gt;&lt;div class=""&gt;&lt;div class="relative"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;&lt;div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"&gt;&lt;div class="pointer-events-none absolute inset-x-4 top-12 bottom-4"&gt;&lt;div class="pointer-events-none sticky z-40 shrink-0 z-1!"&gt;&lt;div class="sticky bg-token-border-light"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class="relative z-0 flex max-w-full"&gt;&lt;div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="code-block-viewer"&gt;&lt;div class="cm-scroller"&gt;&lt;div class="cm-content q9tKkq_readonly"&gt;&lt;span style="font-family: courier;"&gt;scp &lt;span class="ͼe"&gt;$INST_TOP&lt;/span&gt;/admin/out/appsutil.zip &amp;lt;db_host&amp;gt;:&lt;span class="ͼe"&gt;$ORACLE_HOME&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class=""&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end="2529" data-start="2491"&gt;&lt;span style="font-family: arial;"&gt;(Use your actual DB hostname and path)&lt;/span&gt;&lt;/p&gt;
&lt;hr data-end="2534" data-start="2531" /&gt;
&lt;h3 style="text-align: left;"&gt;&lt;span style="font-family: arial;"&gt;Step 3: Unzip appsutil.zip under ORACLE_HOME&lt;/span&gt;&lt;/h3&gt;
&lt;pre class="overflow-visible! px-0!" data-end="2634" data-start="2585"&gt;&lt;div class="relative w-full mt-4 mb-1"&gt;&lt;div class=""&gt;&lt;div class="relative"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;&lt;div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"&gt;&lt;div class="pointer-events-none absolute inset-x-4 top-12 bottom-4"&gt;&lt;div class="pointer-events-none sticky z-40 shrink-0 z-1!"&gt;&lt;div class="sticky bg-token-border-light"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class="relative z-0 flex max-w-full"&gt;&lt;div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="code-block-viewer"&gt;&lt;div class="cm-scroller"&gt;&lt;div class="cm-content q9tKkq_readonly"&gt;&lt;span style="font-family: courier;"&gt;&lt;span class="ͼd"&gt;cd&lt;/span&gt; &lt;span class="ͼe"&gt;$ORACLE_HOME&lt;/span&gt;&lt;br /&gt;unzip &lt;span class="ͼf"&gt;-o&lt;/span&gt; appsutil.zip&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class=""&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end="2663" data-start="2636"&gt;&lt;span style="font-family: arial;"&gt;This creates the directory:&lt;/span&gt;&lt;/p&gt;
&lt;pre class="overflow-visible! px-0!" data-end="2698" data-start="2665"&gt;&lt;div class="relative w-full mt-4 mb-1"&gt;&lt;div class=""&gt;&lt;div class="relative"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;&lt;div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"&gt;&lt;div class="pointer-events-none absolute end-1.5 top-1 z-2 md:end-2 md:top-1"&gt;&lt;/div&gt;&lt;div class="pe-11 pt-3"&gt;&lt;div class="relative z-0 flex max-w-full"&gt;&lt;div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="code-block-viewer"&gt;&lt;div class="cm-scroller"&gt;&lt;div class="cm-content q9tKkq_readonly"&gt;&lt;span style="font-family: courier;"&gt;$ORACLE_HOME/appsutil&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class=""&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;hr data-end="2703" data-start="2700" /&gt;
&lt;h3 style="text-align: left;"&gt;&lt;span style="font-family: arial;"&gt;Step 4: Create the Database Context File&lt;/span&gt;&lt;/h3&gt;
&lt;p data-end="2783" data-start="2750"&gt;&lt;span style="font-family: arial;"&gt;Go to the appsutil bin directory:&lt;/span&gt;&lt;/p&gt;
&lt;pre class="overflow-visible! px-0!" data-end="2825" data-start="2785"&gt;&lt;div class="relative w-full mt-4 mb-1"&gt;&lt;div class=""&gt;&lt;div class="relative"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;&lt;div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"&gt;&lt;div class="pointer-events-none absolute inset-x-4 top-12 bottom-4"&gt;&lt;div class="pointer-events-none sticky z-40 shrink-0 z-1!"&gt;&lt;div class="sticky bg-token-border-light"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class="relative z-0 flex max-w-full"&gt;&lt;div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="code-block-viewer"&gt;&lt;div class="cm-scroller"&gt;&lt;div class="cm-content q9tKkq_readonly"&gt;&lt;span style="font-family: courier;"&gt;&lt;span class="ͼd"&gt;cd&lt;/span&gt; &lt;span class="ͼe"&gt;$ORACLE_HOME&lt;/span&gt;/appsutil/bin&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class=""&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end="2857" data-start="2827"&gt;&lt;span style="font-family: arial;"&gt;Now generate the context file:&lt;/span&gt;&lt;/p&gt;
&lt;pre class="overflow-visible! px-0!" data-end="2901" data-start="2859"&gt;&lt;div class="relative w-full mt-4 mb-1"&gt;&lt;div class=""&gt;&lt;div class="relative"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;&lt;div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"&gt;&lt;div class="pointer-events-none absolute inset-x-4 top-12 bottom-4"&gt;&lt;div class="pointer-events-none sticky z-40 shrink-0 z-1!"&gt;&lt;div class="sticky bg-token-border-light"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class="relative z-0 flex max-w-full"&gt;&lt;div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="code-block-viewer"&gt;&lt;div class="cm-scroller"&gt;&lt;div class="cm-content q9tKkq_readonly"&gt;&lt;span style="font-family: courier;"&gt;perl adbldxml.pl &lt;span class="ͼe"&gt;appsuser&lt;/span&gt;&lt;span class="ͼ8"&gt;=&lt;/span&gt;apps&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class=""&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end="2946" data-start="2903"&gt;&lt;span style="font-family: arial;"&gt;You will be prompted for the APPS password.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end="2994" data-start="2948"&gt;&lt;span style="font-family: arial;"&gt;This generates the context file usually under:&lt;/span&gt;&lt;/p&gt;
&lt;pre class="overflow-visible! px-0!" data-end="3050" data-start="2996"&gt;&lt;div class="relative w-full mt-4 mb-1"&gt;&lt;div class=""&gt;&lt;div class="relative"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;&lt;div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"&gt;&lt;div class="pointer-events-none absolute end-1.5 top-1 z-2 md:end-2 md:top-1"&gt;&lt;/div&gt;&lt;div class="pe-11 pt-3"&gt;&lt;div class="relative z-0 flex max-w-full"&gt;&lt;div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="code-block-viewer"&gt;&lt;div class="cm-scroller"&gt;&lt;div class="cm-content q9tKkq_readonly"&gt;&lt;span style="font-family: courier;"&gt;$ORACLE_HOME/appsutil/&amp;lt;SID&amp;gt;_&amp;lt;hostname&amp;gt;.xml&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class=""&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;hr data-end="3055" data-start="3052" /&gt;
&lt;h3 style="text-align: left;"&gt;&lt;span style="font-family: arial;"&gt;Step 5: Create Scripts Directory&lt;/span&gt;&lt;/h3&gt;
&lt;p data-end="3127" data-start="3094"&gt;&lt;span style="font-family: arial;"&gt;Run adconfig to generate scripts:&lt;/span&gt;&lt;/p&gt;
&lt;pre class="overflow-visible! px-0!" data-end="3215" data-start="3129"&gt;&lt;div class="relative w-full mt-4 mb-1"&gt;&lt;div class=""&gt;&lt;div class="relative"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;&lt;div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"&gt;&lt;div class="pointer-events-none absolute inset-x-4 top-12 bottom-4"&gt;&lt;div class="pointer-events-none sticky z-40 shrink-0 z-1!"&gt;&lt;div class="sticky bg-token-border-light"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class="relative z-0 flex max-w-full"&gt;&lt;div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="code-block-viewer"&gt;&lt;div class="cm-scroller"&gt;&lt;div class="cm-content q9tKkq_readonly"&gt;&lt;span style="font-family: courier;"&gt;&lt;span class="ͼd"&gt;cd&lt;/span&gt; &lt;span class="ͼe"&gt;$ORACLE_HOME&lt;/span&gt;/appsutil/bin&lt;br /&gt;&lt;span class="ͼd"&gt;sh&lt;/span&gt; adconfig.sh &lt;span class="ͼe"&gt;contextfile&lt;/span&gt;&lt;span class="ͼ8"&gt;=&lt;/span&gt;&amp;lt;contextfile path&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class=""&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end="3225" data-start="3217"&gt;&lt;span style="font-family: arial;"&gt;Example:&lt;/span&gt;&lt;/p&gt;
&lt;pre class="overflow-visible! px-0!" data-end="3303" data-start="3227"&gt;&lt;div class="relative w-full mt-4 mb-1"&gt;&lt;div class=""&gt;&lt;div class="relative"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;&lt;div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"&gt;&lt;div class="pointer-events-none absolute inset-x-4 top-12 bottom-4"&gt;&lt;div class="pointer-events-none sticky z-40 shrink-0 z-1!"&gt;&lt;div class="sticky bg-token-border-light"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class="relative z-0 flex max-w-full"&gt;&lt;div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="code-block-viewer"&gt;&lt;div class="cm-scroller"&gt;&lt;div class="cm-content q9tKkq_readonly"&gt;&lt;span style="font-family: courier;"&gt;&lt;span class="ͼd"&gt;sh&lt;/span&gt; adconfig.sh &lt;span class="ͼe"&gt;contextfile&lt;/span&gt;&lt;span class="ͼ8"&gt;=&lt;/span&gt;&lt;span class="ͼe"&gt;$ORACLE_HOME&lt;/span&gt;/appsutil/PROD_dbhost.xml&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class=""&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end="3337" data-start="3305"&gt;&lt;span style="font-family: arial;"&gt;This creates the scripts folder:&lt;/span&gt;&lt;/p&gt;
&lt;pre class="overflow-visible! px-0!" data-end="3396" data-start="3339"&gt;&lt;div class="relative w-full mt-4 mb-1"&gt;&lt;div class=""&gt;&lt;div class="relative"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;&lt;div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"&gt;&lt;div class="pointer-events-none absolute end-1.5 top-1 z-2 md:end-2 md:top-1"&gt;&lt;/div&gt;&lt;div class="pe-11 pt-3"&gt;&lt;div class="relative z-0 flex max-w-full"&gt;&lt;div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="code-block-viewer"&gt;&lt;div class="cm-scroller"&gt;&lt;div class="cm-content q9tKkq_readonly"&gt;&lt;span style="font-family: courier;"&gt;$ORACLE_HOME/appsutil/scripts/&amp;lt;context_name&amp;gt;/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class=""&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;hr data-end="3401" data-start="3398" /&gt;
&lt;h3 style="text-align: left;"&gt;&lt;span style="font-family: arial;"&gt;Step 6: Run AutoConfig on the Database Tier&lt;/span&gt;&lt;/h3&gt;
&lt;p data-end="3506" data-start="3451"&gt;&lt;span style="font-family: arial;"&gt;Finally run AutoConfig using the newly created scripts:&lt;/span&gt;&lt;/p&gt;
&lt;pre class="overflow-visible! px-0!" data-end="3580" data-start="3508"&gt;&lt;div class="relative w-full mt-4 mb-1"&gt;&lt;div class=""&gt;&lt;div class="relative"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;&lt;div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"&gt;&lt;div class="pointer-events-none absolute inset-x-4 top-12 bottom-4"&gt;&lt;div class="pointer-events-none sticky z-40 shrink-0 z-1!"&gt;&lt;div class="sticky bg-token-border-light"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class="relative z-0 flex max-w-full"&gt;&lt;div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="code-block-viewer"&gt;&lt;div class="cm-scroller"&gt;&lt;div class="cm-content q9tKkq_readonly"&gt;&lt;span style="font-family: courier;"&gt;&lt;span class="ͼd"&gt;sh&lt;/span&gt; &lt;span class="ͼe"&gt;$ORACLE_HOME&lt;/span&gt;/appsutil/scripts/&amp;lt;context_name&amp;gt;/adautocfg.sh&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class=""&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end="3590" data-start="3582"&gt;&lt;span style="font-family: arial;"&gt;Example:&lt;/span&gt;&lt;/p&gt;
&lt;pre class="overflow-visible! px-0!" data-end="3661" data-start="3592"&gt;&lt;div class="relative w-full mt-4 mb-1"&gt;&lt;div class=""&gt;&lt;div class="relative"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;&lt;div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"&gt;&lt;div class="pointer-events-none absolute inset-x-4 top-12 bottom-4"&gt;&lt;div class="pointer-events-none sticky z-40 shrink-0 z-1!"&gt;&lt;div class="sticky bg-token-border-light"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class="relative z-0 flex max-w-full"&gt;&lt;div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="code-block-viewer"&gt;&lt;div class="cm-scroller"&gt;&lt;div class="cm-content q9tKkq_readonly"&gt;&lt;span style="font-family: courier;"&gt;&lt;span class="ͼd"&gt;sh&lt;/span&gt; &lt;span class="ͼe"&gt;$ORACLE_HOME&lt;/span&gt;/appsutil/scripts/PROD_dbhost/adautocfg.sh&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class=""&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;hr data-end="3666" data-start="3663" /&gt;
&lt;h3 style="text-align: left;"&gt;&lt;span style="font-family: arial;"&gt;Verification Steps (Recommended)&lt;/span&gt;&lt;/h3&gt;
&lt;p data-end="3755" data-start="3704"&gt;&lt;span style="font-family: arial;"&gt;After AutoConfig completes, validate the following:&lt;/span&gt;&lt;/p&gt;
&lt;h3 data-end="3794" data-section-id="1jlfoiz" data-start="3757"&gt;&lt;span style="font-family: arial;"&gt;Confirm appsutil directory exists&lt;/span&gt;&lt;/h3&gt;
&lt;pre class="overflow-visible! px-0!" data-end="3835" data-start="3795"&gt;&lt;div class="relative w-full mt-4 mb-1"&gt;&lt;div class=""&gt;&lt;div class="relative"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;&lt;div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"&gt;&lt;div class="pointer-events-none absolute inset-x-4 top-12 bottom-4"&gt;&lt;div class="pointer-events-none sticky z-40 shrink-0 z-1!"&gt;&lt;div class="sticky bg-token-border-light"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class="relative z-0 flex max-w-full"&gt;&lt;div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="code-block-viewer"&gt;&lt;div class="cm-scroller"&gt;&lt;div class="cm-content q9tKkq_readonly"&gt;&lt;span style="font-family: courier;"&gt;&lt;span class="ͼd"&gt;ls&lt;/span&gt; &lt;span class="ͼf"&gt;-ld&lt;/span&gt; &lt;span class="ͼe"&gt;$ORACLE_HOME&lt;/span&gt;/appsutil&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class=""&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;h3 data-end="3873" data-section-id="mpet0h" data-start="3837"&gt;&lt;span style="font-family: arial;"&gt;Confirm scripts directory exists&lt;/span&gt;&lt;/h3&gt;
&lt;pre class="overflow-visible! px-0!" data-end="3922" data-start="3874"&gt;&lt;div class="relative w-full mt-4 mb-1"&gt;&lt;div class=""&gt;&lt;div class="relative"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;&lt;div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"&gt;&lt;div class="pointer-events-none absolute inset-x-4 top-12 bottom-4"&gt;&lt;div class="pointer-events-none sticky z-40 shrink-0 z-1!"&gt;&lt;div class="sticky bg-token-border-light"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class="relative z-0 flex max-w-full"&gt;&lt;div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="code-block-viewer"&gt;&lt;div class="cm-scroller"&gt;&lt;div class="cm-content q9tKkq_readonly"&gt;&lt;span style="font-family: courier;"&gt;&lt;span class="ͼd"&gt;ls&lt;/span&gt; &lt;span class="ͼf"&gt;-l&lt;/span&gt; &lt;span class="ͼe"&gt;$ORACLE_HOME&lt;/span&gt;/appsutil/scripts/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class=""&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;h3 data-end="3949" data-section-id="94mcpe" data-start="3924"&gt;&lt;span style="font-family: arial;"&gt;Check AutoConfig logs&lt;/span&gt;&lt;/h3&gt;
&lt;p data-end="3977" data-start="3950"&gt;&lt;span style="font-family: arial;"&gt;DB Tier logs are stored in:&lt;/span&gt;&lt;/p&gt;
&lt;pre class="overflow-visible! px-0!" data-end="4032" data-start="3979"&gt;&lt;div class="relative w-full mt-4 mb-1"&gt;&lt;div class=""&gt;&lt;div class="relative"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;&lt;div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"&gt;&lt;div class="pointer-events-none absolute end-1.5 top-1 z-2 md:end-2 md:top-1"&gt;&lt;/div&gt;&lt;div class="pe-11 pt-3"&gt;&lt;div class="relative z-0 flex max-w-full"&gt;&lt;div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="code-block-viewer"&gt;&lt;div class="cm-scroller"&gt;&lt;div class="cm-content q9tKkq_readonly"&gt;&lt;span style="font-family: courier;"&gt;$ORACLE_HOME/appsutil/log/&amp;lt;context_name&amp;gt;/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=""&gt;&lt;div class=""&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimBDnRrsQgS1TweluFF_PYBheD0EwbdtCOv0KgTX-jyANt641OqwbgA1KC3n6uwzSxyhGU3QNsr6x63OjrwhwAbWlI8FBczwXuYsFzWScLyEfhSzAkinDUv7KpAT-eLCLyvFKqeEqC8iVs-ZjkNl6ZX4tdVr0NhrSSSx1ZZw2UBbWlzTcy9Wf1qUDu7Y8/s189/funoracleapps_logo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span style="font-family: arial;"&gt;&lt;img border="0" data-original-height="141" data-original-width="189" height="141" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimBDnRrsQgS1TweluFF_PYBheD0EwbdtCOv0KgTX-jyANt641OqwbgA1KC3n6uwzSxyhGU3QNsr6x63OjrwhwAbWlI8FBczwXuYsFzWScLyEfhSzAkinDUv7KpAT-eLCLyvFKqeEqC8iVs-ZjkNl6ZX4tdVr0NhrSSSx1ZZw2UBbWlzTcy9Wf1qUDu7Y8/s1600/funoracleapps_logo.png" width="189" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;b style="background: 0px 0px rgb(255, 255, 255); border: 0px; color: red; font-size: 15px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;b style="background: 0px 0px rgb(255, 255, 255); border: 0px; color: red; font-size: 15px; outline: 0px; padding: 0px; vertical-align: baseline;"&gt;&lt;span style="font-family: arial;"&gt;Please do like and subscribe to my youtube channel: https://www.youtube.com/@foalabs If you like this post please follow,share and comment&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimBDnRrsQgS1TweluFF_PYBheD0EwbdtCOv0KgTX-jyANt641OqwbgA1KC3n6uwzSxyhGU3QNsr6x63OjrwhwAbWlI8FBczwXuYsFzWScLyEfhSzAkinDUv7KpAT-eLCLyvFKqeEqC8iVs-ZjkNl6ZX4tdVr0NhrSSSx1ZZw2UBbWlzTcy9Wf1qUDu7Y8/s72-c/funoracleapps_logo.png" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>Enterprise Oracle RMAN Backup Automation to Oracle Cloud Infrastructure</title><link>http://www.funoracleapps.com/2026/03/enterprise-oracle-rman-backup.html</link><category>funoracleapps</category><category>Oracle</category><category>Oracle Cloud</category><author>noreply@blogger.com (Himanshu)</author><pubDate>Tue, 17 Mar 2026 10:26:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6369673212267799064.post-2838396237690497303</guid><description>&lt;h2 style="text-align: left;"&gt;&lt;span style="font-family: arial;"&gt;Enterprise Oracle RMAN Backup Automation to Oracle Cloud Infrastructure&lt;/span&gt;&lt;/h2&gt;&lt;div&gt;&lt;p data-source-line="5-5" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;Database administrators face a critical challenge: ensuring reliable, cost-effective backup strategies that protect against both local hardware failures and provide efficient disaster recovery capabilities. This comprehensive guide presents an enterprise-grade solution that automates Oracle RMAN backups with intelligent optimization and seamless integration with Oracle Cloud Infrastructure (OCI) Object Storage.&lt;/p&gt;&lt;p data-source-line="7-7" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Key Benefits of This Solution:&lt;/strong&gt;&lt;/p&gt;&lt;ul data-source-line="8-13" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; list-style-image: initial; list-style-position: initial; margin: 0px 0px 20px; padding: 0px 0px 0px 20px;"&gt;&lt;li data-source-line="9-9" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; line-height: 28px; list-style: inherit; margin: 0px 0px 0px 20px; padding: 0px;"&gt;Automated full, incremental, and archive log backup strategies with parallel processing&lt;/li&gt;&lt;li data-source-line="10-10" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; line-height: 28px; list-style: inherit; margin: 0px 0px 0px 20px; padding: 0px;"&gt;Comprehensive error handling and validation for production reliability&lt;/li&gt;&lt;li data-source-line="11-11" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; line-height: 28px; list-style: inherit; margin: 0px 0px 0px 20px; padding: 0px;"&gt;Seamless cloud integration with automatic upload and verification&lt;/li&gt;&lt;li data-source-line="12-13" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; line-height: 28px; list-style: inherit; margin: 0px 0px 0px 20px; padding: 0px;"&gt;Built-in cleanup and maintenance procedures&lt;/li&gt;&lt;/ul&gt;&lt;p data-source-line="14-14" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;The script addresses a common problem: traditional backup scripts often backup the same archive logs repeatedly, wasting storage space and network bandwidth. Our optimized solution ensures each archive log is backed up exactly once, dramatically improving efficiency.&lt;/p&gt;&lt;h2 data-source-line="16-16" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 1em; line-height: normal; list-style: none; margin: 20px 0px 8px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Understanding the Backup Architecture&lt;/strong&gt;&lt;/h2&gt;&lt;h3 data-source-line="18-18" id="the-three-tier-strategy" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: normal; list-style: none; margin: 20px 0px 8px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;The Three-Tier Strategy&lt;/strong&gt;&lt;/h3&gt;&lt;p data-source-line="20-20" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;This solution implements a sophisticated backup approach that balances recovery objectives with operational efficiency:&lt;/p&gt;&lt;p data-source-line="22-22" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Full Database Backups (Weekly Foundation)&lt;/strong&gt;&lt;/p&gt;&lt;p data-source-line="24-24" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;Full backups create Level 0 incremental backups that serve as the foundation for all subsequent incremental backups. Using four parallel RMAN channels, these backups can reduce backup windows significantly. For example, a 500GB database that might take 4 hours to backup serially could complete in approximately 1.5 hours with parallel processing.&lt;/p&gt;&lt;p data-source-line="26-26" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Incremental Backups (Daily Efficiency)&lt;/strong&gt;&lt;/p&gt;&lt;p data-source-line="28-28" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;Level 1 incremental backups capture only changed data blocks since the last backup. In typical production environments where daily changes represent 5-10% of total database size, this approach can reduce backup storage by 90% compared to daily full backups.&lt;/p&gt;&lt;p data-source-line="30-30" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Archive Log Backups (Continuous Protection with Smart Deduplication)&lt;/strong&gt;&lt;/p&gt;&lt;p data-source-line="32-32" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;The revolutionary feature of this script is its intelligent archive log handling. Traditional approaches backup all available archive logs every execution, creating massive redundancy. Our solution uses RMAN's tag-based tracking to backup each archive log exactly once.&lt;/p&gt;&lt;h4 style="text-align: left;"&gt;&lt;span style="font-family: arial;"&gt;Execution Flow (Very Important)&lt;/span&gt;&lt;/h4&gt;&lt;h2 data-source-line="34-34" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; font-size: 1em; line-height: normal; list-style: none; margin: 20px 0px 8px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;&lt;span style="color: #38761d; font-family: arial;"&gt;
&lt;pre class="overflow-visible! px-0!" data-end="3740" data-start="3536"&gt;&lt;div class="relative w-full my-4"&gt;&lt;div&gt;&lt;div class="relative"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="h-full min-h-0 min-w-0"&gt;&lt;div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;&lt;div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"&gt;&lt;div class="pointer-events-none absolute inset-x-4 top-12 bottom-4"&gt;&lt;div class="pointer-events-none sticky z-40 shrink-0 z-1!"&gt;&lt;div class="sticky bg-token-border-light"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="relative z-0 flex max-w-full"&gt;&lt;div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="code-block-viewer"&gt;&lt;div class="cm-scroller"&gt;&lt;div class="cm-content q9tKkq_readonly"&gt;START&lt;br /&gt;  ↓&lt;br /&gt;main()&lt;br /&gt;  ↓&lt;br /&gt;validate_environment&lt;br /&gt;  ↓&lt;br /&gt;perform_rman_backup&lt;br /&gt;   ├── fail → exit&lt;br /&gt;   ↓&lt;br /&gt;upload_to_oci&lt;br /&gt;   ├── fail → exit (backup kept locally)&lt;br /&gt;   ↓&lt;br /&gt;cleanup_local&lt;br /&gt;   ↓&lt;br /&gt;SUCCESS MESSAGE&lt;br /&gt;  ↓&lt;br /&gt;END&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;h2 data-source-line="34-34" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 1em; line-height: normal; list-style: none; margin: 20px 0px 8px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;The Complete Production Script&lt;/strong&gt;&lt;/h2&gt;&lt;p data-source-line="36-36" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;Here's the enterprise-ready script with dummy data for security:&lt;/p&gt;&lt;pre data-source-line="38-382" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-radius: 10px; border-style: solid; border-width: 0px; padding: 10px;"&gt;&lt;code class="hljs hljs language-bash" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgb(255, 255, 255); border-radius: 12px; border-style: solid; border-width: 0px; display: block; overflow-x: auto; padding: 1em; position: relative; word-break: break-word;"&gt;&lt;span&gt;&lt;span style="color: #005cc5;"&gt;&lt;span style="font-size: 14px; text-wrap-mode: wrap;"&gt;#!/bin/bash
################################################################################
# Enterprise RMAN Backup to OCI - With Atomic Locking and 10-Hour Retention
# Location: /home/oracle/scripts/rman_oci_backup.sh
# Usage: ./rman_oci_backup.sh &amp;lt;FULL|INCREMENTAL|ARCHIVELOG&amp;gt;
# Database: ACMEPROD | Maintained by: Database Operations Team
################################################################################

# Source Oracle Environment FIRST (critical for consistent ORACLE_SID)
if [[ -f /home/oracle/.bash_profile ]]; then
    . /home/oracle/.bash_profile
else
    echo "ERROR: Cannot source Oracle environment from /home/oracle/.bash_profile"
    exit 1
fi

################################################################################
# MANDATORY PARAMETER VALIDATION
################################################################################

if [[ -z "$1" ]]; then
    echo "=========================================================="
    echo "ERROR: Backup type parameter is required!"
    echo "=========================================================="
    echo "Usage: $0 &amp;lt;FULL|INCREMENTAL|ARCHIVELOG&amp;gt;"
    echo ""
    echo "Examples:"
    echo "  $0 FULL        # Full database backup (Level 0)"
    echo "  $0 INCREMENTAL # Incremental backup (Level 1)"
    echo "  $0 ARCHIVELOG  # Archive log backup only"
    echo ""
    echo "Database: ${ORACLE_SID:-NOT SET}"
    echo "=========================================================="
    exit 1
fi

BACKUP_TYPE=$(echo "$1" | tr '[:lower:]' '[:upper:]')

# Validate backup type
case "$BACKUP_TYPE" in
    FULL|INCREMENTAL|ARCHIVELOG)
        # Valid backup type
        ;;
    *)
        echo "ERROR: Invalid backup type '$BACKUP_TYPE'"
        echo "Allowed types: FULL, INCREMENTAL, ARCHIVELOG"
        exit 1
        ;;
esac

################################################################################
# CONFIGURATION SECTION - UPDATE FOR YOUR ENVIRONMENT
################################################################################

# Directory Configuration
BACKUP_BASE="/u02/rman_staging"
LOG_DIR="/home/oracle/logs/backup_operations"

# OCI Configuration - UPDATE THESE VALUES
OCI_CONFIG_FILE="/home/oracle/.oci/config"
OCI_BUCKET="acme-prod-backups"
OCI_PREFIX="ACMEPROD_RMAN"

# Retention Configuration - UPDATED TO 10 HOURS
LOCAL_RETENTION_HOURS=10
LOG_RETENTION_DAYS=7

# System Variables
DATE_STAMP=$(date +%Y%m%d)
TIME_STAMP=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="${BACKUP_BASE}/${DATE_STAMP}"
LOG_FILE="${LOG_DIR}/backup_${BACKUP_TYPE}_${TIME_STAMP}.log"

# Create required directories
mkdir -p "$LOG_DIR" "$BACKUP_DIR"

################################################################################
# ATOMIC LOCKING SYSTEM
################################################################################

# Validate ORACLE_SID before creating lock
if [[ -z "$ORACLE_SID" ]]; then
    echo "CRITICAL ERROR: ORACLE_SID is not set!"
    echo "This prevents proper lock file creation and could allow concurrent backups."
    echo "Please check your Oracle environment setup."
    exit 1
fi

# Lock file configuration - SINGLE GLOBAL LOCK PER DATABASE
LOCK_DIR="/var/lock/rman_oci"
LOCK_FILE="${LOCK_DIR}/rman_backup_${ORACLE_SID}_GLOBAL.lock"

# Create lock directory if it doesn't exist
if ! mkdir -p "$LOCK_DIR" 2&amp;gt;/dev/null; then
    # Fallback to tmp directory
    LOCK_DIR="/tmp/rman_oci_locks"
    LOCK_FILE="${LOCK_DIR}/rman_backup_${ORACLE_SID}_GLOBAL.lock"
    mkdir -p "$LOCK_DIR"
fi

# Open file descriptor 200 for locking
exec 200&amp;gt;"$LOCK_FILE"

################################################################################
# LOGGING FUNCTIONS
################################################################################

log_msg() {
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"
}

log_err() {
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] ERROR: $1" | tee -a "$LOG_FILE" &amp;gt;&amp;amp;2
}

log_ok() {
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] SUCCESS: $1" | tee -a "$LOG_FILE"
}

################################################################################
# COMPREHENSIVE LOCK MANAGEMENT
################################################################################

acquire_lock() {
    log_msg "=========================================================="
    log_msg "INITIALIZING ATOMIC BACKUP LOCK SYSTEM"
    log_msg "=========================================================="
    log_msg "Requested Backup Type: $BACKUP_TYPE"
    log_msg "Database SID: $ORACLE_SID"
    log_msg "Process ID: $$"
    log_msg "Lock File: $LOCK_FILE"
    log_msg "=========================================================="
    
    # Attempt to acquire exclusive lock (non-blocking)
    if ! flock -n 200; then
        log_err "=========================================================="
        log_err "BACKUP CONFLICT DETECTED - CANNOT PROCEED"
        log_err "=========================================================="
        
        # Try to get information about the conflicting process
        local lock_info=""
        if [[ -f "$LOCK_FILE" ]]; then
            lock_info=$(cat "$LOCK_FILE" 2&amp;gt;/dev/null)
        fi
        
        if [[ -n "$lock_info" ]]; then
            log_err "Another RMAN backup is currently running on database: $ORACLE_SID"
            log_err "Lock file contents:"
            echo "$lock_info" | while IFS= read -r line; do
                log_err "  $line"
            done
        else
            log_err "Another RMAN backup process has locked this database: $ORACLE_SID"
        fi
        
        # Show any running RMAN processes for additional context
        local rman_processes
        rman_processes=$(ps -ef | grep -E "(rman target|rman_oci_backup)" | grep -v grep | grep -v "$$")
        
        if [[ -n "$rman_processes" ]]; then
            log_err ""
            log_err "Currently running RMAN-related processes:"
            echo "$rman_processes" | while IFS= read -r line; do
                log_err "  $line"
            done
        fi
        
        log_err ""
        log_err "RESOLUTION OPTIONS:"
        log_err "  1. WAIT: Allow current backup to complete"
        log_err "  2. MONITOR: Check running processes with 'ps -ef | grep rman'"
        log_err "  3. EMERGENCY: Force unlock with 'rm -f $LOCK_FILE' (CAUTION!)"
        log_err "=========================================================="
        
        return 1
    fi
    
    # Lock acquired successfully - write process information
    cat &amp;gt; "$LOCK_FILE" &amp;lt;&amp;lt;LOCKINFO
PID: $$
BACKUP_TYPE: $BACKUP_TYPE
START_TIME: $(date '+%Y-%m-%d %H:%M:%S')
START_TIMESTAMP: $(date +%s)
HOSTNAME: $(hostname)
USER: $(whoami)
ORACLE_SID: $ORACLE_SID
SCRIPT_PATH: $0
LOCKINFO

    log_ok "=========================================================="
    log_ok "EXCLUSIVE BACKUP LOCK ACQUIRED SUCCESSFULLY"
    log_ok "=========================================================="
    log_ok "This process now has exclusive backup rights for: $ORACLE_SID"
    log_ok "No other backup operations can start until this completes"
    log_ok "=========================================================="
    
    return 0
}

release_lock() {
    # Lock is automatically released when file descriptor 200 closes
    # But we can also clean up the lock file for tidiness
    if [[ -f "$LOCK_FILE" ]]; then
        local lock_pid
        lock_pid=$(grep "^PID:" "$LOCK_FILE" 2&amp;gt;/dev/null | cut -d' ' -f2)
        
        # Only clean up if this process owns the lock
        if [[ "$lock_pid" == "$$" ]]; then
            rm -f "$LOCK_FILE" 2&amp;gt;/dev/null
            log_msg "Lock file cleaned up successfully"
        fi
    fi
    
    log_msg "=========================================================="
    log_ok "BACKUP LOCK RELEASED"
    log_msg "Other backup operations can now proceed"
    log_msg "=========================================================="
}

# Ensure lock is released on any exit condition
trap 'release_lock' EXIT

################################################################################
# ENVIRONMENT VALIDATION
################################################################################

validate_environment() {
    log_msg "Starting comprehensive environment validation..."
    
    # Check Oracle Environment Variables
    if [[ -z "$ORACLE_SID" || -z "$ORACLE_HOME" ]]; then
        log_err "Oracle environment not properly configured"
        log_err "ORACLE_SID: ${ORACLE_SID:-NOT SET}"
        log_err "ORACLE_HOME: ${ORACLE_HOME:-NOT SET}"
        log_err "Verify /home/oracle/.bash_profile contains correct settings"
        exit 1
    fi
    log_ok "Oracle environment validated: SID=$ORACLE_SID, HOME=$ORACLE_HOME"
    
    # Verify Database Status
    local db_status
    db_status=$(sqlplus -s / as sysdba &amp;lt;&amp;lt;EOF
SET PAGESIZE 0 FEEDBACK OFF VERIFY OFF HEADING OFF ECHO OFF
SELECT status FROM v\$instance;
EXIT;
EOF
)
    db_status=$(echo "$db_status" | tr -d '[:space:]')
    
    if [[ "$db_status" != "OPEN" ]]; then
        log_err "Database not in OPEN state. Current status: $db_status"
        exit 1
    fi
    log_ok "Database status verified: $db_status"
    
    # Verify ARCHIVELOG Mode
    local log_mode
    log_mode=$(sqlplus -s / as sysdba &amp;lt;&amp;lt;EOF
SET PAGESIZE 0 FEEDBACK OFF VERIFY OFF HEADING OFF ECHO OFF
SELECT log_mode FROM v\$database;
EXIT;
EOF
)
    log_mode=$(echo "$log_mode" | tr -d '[:space:]')
    
    if [[ "$log_mode" != "ARCHIVELOG" ]]; then
        log_err "Database not in ARCHIVELOG mode. Current: $log_mode"
        exit 1
    fi
    log_ok "Database ARCHIVELOG mode confirmed"
    
    # Check Disk Space (minimum 50GB required for 10-hour retention)
    local avail_space
    avail_space=$(df -BG "$BACKUP_BASE" | tail -1 | awk '{print $4}' | sed 's/G//')
    if (( avail_space &amp;lt; 50 )); then
        log_err "Insufficient disk space: ${avail_space}GB (minimum 50GB required for 10-hour retention)"
        log_err "Required space: Database Size + (2 × Daily Archive Logs) + 20% buffer"
        exit 1
    fi
    log_ok "Disk space validated: ${avail_space}GB available"
    
    # Verify OCI CLI and Connectivity
    if ! command -v oci &amp;gt;/dev/null; then
        log_err "OCI CLI not found in PATH"
        exit 1
    fi
    
    if ! oci os ns get --config-file "$OCI_CONFIG_FILE" &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then
        log_err "OCI authentication failed. Check config: $OCI_CONFIG_FILE"
        exit 1
    fi
    
    if ! oci os bucket get --bucket-name "$OCI_BUCKET" --config-file "$OCI_CONFIG_FILE" &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then
        log_err "Cannot access OCI bucket: $OCI_BUCKET"
        exit 1
    fi
    log_ok "OCI connectivity and bucket access verified"
}

################################################################################
# DISK SPACE MONITORING
################################################################################

check_disk_space() {
    local avail_space
    avail_space=$(df -BG "$BACKUP_BASE" | tail -1 | awk '{print $4}' | sed 's/G//')
    local used_percent
    used_percent=$(df -h "$BACKUP_BASE" | tail -1 | awk '{print $5}' | sed 's/%//')
    
    log_msg "Disk space status: ${avail_space}GB available (${used_percent}% used)"
    
    if (( used_percent &amp;gt; 85 )); then
        log_err "WARNING: Disk usage exceeds 85% threshold"
        log_err "Consider reducing LOCAL_RETENTION_HOURS or expanding storage"
    fi
}

################################################################################
# RMAN BACKUP EXECUTION WITH OPTIMIZATION
################################################################################

perform_rman_backup() {
    log_msg "Starting RMAN $BACKUP_TYPE backup operation"
    log_msg "Target database: $ORACLE_SID | Staging: $BACKUP_DIR"
    
    local rman_commands=""
    
    case "$BACKUP_TYPE" in
        FULL)
            local backup_tag="ACME_FULL_${DATE_STAMP}"
            log_msg "Executing FULL backup with 4 parallel channels"
            rman_commands="
            RUN {
                ALLOCATE CHANNEL ch1 DEVICE TYPE DISK FORMAT '$BACKUP_DIR/FULL_%d_%T_%U.bkp';
                ALLOCATE CHANNEL ch2 DEVICE TYPE DISK FORMAT '$BACKUP_DIR/FULL_%d_%T_%U.bkp';
                ALLOCATE CHANNEL ch3 DEVICE TYPE DISK FORMAT '$BACKUP_DIR/FULL_%d_%T_%U.bkp';
                ALLOCATE CHANNEL ch4 DEVICE TYPE DISK FORMAT '$BACKUP_DIR/FULL_%d_%T_%U.bkp';
                
                BACKUP AS COMPRESSED BACKUPSET 
                    INCREMENTAL LEVEL 0 
                    DATABASE 
                    TAG '$backup_tag'
                    PLUS ARCHIVELOG TAG '${backup_tag}_ARCH';
                
                BACKUP CURRENT CONTROLFILE FORMAT '$BACKUP_DIR/CTL_%d_%T_%U.ctl' TAG '$backup_tag';
                BACKUP SPFILE FORMAT '$BACKUP_DIR/SPF_%d_%T_%U.ora' TAG '$backup_tag';
                
                RELEASE CHANNEL ch1;
                RELEASE CHANNEL ch2;
                RELEASE CHANNEL ch3;
                RELEASE CHANNEL ch4;
            }"
            ;;
            
        INCREMENTAL)
            local backup_tag="ACME_INCR_${DATE_STAMP}"
            log_msg "Executing INCREMENTAL backup with 3 parallel channels"
            rman_commands="
            RUN {
                ALLOCATE CHANNEL ch1 DEVICE TYPE DISK FORMAT '$BACKUP_DIR/INCR_%d_%T_%U.bkp';
                ALLOCATE CHANNEL ch2 DEVICE TYPE DISK FORMAT '$BACKUP_DIR/INCR_%d_%T_%U.bkp';
                ALLOCATE CHANNEL ch3 DEVICE TYPE DISK FORMAT '$BACKUP_DIR/INCR_%d_%T_%U.bkp';
                
                BACKUP AS COMPRESSED BACKUPSET 
                    INCREMENTAL LEVEL 1 
                    DATABASE 
                    TAG '$backup_tag'
                    PLUS ARCHIVELOG TAG '${backup_tag}_ARCH';
                
                BACKUP CURRENT CONTROLFILE FORMAT '$BACKUP_DIR/CTL_%d_%T_%U.ctl' TAG '$backup_tag';
                
                RELEASE CHANNEL ch1;
                RELEASE CHANNEL ch2;
                RELEASE CHANNEL ch3;
            }"
            ;;
            
        ARCHIVELOG)
            log_msg "Executing OPTIMIZED archive log backup"
            log_msg "Strategy: Backup only NEW archive logs using intelligent deduplication"
            rman_commands="
            RUN {
                ALLOCATE CHANNEL ch1 DEVICE TYPE DISK FORMAT '$BACKUP_DIR/ARCH_%d_%T_%U.bkp';
                
                BACKUP AS COMPRESSED BACKUPSET 
                    ARCHIVELOG ALL 
                    NOT BACKED UP 1 TIMES 
                    TAG 'ACME_ARCH_SECONDARY';
                
                BACKUP CURRENT CONTROLFILE FORMAT '$BACKUP_DIR/CTL_%d_%T_%U.ctl' TAG 'ACME_ARCH_CTL';
                
                RELEASE CHANNEL ch1;
            }"
            ;;
    esac
    
    # Execute RMAN
    rman target / &amp;lt;&amp;lt; RMANEOF &amp;gt;&amp;gt; "$LOG_FILE" 2&amp;gt;&amp;amp;1
$rman_commands
LIST BACKUP SUMMARY;
EXIT;
RMANEOF
    
    # Check RMAN Status
    if [[ $? -ne 0 ]] || grep -qi "RMAN-[0-9]*.*ERROR" "$LOG_FILE"; then
        log_err "RMAN backup failed. Check $LOG_FILE for details"
        return 1
    fi
    
    # Verify Files Created
    local file_count
    file_count=$(find "$BACKUP_DIR" -type f 2&amp;gt;/dev/null | wc -l)
    if [[ $file_count -eq 0 ]]; then
        log_msg "No new files to backup (optimization prevented unnecessary backup)"
        return 0
    fi
    
    local total_size
    total_size=$(du -sh "$BACKUP_DIR" 2&amp;gt;/dev/null | cut -f1)
    log_ok "RMAN backup completed: $file_count files, $total_size"
    return 0
}

################################################################################
# OCI UPLOAD WITH VERIFICATION AND RETRY LOGIC
################################################################################

upload_to_oci() {
    log_msg "Starting OCI upload to $OCI_BUCKET/$OCI_PREFIX/$DATE_STAMP/"
    
    local file_count
    file_count=$(find "$BACKUP_DIR" -type f 2&amp;gt;/dev/null | wc -l)
    
    if [[ $file_count -eq 0 ]]; then
        log_msg "No files to upload (no new backups created)"
        return 0
    fi
    
    local total_size
    total_size=$(du -sh "$BACKUP_DIR" 2&amp;gt;/dev/null | cut -f1)
    log_msg "Uploading $file_count files ($total_size) to OCI Object Storage"
    
    # Execute bulk upload to OCI Object Storage
    if ! oci os object bulk-upload \
        --config-file "$OCI_CONFIG_FILE" \
        --bucket-name "$OCI_BUCKET" \
        --src-dir "$BACKUP_DIR" \
        --prefix "$OCI_PREFIX/$DATE_STAMP/" \
        --overwrite &amp;gt;&amp;gt; "$LOG_FILE" 2&amp;gt;&amp;amp;1; then
        
        log_err "OCI upload failed"
        return 1
    fi
    
    # Verify Upload with retry logic
    local retry_count=0
    local max_retries=3
    local uploaded_count=0
    
    while [[ $retry_count -lt $max_retries ]]; do
        sleep 5
        uploaded_count=$(oci os object list \
            --config-file "$OCI_CONFIG_FILE" \
            --bucket-name "$OCI_BUCKET" \
            --prefix "$OCI_PREFIX/$DATE_STAMP/" \
            --all 2&amp;gt;/dev/null | grep -c '"name"' || echo "0")
        
        if (( uploaded_count &amp;gt;= file_count )); then
            log_ok "Upload verified: $uploaded_count files in OCI"
            
            # Create upload verification marker with timestamp
            touch "${BACKUP_DIR}/.uploaded_$(date +%s)"
            log_msg "Upload marker created for retention management"
            
            return 0
        fi
        
        ((retry_count++))
        log_msg "Verification attempt $retry_count: Found $uploaded_count of $file_count files"
    done
    
    log_err "Upload verification failed after $max_retries attempts"
    log_err "Expected $file_count files, found $uploaded_count"
    return 1
}

################################################################################
# BACKUP INVENTORY DISPLAY
################################################################################

display_backup_inventory() {
    local current_dirs
    current_dirs=$(find "$BACKUP_BASE" -maxdepth 1 -type d -name "[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]" 2&amp;gt;/dev/null | wc -l)
    
    if [[ $current_dirs -gt 0 ]]; then
        local total_local_size
        total_local_size=$(du -sh "$BACKUP_BASE" 2&amp;gt;/dev/null | cut -f1)
        log_msg "=========================================="
        log_msg "Local Backup Inventory Summary"
        log_msg "=========================================="
        log_msg "Total directories: $current_dirs | Total size: $total_local_size"
        log_msg ""
        
        find "$BACKUP_BASE" -maxdepth 1 -type d -name "[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]" 2&amp;gt;/dev/null | sort -r | while read -r dir_path; do
            local dir
            dir=$(basename "$dir_path")
            local dir_size
            dir_size=$(du -sh "$dir_path" 2&amp;gt;/dev/null | cut -f1)
            local dir_age_hours
            dir_age_hours=$(( ($(date +%s) - $(stat -c %Y "$dir_path" 2&amp;gt;/dev/null || echo "0")) / 3600 ))
            
            # SAFE glob handling for upload status
            local upload_status="Not uploaded"
            shopt -s nullglob
            local markers=("$dir_path"/.uploaded_*)
            shopt -u nullglob
            if (( ${#markers[@]} &amp;gt; 0 )); then
                upload_status="Uploaded to OCI"
                log_ok "  $dir: $dir_size, ${dir_age_hours}h old, $upload_status"
            else
                log_msg "  $dir: $dir_size, ${dir_age_hours}h old, $upload_status"
            fi
        done
        log_msg "=========================================="
    else
        log_msg "No local backup directories found"
    fi
}

################################################################################
# ENHANCED CLEANUP WITH 10-HOUR RETENTION (SHELL-COMPATIBLE)
################################################################################

cleanup_local() {
    log_msg "Starting cleanup with ${LOCAL_RETENTION_HOURS}-hour local retention policy..."
    log_msg "Current backup preserved: $BACKUP_DIR (retained for ${LOCAL_RETENTION_HOURS}h)"
    
    # Calculate retention threshold in minutes for precise control
    local retention_minutes=$((LOCAL_RETENTION_HOURS * 60))
    log_msg "Retention threshold: ${LOCAL_RETENTION_HOURS} hours (${retention_minutes} minutes)"
    
    # Find and process directories older than retention period
    local cleaned_count=0
    local cleaned_size_mb=0
    local preserved_count=0
    
    # Create secure temporary file for directory list (FIXES SYNTAX ERROR)
    local temp_dirs
    temp_dirs=$(mktemp) || {
        log_err "Failed to create temporary file for cleanup"
        return 1
    }
    
    # Find directories older than retention period
    find "$BACKUP_BASE" -maxdepth 1 -type d \
         -name "[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]" \
         -mmin +${retention_minutes} 2&amp;gt;/dev/null &amp;gt; "$temp_dirs"
    
    # Process each old directory
    while IFS= read -r old_dir; do
        [[ -z "$old_dir" ]] &amp;amp;&amp;amp; continue
        
        local dir_name
        dir_name=$(basename "$old_dir")
        
        # Verify it's a date-formatted directory (8 digits)
        if [[ ! "$dir_name" =~ ^[0-9]{8}$ ]]; then
            log_msg "Skipping non-date directory: $dir_name"
            continue
        fi
        
        # Skip current backup directory explicitly
        if [[ "$old_dir" == "$BACKUP_DIR" ]]; then
            log_msg "Preserving current backup: $dir_name"
            continue
        fi
        
        # SAFE glob handling for upload markers
        shopt -s nullglob
        local markers=("$old_dir"/.uploaded_*)
        shopt -u nullglob
        
        if (( ${#markers[@]} == 0 )); then
            log_msg "Preserving unverified backup: $dir_name (upload may have failed or in progress)"
            ((preserved_count++))
            continue
        fi
        
        # DOUBLE-CHECK: Verify backup actually exists in OCI
        local oci_object_count
        oci_object_count=$(oci os object list \
            --config-file "$OCI_CONFIG_FILE" \
            --bucket-name "$OCI_BUCKET" \
            --prefix "$OCI_PREFIX/$dir_name/" \
            --all 2&amp;gt;/dev/null | grep -c '"name"' || echo "0")
        
        if (( oci_object_count == 0 )); then
            log_msg "Preserving backup $dir_name: upload marker exists but no objects found in OCI"
            ((preserved_count++))
            continue
        fi
        
        # Safe to delete: old enough + marked + verified in OCI
        local dir_size_mb
        dir_size_mb=$(du -sm "$old_dir" 2&amp;gt;/dev/null | cut -f1)
        
        log_msg "Removing verified old backup: $dir_name (${dir_size_mb}MB, confirmed in OCI: $oci_object_count files)"
        
        if rm -rf "$old_dir" 2&amp;gt;/dev/null; then
            ((cleaned_count++))
            ((cleaned_size_mb+=dir_size_mb))
        else
            log_err "Failed to remove directory: $old_dir"
        fi
        
    done &amp;lt; "$temp_dirs"
    
    # Clean up temporary file
    rm -f "$temp_dirs"
    
    # Report cleanup results
    if [[ $cleaned_count -gt 0 ]]; then
        local cleaned_size_gb
        cleaned_size_gb=$(echo "scale=2; $cleaned_size_mb / 1024" | bc 2&amp;gt;/dev/null || echo "0")
        log_ok "Cleaned $cleaned_count old backup directories (${cleaned_size_gb}GB freed)"
    else
        log_msg "No directories older than ${LOCAL_RETENTION_HOURS} hours were eligible for cleanup"
    fi
    
    if [[ $preserved_count -gt 0 ]]; then
        log_msg "Preserved $preserved_count backup directories (within retention or unverified)"
    fi
    
    # Display current local backup inventory
    display_backup_inventory
    
    # Clean old log files
    local old_logs
    old_logs=$(find "$LOG_DIR" -name "*.log" -mtime +${LOG_RETENTION_DAYS} 2&amp;gt;/dev/null | wc -l)
    
    if [[ $old_logs -gt 0 ]]; then
        find "$LOG_DIR" -name "*.log" -mtime +${LOG_RETENTION_DAYS} -delete 2&amp;gt;/dev/null
        log_ok "Cleaned $old_logs old log files (&amp;gt;${LOG_RETENTION_DAYS} days)"
    fi
    
    log_ok "Cleanup completed"
}

################################################################################
# MAIN EXECUTION
################################################################################

main() {
    # CRITICAL: Acquire atomic lock FIRST
    if ! acquire_lock; then
        exit 1
    fi
    
    log_msg "=========================================================="
    log_msg "ENTERPRISE RMAN BACKUP TO OCI - ACME CORPORATION"
    log_msg "=========================================================="
    log_msg "Backup Type: $BACKUP_TYPE"
    log_msg "Database: $ORACLE_SID"
    log_msg "Local Retention: ${LOCAL_RETENTION_HOURS} hours"
    log_msg "OCI Bucket: $OCI_BUCKET"
    log_msg "=========================================================="
    
    # Pre-backup disk space check
    check_disk_space
    
    validate_environment
    
    if ! perform_rman_backup; then
        log_err "Backup failed. Process aborted."
        exit 1
    fi
    
    if ! upload_to_oci; then
        log_err "Upload failed. Local backup preserved at: $BACKUP_DIR"
        log_err "Will retry upload on next backup cycle"
        # Still run cleanup to manage old backups
        cleanup_local
        exit 1
    fi
    
    # Always run cleanup to remove old directories
    cleanup_local
    
    # Post-backup disk space check
    check_disk_space
    
    log_msg "=========================================================="
    log_ok "BACKUP COMPLETED SUCCESSFULLY"
    log_msg "=========================================================="
    log_msg "Local Copy: $BACKUP_DIR"
    log_msg "Retention: ${LOCAL_RETENTION_HOURS} hours from upload completion"
    log_msg "OCI Location: $OCI_BUCKET/$OCI_PREFIX/$DATE_STAMP/"
    log_msg "=========================================================="
}

main "$@"
&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #24292e;"&gt;&lt;span style="font-size: 14px; text-wrap-mode: wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;div style="color: #232425; font-size: 16px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/pre&gt;&lt;h2 data-source-line="384-384" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 1em; line-height: normal; list-style: none; margin: 20px 0px 8px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;The Archive Log Optimization Breakthrough&lt;/strong&gt;&lt;/h2&gt;&lt;h3 data-source-line="386-386" id="the-problem%3A-redundant-backups" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: normal; list-style: none; margin: 20px 0px 8px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;The Problem: Redundant Backups&lt;/strong&gt;&lt;/h3&gt;&lt;p data-source-line="388-388" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;Traditional archive log backup scripts suffer from a critical inefficiency. Consider this scenario without optimization:&lt;/p&gt;&lt;ul data-source-line="390-393" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; list-style-image: initial; list-style-position: initial; margin: 0px 0px 20px; padding: 0px 0px 0px 20px;"&gt;&lt;li data-source-line="390-390" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; line-height: 28px; list-style: inherit; margin: 0px 0px 0px 20px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;2:00 PM:&lt;/strong&gt;&amp;nbsp;Script backs up archive logs 1-100 (all available)&lt;/li&gt;&lt;li data-source-line="391-391" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; line-height: 28px; list-style: inherit; margin: 0px 0px 0px 20px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;2:30 PM:&lt;/strong&gt;&amp;nbsp;Script backs up archive logs 1-125 (includes duplicates 1-100)&lt;/li&gt;&lt;li data-source-line="392-393" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; line-height: 28px; list-style: inherit; margin: 0px 0px 0px 20px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;3:00 PM:&lt;/strong&gt;&amp;nbsp;Script backs up archive logs 1-150 (includes duplicates 1-125)&lt;/li&gt;&lt;/ul&gt;&lt;p data-source-line="394-394" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;Over 24 hours with 48 executions, each archive log gets backed up an average of 24 times, wasting storage and bandwidth.&lt;/p&gt;&lt;h3 data-source-line="396-396" id="the-solution%3A-tag-based-intelligence" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: normal; list-style: none; margin: 20px 0px 8px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;The Solution: Tag-Based Intelligence&lt;/strong&gt;&lt;/h3&gt;&lt;p data-source-line="398-398" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;Our script uses RMAN's sophisticated tracking mechanism:&lt;/p&gt;&lt;pre data-source-line="400-402" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-radius: 10px; border-style: solid; border-width: 0px; color: #232425; font-size: 16px; padding: 10px;"&gt;&lt;code class="hljs hljs language-sql" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgb(255, 255, 255); border-radius: 12px; border-style: solid; border-width: 0px; color: #24292e; display: block; font-size: 14px; overflow-x: auto; padding: 1em; position: relative; text-wrap-mode: wrap; word-break: break-word;"&gt;BACKUP ARCHIVELOG &lt;span class="hljs-keyword" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #d73a49;"&gt;ALL&lt;/span&gt; &lt;span class="hljs-keyword" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #d73a49;"&gt;NOT&lt;/span&gt; BACKED UP &lt;span class="hljs-number" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #005cc5;"&gt;1&lt;/span&gt; TIMES TAG &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;'ACME_ARCH_SECONDARY'&lt;/span&gt;;
&lt;/code&gt;&lt;/pre&gt;&lt;p data-source-line="404-404" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;How It Works:&lt;/strong&gt;&lt;/p&gt;&lt;ul data-source-line="406-409" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; list-style-image: initial; list-style-position: initial; margin: 0px 0px 20px; padding: 0px 0px 0px 20px;"&gt;&lt;li data-source-line="406-406" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; line-height: 28px; list-style: inherit; margin: 0px 0px 0px 20px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;2:00 PM:&lt;/strong&gt;&amp;nbsp;Backs up logs 1-100, tags them with 'ACME_ARCH_SECONDARY'&lt;/li&gt;&lt;li data-source-line="407-407" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; line-height: 28px; list-style: inherit; margin: 0px 0px 0px 20px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;2:30 PM:&lt;/strong&gt;&amp;nbsp;RMAN checks all logs, finds 1-100 already have the tag, backs up only 101-125&lt;/li&gt;&lt;li data-source-line="408-409" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; line-height: 28px; list-style: inherit; margin: 0px 0px 0px 20px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;3:00 PM:&lt;/strong&gt;&amp;nbsp;Only backs up new logs 126-150&lt;/li&gt;&lt;/ul&gt;&lt;p data-source-line="410-410" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Result:&lt;/strong&gt;&amp;nbsp;Each archive log is backed up exactly once, reducing storage consumption by up to 90%.&lt;/p&gt;&lt;h3 data-source-line="412-412" id="why-this-doesn't-interfere-with-other-backups" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: normal; list-style: none; margin: 20px 0px 8px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Why This Doesn't Interfere with Other Backups&lt;/strong&gt;&lt;/h3&gt;&lt;p data-source-line="414-414" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;The tag-based system operates independently of your primary backup strategy. Your automatic backup system uses different tags (or no tags), so this secondary system won't interfere with your existing processes.&lt;/p&gt;&lt;h2 data-source-line="416-416" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 1em; line-height: normal; list-style: none; margin: 20px 0px 8px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Deployment Guide&lt;/strong&gt;&lt;/h2&gt;&lt;h3 data-source-line="418-418" id="step-1%3A-environment-preparation" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: normal; list-style: none; margin: 20px 0px 8px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Step 1: Environment Preparation&lt;/strong&gt;&lt;/h3&gt;&lt;p data-source-line="420-420" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;Create the necessary directory structure:&lt;/p&gt;&lt;pre data-source-line="422-431" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-radius: 10px; border-style: solid; border-width: 0px; color: #232425; font-size: 16px; padding: 10px;"&gt;&lt;code class="hljs hljs language-bash" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgb(255, 255, 255); border-radius: 12px; border-style: solid; border-width: 0px; color: #24292e; display: block; font-size: 14px; overflow-x: auto; padding: 1em; position: relative; text-wrap-mode: wrap; word-break: break-word;"&gt;&lt;span class="hljs-comment" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #6a737d;"&gt;# Create backup staging area&lt;/span&gt;
&lt;span class="hljs-built_in" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #e36209;"&gt;sudo&lt;/span&gt; &lt;span class="hljs-built_in" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #e36209;"&gt;mkdir&lt;/span&gt; -p /u02/rman_staging
&lt;span class="hljs-built_in" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #e36209;"&gt;sudo&lt;/span&gt; &lt;span class="hljs-built_in" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #e36209;"&gt;chown&lt;/span&gt; oracle:oinstall /u02/rman_staging
&lt;span class="hljs-built_in" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #e36209;"&gt;sudo&lt;/span&gt; &lt;span class="hljs-built_in" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #e36209;"&gt;chmod&lt;/span&gt; 755 /u02/rman_staging

&lt;span class="hljs-comment" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #6a737d;"&gt;# Create log directory&lt;/span&gt;
&lt;span class="hljs-built_in" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #e36209;"&gt;mkdir&lt;/span&gt; -p /home/oracle/logs/backup_operations
&lt;span class="hljs-built_in" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #e36209;"&gt;chmod&lt;/span&gt; 755 /home/oracle/logs/backup_operations
&lt;/code&gt;&lt;/pre&gt;&lt;h3 data-source-line="433-433" id="step-2%3A-oci-configuration" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: normal; list-style: none; margin: 20px 0px 8px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Step 2: OCI Configuration&lt;/strong&gt;&lt;/h3&gt;&lt;p data-source-line="435-435" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;Set up OCI CLI configuration:&lt;/p&gt;&lt;pre data-source-line="437-443" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-radius: 10px; border-style: solid; border-width: 0px; color: #232425; font-size: 16px; padding: 10px;"&gt;&lt;code class="hljs hljs language-bash" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgb(255, 255, 255); border-radius: 12px; border-style: solid; border-width: 0px; color: #24292e; display: block; font-size: 14px; overflow-x: auto; padding: 1em; position: relative; text-wrap-mode: wrap; word-break: break-word;"&gt;&lt;span class="hljs-built_in" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #e36209;"&gt;mkdir&lt;/span&gt; -p /home/oracle/.oci
&lt;span class="hljs-built_in" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #e36209;"&gt;chmod&lt;/span&gt; 700 /home/oracle/.oci

&lt;span class="hljs-comment" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #6a737d;"&gt;# Create configuration file&lt;/span&gt;
vi /home/oracle/.oci/config
&lt;/code&gt;&lt;/pre&gt;&lt;p data-source-line="445-445" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;Add your configuration (replace with actual values):&lt;/p&gt;&lt;pre data-source-line="447-454" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-radius: 10px; border-style: solid; border-width: 0px; color: #232425; font-size: 16px; padding: 10px;"&gt;&lt;code class="hljs hljs language-ini" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgb(255, 255, 255); border-radius: 12px; border-style: solid; border-width: 0px; color: #24292e; display: block; font-size: 14px; overflow-x: auto; padding: 1em; position: relative; text-wrap-mode: wrap; word-break: break-word;"&gt;&lt;span class="hljs-section" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #005cc5; font-weight: 700;"&gt;[DEFAULT]&lt;/span&gt;
&lt;span class="hljs-attr" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #005cc5;"&gt;user&lt;/span&gt;=ocid1.user.oc1..aaaaaaaexampleuserocid
&lt;span class="hljs-attr" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #005cc5;"&gt;fingerprint&lt;/span&gt;=aa:bb:cc:dd:ee:ff:&lt;span class="hljs-number" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #005cc5;"&gt;00&lt;/span&gt;:&lt;span class="hljs-number" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #005cc5;"&gt;11&lt;/span&gt;:&lt;span class="hljs-number" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #005cc5;"&gt;22&lt;/span&gt;:&lt;span class="hljs-number" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #005cc5;"&gt;33&lt;/span&gt;:&lt;span class="hljs-number" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #005cc5;"&gt;44&lt;/span&gt;:&lt;span class="hljs-number" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #005cc5;"&gt;55&lt;/span&gt;:&lt;span class="hljs-number" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #005cc5;"&gt;66&lt;/span&gt;:&lt;span class="hljs-number" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #005cc5;"&gt;77&lt;/span&gt;:&lt;span class="hljs-number" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #005cc5;"&gt;88&lt;/span&gt;:&lt;span class="hljs-number" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #005cc5;"&gt;99&lt;/span&gt;
&lt;span class="hljs-attr" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #005cc5;"&gt;key_file&lt;/span&gt;=/home/oracle/.oci/oci_api_key.pem
&lt;span class="hljs-attr" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #005cc5;"&gt;tenancy&lt;/span&gt;=ocid1.tenancy.oc1..aaaaaaaexampletenancyocid
&lt;span class="hljs-attr" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #005cc5;"&gt;region&lt;/span&gt;=us-phoenix-&lt;span class="hljs-number" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #005cc5;"&gt;1&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p data-source-line="456-456" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;Test connectivity:&lt;/p&gt;&lt;pre data-source-line="458-460" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-radius: 10px; border-style: solid; border-width: 0px; color: #232425; font-size: 16px; padding: 10px;"&gt;&lt;code class="hljs hljs language-bash" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgb(255, 255, 255); border-radius: 12px; border-style: solid; border-width: 0px; color: #24292e; display: block; font-size: 14px; overflow-x: auto; padding: 1em; position: relative; text-wrap-mode: wrap; word-break: break-word;"&gt;oci os ns get --config-file /home/oracle/.oci/config
&lt;/code&gt;&lt;/pre&gt;&lt;h3 data-source-line="462-462" id="step-3%3A-script-installation" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: normal; list-style: none; margin: 20px 0px 8px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Step 3: Script Installation&lt;/strong&gt;&lt;/h3&gt;&lt;p data-source-line="464-464" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;Install the script:&lt;/p&gt;&lt;pre data-source-line="466-474" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-radius: 10px; border-style: solid; border-width: 0px; color: #232425; font-size: 16px; padding: 10px;"&gt;&lt;code class="hljs hljs language-bash" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgb(255, 255, 255); border-radius: 12px; border-style: solid; border-width: 0px; color: #24292e; display: block; font-size: 14px; overflow-x: auto; padding: 1em; position: relative; text-wrap-mode: wrap; word-break: break-word;"&gt;vi /home/oracle/scripts/rman_oci_backup.sh
&lt;span class="hljs-comment" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #6a737d;"&gt;# Paste the script and update the CONFIGURATION section&lt;/span&gt;
&lt;span class="hljs-built_in" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #e36209;"&gt;chmod&lt;/span&gt; +x /home/oracle/scripts/rman_oci_backup.sh

&lt;span class="hljs-comment" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #6a737d;"&gt;# Verify syntax&lt;/span&gt;
bash -n /home/oracle/scripts/rman_oci_backup.sh
&lt;span class="hljs-built_in" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #e36209;"&gt;echo&lt;/span&gt; &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"Exit code: $?"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 data-source-line="476-476" id="step-4%3A-testing-and-validation" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: normal; list-style: none; margin: 20px 0px 8px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Step 4: Testing and Validation&lt;/strong&gt;&lt;/h3&gt;&lt;p data-source-line="478-478" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;Test each backup type:&lt;/p&gt;&lt;pre data-source-line="480-493" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-radius: 10px; border-style: solid; border-width: 0px; color: #232425; font-size: 16px; padding: 10px;"&gt;&lt;code class="hljs hljs language-bash" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgb(255, 255, 255); border-radius: 12px; border-style: solid; border-width: 0px; color: #24292e; display: block; font-size: 14px; overflow-x: auto; padding: 1em; position: relative; text-wrap-mode: wrap; word-break: break-word;"&gt;&lt;span class="hljs-comment" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #6a737d;"&gt;# Test archive log backup (demonstrates optimization)&lt;/span&gt;
/home/oracle/scripts/rman_oci_backup.sh ARCHIVELOG

&lt;span class="hljs-comment" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #6a737d;"&gt;# Run again immediately to see optimization in action&lt;/span&gt;
/home/oracle/scripts/rman_oci_backup.sh ARCHIVELOG

&lt;span class="hljs-comment" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #6a737d;"&gt;# Test incremental backup&lt;/span&gt;
/home/oracle/scripts/rman_oci_backup.sh INCREMENTAL

&lt;span class="hljs-comment" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #6a737d;"&gt;# Verify OCI upload&lt;/span&gt;
TODAY=$(&lt;span class="hljs-built_in" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #e36209;"&gt;date&lt;/span&gt; +%Y%m%d)
oci os object list --bucket-name acme-prod-backups --prefix &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"ACMEPROD_RMAN/&lt;span class="hljs-variable" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #005cc5;"&gt;$TODAY&lt;/span&gt;/"&lt;/span&gt; --output table
&lt;/code&gt;&lt;/pre&gt;&lt;h2 data-source-line="495-495" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 1em; line-height: normal; list-style: none; margin: 20px 0px 8px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Production Scheduling&lt;/strong&gt;&lt;/h2&gt;&lt;p data-source-line="497-497" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;Configure automated scheduling using cron:&lt;/p&gt;&lt;pre data-source-line="499-501" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-radius: 10px; border-style: solid; border-width: 0px; color: #232425; font-size: 16px; padding: 10px;"&gt;&lt;code class="hljs hljs language-bash" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgb(255, 255, 255); border-radius: 12px; border-style: solid; border-width: 0px; color: #24292e; display: block; font-size: 14px; overflow-x: auto; padding: 1em; position: relative; text-wrap-mode: wrap; word-break: break-word;"&gt;crontab -e
&lt;/code&gt;&lt;/pre&gt;&lt;p data-source-line="503-503" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;Add this production schedule:&lt;/p&gt;&lt;pre data-source-line="505-519" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-radius: 10px; border-style: solid; border-width: 0px; color: #232425; font-size: 16px; padding: 10px;"&gt;&lt;code class="hljs hljs language-cron" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgb(255, 255, 255); border-radius: 12px; border-style: solid; border-width: 0px; color: #24292e; display: block; font-size: 14px; overflow-x: auto; padding: 1em; position: relative; text-wrap-mode: wrap; word-break: break-word;"&gt;# ACME Corporation Database Backup Schedule
SHELL=/bin/bash
PATH=/usr/local/bin:/usr/bin:/bin
MAILTO=""

# Full Backup: Saturday at 2:00 AM (creates Level 0 baseline)
0 2 * * 6 /home/oracle/scripts/rman_oci_backup.sh FULL &amp;gt;&amp;gt; /home/oracle/logs/backup_operations/cron_full_$(date +\%Y\%m\%d).log 2&amp;gt;&amp;amp;1

# Incremental Backup: Daily (Sunday-Friday) at 2:00 AM
0 2 * * 0-5 /home/oracle/scripts/rman_oci_backup.sh INCREMENTAL &amp;gt;&amp;gt; /home/oracle/logs/backup_operations/cron_incr_$(date +\%Y\%m\%d).log 2&amp;gt;&amp;amp;1

# Archive Log Backup: Every 30 minutes (optimized for efficiency)
*/30 * * * * /home/oracle/scripts/rman_oci_backup.sh ARCHIVELOG &amp;gt;&amp;gt; /home/oracle/logs/backup_operations/cron_arch_$(date +\%Y\%m\%d).log 2&amp;gt;&amp;amp;1
&lt;/code&gt;&lt;/pre&gt;&lt;h2 data-source-line="521-521" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 1em; line-height: normal; list-style: none; margin: 20px 0px 8px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Monitoring and Maintenance&lt;/strong&gt;&lt;/h2&gt;&lt;h3 data-source-line="523-523" id="daily-monitoring-script" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: normal; list-style: none; margin: 20px 0px 8px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Daily Monitoring Script&lt;/strong&gt;&lt;/h3&gt;&lt;p data-source-line="525-525" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;Create a monitoring script to verify backup success:&lt;/p&gt;&lt;pre data-source-line="527-545" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-radius: 10px; border-style: solid; border-width: 0px; color: #232425; font-size: 16px; padding: 10px;"&gt;&lt;code class="hljs hljs language-bash" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgb(255, 255, 255); border-radius: 12px; border-style: solid; border-width: 0px; color: #24292e; display: block; font-size: 14px; overflow-x: auto; padding: 1em; position: relative; text-wrap-mode: wrap; word-break: break-word;"&gt;&lt;span class="hljs-meta" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #005cc5;"&gt;#!/bin/bash&lt;/span&gt;
&lt;span class="hljs-comment" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #6a737d;"&gt;# Save as /home/oracle/scripts/check_backups.sh&lt;/span&gt;

TODAY=$(&lt;span class="hljs-built_in" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #e36209;"&gt;date&lt;/span&gt; +%Y%m%d)
&lt;span class="hljs-built_in" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #e36209;"&gt;echo&lt;/span&gt; &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"=== Daily Backup Status Report ==="&lt;/span&gt;
&lt;span class="hljs-built_in" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #e36209;"&gt;echo&lt;/span&gt; &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"Generated: &lt;span class="hljs-subst" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #24292e;"&gt;$(date)&lt;/span&gt;"&lt;/span&gt;

&lt;span class="hljs-comment" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #6a737d;"&gt;# Check today's backups in OCI&lt;/span&gt;
oci os object list \
    --bucket-name acme-prod-backups \
    --prefix &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"ACMEPROD_RMAN/&lt;span class="hljs-variable" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #005cc5;"&gt;$TODAY&lt;/span&gt;/"&lt;/span&gt; \
    --config-file /home/oracle/.oci/config \
    --output table

&lt;span class="hljs-comment" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #6a737d;"&gt;# Check for recent errors&lt;/span&gt;
&lt;span class="hljs-built_in" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #e36209;"&gt;echo&lt;/span&gt; -e &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"\nRecent Errors:"&lt;/span&gt;
grep -i error /home/oracle/logs/backup_operations/*.&lt;span class="hljs-built_in" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #e36209;"&gt;log&lt;/span&gt; | &lt;span class="hljs-built_in" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #e36209;"&gt;tail&lt;/span&gt; -10
&lt;/code&gt;&lt;/pre&gt;&lt;h3 data-source-line="547-547" id="space-requirements-calculation" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: normal; list-style: none; margin: 20px 0px 8px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Space Requirements Calculation&lt;/strong&gt;&lt;/h3&gt;&lt;p data-source-line="549-549" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;&lt;span style="font-family: arial;"&gt;Calculate required staging space using this formula:&lt;/span&gt;&lt;/p&gt;&lt;section style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-size: 16px;"&gt;&lt;span class="katex-display" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; display: block; margin: 1em 0px; text-align: center;"&gt;&lt;span class="katex" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; display: block; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 1.21em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2; text-rendering: auto; text-wrap-mode: nowrap;"&gt;&lt;span class="katex-mathml" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; padding: 0px; position: absolute; width: 1px;"&gt;&lt;/span&gt;&lt;span aria-hidden="true" class="katex-html" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: block; position: relative;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span class="base" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; position: relative; width: min-content;"&gt;&lt;span class="strut" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; height: 0.8889em; vertical-align: -0.1944em;"&gt;&lt;/span&gt;&lt;span class="mord text" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px;"&gt;Required&amp;nbsp;Space&lt;/span&gt;&lt;span class="mspace" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; margin-right: 0.2778em;"&gt;&lt;/span&gt;&lt;span class="mrel" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px;"&gt;=&lt;/span&gt;&lt;span class="mspace" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; margin-right: 0.2778em;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; position: relative; width: min-content;"&gt;&lt;span class="strut" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; height: 0.7778em; vertical-align: -0.0833em;"&gt;&lt;/span&gt;&lt;span class="mord text" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px;"&gt;Database&amp;nbsp;Size&lt;/span&gt;&lt;span class="mspace" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; margin-right: 0.2222em;"&gt;&lt;/span&gt;&lt;span class="mbin" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px;"&gt;+&lt;/span&gt;&lt;span class="mspace" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; margin-right: 0.2222em;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; position: relative; width: min-content;"&gt;&lt;span class="strut" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; height: 0.8889em; vertical-align: -0.1944em;"&gt;&lt;/span&gt;&lt;span class="mord text" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px;"&gt;Daily&amp;nbsp;Archive&amp;nbsp;Logs&lt;/span&gt;&lt;span class="mspace" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; margin-right: 0.2222em;"&gt;&lt;/span&gt;&lt;span class="mbin" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px;"&gt;+&lt;/span&gt;&lt;span class="mspace" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; margin-right: 0.2222em;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; position: relative; width: min-content;"&gt;&lt;span class="strut" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; height: 1em; vertical-align: -0.25em;"&gt;&lt;/span&gt;&lt;span class="mopen" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px;"&gt;(&lt;/span&gt;&lt;span class="mord text" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px;"&gt;Total&lt;/span&gt;&lt;span class="mspace" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; margin-right: 0.2222em;"&gt;&lt;/span&gt;&lt;span class="mbin" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px;"&gt;×&lt;/span&gt;&lt;span class="mspace" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; margin-right: 0.2222em;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; position: relative; width: min-content;"&gt;&lt;span class="strut" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; height: 1em; vertical-align: -0.25em;"&gt;&lt;/span&gt;&lt;span class="mord" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px;"&gt;0.20&lt;/span&gt;&lt;span class="mclose" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/section&gt;&lt;p data-source-line="554-554" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;&lt;span style="font-family: arial;"&gt;For example, a 500GB database generating 50GB of daily archive logs:&lt;/span&gt;&lt;/p&gt;&lt;section style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-size: 16px;"&gt;&lt;span class="katex-display" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; display: block; margin: 1em 0px; text-align: center;"&gt;&lt;span class="katex" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; display: block; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 1.21em; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.2; text-rendering: auto; text-wrap-mode: nowrap;"&gt;&lt;span class="katex-mathml" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; padding: 0px; position: absolute; width: 1px;"&gt;&lt;/span&gt;&lt;span aria-hidden="true" class="katex-html" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: block; position: relative;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span class="base" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; position: relative; width: min-content;"&gt;&lt;span class="strut" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; height: 0.8889em; vertical-align: -0.1944em;"&gt;&lt;/span&gt;&lt;span class="mord text" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px;"&gt;Required&amp;nbsp;Space&lt;/span&gt;&lt;span class="mspace" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; margin-right: 0.2778em;"&gt;&lt;/span&gt;&lt;span class="mrel" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px;"&gt;=&lt;/span&gt;&lt;span class="mspace" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; margin-right: 0.2778em;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; position: relative; width: min-content;"&gt;&lt;span class="strut" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; height: 0.7278em; vertical-align: -0.0833em;"&gt;&lt;/span&gt;&lt;span class="mord" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px;"&gt;500&lt;/span&gt;&lt;span class="mspace" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; margin-right: 0.2222em;"&gt;&lt;/span&gt;&lt;span class="mbin" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px;"&gt;+&lt;/span&gt;&lt;span class="mspace" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; margin-right: 0.2222em;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; position: relative; width: min-content;"&gt;&lt;span class="strut" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; height: 0.7278em; vertical-align: -0.0833em;"&gt;&lt;/span&gt;&lt;span class="mord" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px;"&gt;50&lt;/span&gt;&lt;span class="mspace" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; margin-right: 0.2222em;"&gt;&lt;/span&gt;&lt;span class="mbin" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px;"&gt;+&lt;/span&gt;&lt;span class="mspace" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; margin-right: 0.2222em;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; position: relative; width: min-content;"&gt;&lt;span class="strut" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; height: 1em; vertical-align: -0.25em;"&gt;&lt;/span&gt;&lt;span class="mopen" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px;"&gt;(&lt;/span&gt;&lt;span class="mord" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px;"&gt;550&lt;/span&gt;&lt;span class="mspace" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; margin-right: 0.2222em;"&gt;&lt;/span&gt;&lt;span class="mbin" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px;"&gt;×&lt;/span&gt;&lt;span class="mspace" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; margin-right: 0.2222em;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; position: relative; width: min-content;"&gt;&lt;span class="strut" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; height: 1em; vertical-align: -0.25em;"&gt;&lt;/span&gt;&lt;span class="mord" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px;"&gt;0.20&lt;/span&gt;&lt;span class="mclose" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px;"&gt;)&lt;/span&gt;&lt;span class="mspace" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; margin-right: 0.2778em;"&gt;&lt;/span&gt;&lt;span class="mrel" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px;"&gt;=&lt;/span&gt;&lt;span class="mspace" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; margin-right: 0.2778em;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; position: relative; width: min-content;"&gt;&lt;span class="strut" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px; display: inline-block; height: 0.6833em;"&gt;&lt;/span&gt;&lt;span class="mord" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px;"&gt;660&lt;/span&gt;&lt;span class="mord text" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: currentcolor; border-style: solid; border-width: 0px;"&gt;GB&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/section&gt;&lt;h2 data-source-line="559-559" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 1em; line-height: normal; list-style: none; margin: 20px 0px 8px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Cost Optimization Strategies&lt;/strong&gt;&lt;/h2&gt;&lt;h3 data-source-line="561-561" id="lifecycle-policies" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: normal; list-style: none; margin: 20px 0px 8px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Lifecycle Policies&lt;/strong&gt;&lt;/h3&gt;&lt;p data-source-line="563-563" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;Configure OCI lifecycle policies to manage costs:&lt;/p&gt;&lt;pre data-source-line="565-594" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-radius: 10px; border-style: solid; border-width: 0px; color: #232425; font-size: 16px; padding: 10px;"&gt;&lt;code class="hljs hljs language-bash" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgb(255, 255, 255); border-radius: 12px; border-style: solid; border-width: 0px; color: #24292e; display: block; font-size: 14px; overflow-x: auto; padding: 1em; position: relative; text-wrap-mode: wrap; word-break: break-word;"&gt;&lt;span class="hljs-comment" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #6a737d;"&gt;# Create lifecycle policy to archive old backups&lt;/span&gt;
&lt;span class="hljs-built_in" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #e36209;"&gt;cat&lt;/span&gt; &amp;gt; /tmp/lifecycle-policy.json &amp;lt;&amp;lt; &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;'EOF'&lt;/span&gt;
{
  &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"items"&lt;/span&gt;: [
    {
      &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"name"&lt;/span&gt;: &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"archive-monthly-backups"&lt;/span&gt;,
      &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"action"&lt;/span&gt;: &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"ARCHIVE"&lt;/span&gt;,
      &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"timeAmount"&lt;/span&gt;: 30,
      &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"timeUnit"&lt;/span&gt;: &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"DAYS"&lt;/span&gt;,
      &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"isEnabled"&lt;/span&gt;: &lt;span class="hljs-literal" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #005cc5;"&gt;true&lt;/span&gt;,
      &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"target"&lt;/span&gt;: &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"objects"&lt;/span&gt;
    },
    {
      &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"name"&lt;/span&gt;: &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"delete-old-backups"&lt;/span&gt;, 
      &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"action"&lt;/span&gt;: &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"DELETE"&lt;/span&gt;,
      &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"timeAmount"&lt;/span&gt;: 180,
      &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"timeUnit"&lt;/span&gt;: &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"DAYS"&lt;/span&gt;,
      &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"isEnabled"&lt;/span&gt;: &lt;span class="hljs-literal" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #005cc5;"&gt;true&lt;/span&gt;,
      &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"target"&lt;/span&gt;: &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;"objects"&lt;/span&gt;
    }
  ]
}
EOF

oci os object-lifecycle-policy put \
    --bucket-name acme-prod-backups \
    --lifecycle-policy file:///tmp/lifecycle-policy.json \
    --config-file /home/oracle/.oci/config
&lt;/code&gt;&lt;/pre&gt;&lt;p data-source-line="596-596" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;This policy automatically moves backups older than 30 days to Archive Storage (90% cost reduction) and deletes backups older than 180 days.&lt;/p&gt;&lt;h2 data-source-line="598-598" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 1em; line-height: normal; list-style: none; margin: 20px 0px 8px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Troubleshooting Common Issues&lt;/strong&gt;&lt;/h2&gt;&lt;h3 data-source-line="600-600" id="issue%3A-insufficient-disk-space" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: normal; list-style: none; margin: 20px 0px 8px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Issue: Insufficient Disk Space&lt;/strong&gt;&lt;/h3&gt;&lt;p data-source-line="602-602" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Solution:&lt;/strong&gt;&amp;nbsp;Verify space requirements and expand staging area:&lt;/p&gt;&lt;pre data-source-line="604-607" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-radius: 10px; border-style: solid; border-width: 0px; color: #232425; font-size: 16px; padding: 10px;"&gt;&lt;code class="hljs hljs language-bash" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgb(255, 255, 255); border-radius: 12px; border-style: solid; border-width: 0px; color: #24292e; display: block; font-size: 14px; overflow-x: auto; padding: 1em; position: relative; text-wrap-mode: wrap; word-break: break-word;"&gt;&lt;span class="hljs-built_in" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #e36209;"&gt;df&lt;/span&gt; -h /u02
&lt;span class="hljs-comment" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #6a737d;"&gt;# If insufficient, either expand filesystem or reduce parallel channels&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 data-source-line="609-609" id="issue%3A-oci-authentication-failures" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: normal; list-style: none; margin: 20px 0px 8px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Issue: OCI Authentication Failures&lt;/strong&gt;&lt;/h3&gt;&lt;p data-source-line="611-611" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Solution:&lt;/strong&gt;&amp;nbsp;Verify OCI configuration:&lt;/p&gt;&lt;pre data-source-line="613-619" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-radius: 10px; border-style: solid; border-width: 0px; color: #232425; font-size: 16px; padding: 10px;"&gt;&lt;code class="hljs hljs language-bash" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgb(255, 255, 255); border-radius: 12px; border-style: solid; border-width: 0px; color: #24292e; display: block; font-size: 14px; overflow-x: auto; padding: 1em; position: relative; text-wrap-mode: wrap; word-break: break-word;"&gt;&lt;span class="hljs-comment" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #6a737d;"&gt;# Test authentication&lt;/span&gt;
oci os ns get --config-file /home/oracle/.oci/config

&lt;span class="hljs-comment" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #6a737d;"&gt;# Verify key permissions&lt;/span&gt;
&lt;span class="hljs-built_in" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #e36209;"&gt;ls&lt;/span&gt; -l /home/oracle/.oci/oci_api_key.pem  &lt;span class="hljs-comment" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #6a737d;"&gt;# Should be 600&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 data-source-line="621-621" id="issue%3A-archive-log-backups-taking-too-long" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: normal; list-style: none; margin: 20px 0px 8px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Issue: Archive Log Backups Taking Too Long&lt;/strong&gt;&lt;/h3&gt;&lt;p data-source-line="623-623" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;This usually indicates the optimization isn't working. Check RMAN backup history:&lt;/p&gt;&lt;pre data-source-line="625-630" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-radius: 10px; border-style: solid; border-width: 0px; color: #232425; font-size: 16px; padding: 10px;"&gt;&lt;code class="hljs hljs language-bash" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgb(255, 255, 255); border-radius: 12px; border-style: solid; border-width: 0px; color: #24292e; display: block; font-size: 14px; overflow-x: auto; padding: 1em; position: relative; text-wrap-mode: wrap; word-break: break-word;"&gt;rman target / &amp;lt;&amp;lt; &lt;span class="hljs-string" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #032f62;"&gt;EOF
LIST BACKUP OF ARCHIVELOG ALL;
EXIT;
EOF&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p data-source-line="632-632" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;Look for consistent use of the 'ACME_ARCH_SECONDARY' tag.&lt;/p&gt;&lt;h2 data-source-line="634-634" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 1em; line-height: normal; list-style: none; margin: 20px 0px 8px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Security Considerations&lt;/strong&gt;&lt;/h2&gt;&lt;h3 data-source-line="636-636" id="access-control" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: normal; list-style: none; margin: 20px 0px 8px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Access Control&lt;/strong&gt;&lt;/h3&gt;&lt;p data-source-line="638-638" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;Implement restrictive permissions:&lt;/p&gt;&lt;pre data-source-line="640-644" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-radius: 10px; border-style: solid; border-width: 0px; color: #232425; font-size: 16px; padding: 10px;"&gt;&lt;code class="hljs hljs language-bash" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgb(255, 255, 255); border-radius: 12px; border-style: solid; border-width: 0px; color: #24292e; display: block; font-size: 14px; overflow-x: auto; padding: 1em; position: relative; text-wrap-mode: wrap; word-break: break-word;"&gt;&lt;span class="hljs-built_in" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #e36209;"&gt;chmod&lt;/span&gt; 700 /u02/rman_staging
&lt;span class="hljs-built_in" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #e36209;"&gt;chmod&lt;/span&gt; 700 /home/oracle/logs/backup_operations
&lt;span class="hljs-built_in" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; color: #e36209;"&gt;chmod&lt;/span&gt; 600 /home/oracle/.oci/oci_api_key.pem
&lt;/code&gt;&lt;/pre&gt;&lt;h3 data-source-line="646-646" id="encryption" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: normal; list-style: none; margin: 20px 0px 8px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Encryption&lt;/strong&gt;&lt;/h3&gt;&lt;p data-source-line="648-648" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;OCI Object Storage provides encryption at rest by default. For additional security, configure customer-managed encryption keys through OCI Vault.&lt;/p&gt;&lt;p data-source-line="654-654" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Key Benefits Achieved:&lt;/strong&gt;&lt;/p&gt;&lt;ul data-source-line="655-660" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; list-style-image: initial; list-style-position: initial; margin: 0px 0px 20px; padding: 0px 0px 0px 20px;"&gt;&lt;li data-source-line="655-655" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; line-height: 28px; list-style: inherit; margin: 0px 0px 0px 20px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Cost Efficiency:&lt;/strong&gt;&amp;nbsp;Eliminates redundant archive log backups&lt;/li&gt;&lt;li data-source-line="656-656" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; line-height: 28px; list-style: inherit; margin: 0px 0px 0px 20px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Reliability:&lt;/strong&gt;&amp;nbsp;Comprehensive error handling and validation&lt;/li&gt;&lt;li data-source-line="657-657" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; line-height: 28px; list-style: inherit; margin: 0px 0px 0px 20px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Scalability:&lt;/strong&gt;&amp;nbsp;Parallel processing reduces backup windows&lt;/li&gt;&lt;li data-source-line="658-658" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; line-height: 28px; list-style: inherit; margin: 0px 0px 0px 20px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Security:&lt;/strong&gt;&amp;nbsp;Encrypted cloud storage with access controls&lt;/li&gt;&lt;li data-source-line="659-660" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px; line-height: 28px; list-style: inherit; margin: 0px 0px 0px 20px; padding: 0px;"&gt;&lt;strong style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-style: solid; border-width: 0px;"&gt;Automation:&lt;/strong&gt;&amp;nbsp;Complete hands-off operation with monitoring&lt;/li&gt;&lt;/ul&gt;&lt;p data-source-line="663-663" style="--tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-style: solid; border-width: 0px; color: #232425; font-family: Arial, Inter, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 28px; list-style: none; margin: 0px 0px 12px; padding: 0px;"&gt;Regular testing, monitoring, and maintenance of this backup system will provide the confidence that your critical database systems are protected against any disaster scenario while maintaining cost-effective cloud storage utilization.&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhc1aSSdDL_wUHTfFKRWbG8go8cSoBUln3aG_OMkAAlOEQ5WABXPp86VkPWZZmJm5rJPKCSRpMgz9x9tPIvPhCMt2SBaCVyRFz1RjzZGPoZND73jGdc2OedOYD9bGPUDTTF0qsYMhSCoLQ2vD3U28BL9wakbAe9IJKAiqmrFc0QRWz0moMWezO3GQOX_2A/s189/funoracleapps_logo.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="141" data-original-width="189" height="141" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhc1aSSdDL_wUHTfFKRWbG8go8cSoBUln3aG_OMkAAlOEQ5WABXPp86VkPWZZmJm5rJPKCSRpMgz9x9tPIvPhCMt2SBaCVyRFz1RjzZGPoZND73jGdc2OedOYD9bGPUDTTF0qsYMhSCoLQ2vD3U28BL9wakbAe9IJKAiqmrFc0QRWz0moMWezO3GQOX_2A/s1600/funoracleapps_logo.png" width="189" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="color: red; font-family: arial;"&gt;&lt;b&gt;Please do like and subscribe to my youtube channel: 
https://www.youtube.com/@foalabs

If you like this post please follow,share and comment&lt;/b&gt;&lt;/span&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhc1aSSdDL_wUHTfFKRWbG8go8cSoBUln3aG_OMkAAlOEQ5WABXPp86VkPWZZmJm5rJPKCSRpMgz9x9tPIvPhCMt2SBaCVyRFz1RjzZGPoZND73jGdc2OedOYD9bGPUDTTF0qsYMhSCoLQ2vD3U28BL9wakbAe9IJKAiqmrFc0QRWz0moMWezO3GQOX_2A/s72-c/funoracleapps_logo.png" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item></channel></rss>