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

<channel>
	<title>Archives des Oracle Restart - dbi Blog</title>
	<atom:link href="https://www.dbi-services.com/blog/tag/oracle-restart/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.dbi-services.com/blog/tag/oracle-restart/</link>
	<description></description>
	<lastBuildDate>Thu, 15 Jun 2023 14:35:04 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2025/05/cropped-favicon_512x512px-min-32x32.png</url>
	<title>Archives des Oracle Restart - dbi Blog</title>
	<link>https://www.dbi-services.com/blog/tag/oracle-restart/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Oracle Restart 19c and ACFS</title>
		<link>https://www.dbi-services.com/blog/oracle-restart-19c-and-acfs/</link>
					<comments>https://www.dbi-services.com/blog/oracle-restart-19c-and-acfs/#respond</comments>
		
		<dc:creator><![CDATA[Oracle Team]]></dc:creator>
		<pubDate>Tue, 27 Oct 2020 14:53:45 +0000</pubDate>
				<category><![CDATA[Database Administration & Monitoring]]></category>
		<category><![CDATA[Database management]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[ACFS]]></category>
		<category><![CDATA[Grid Infrastructure]]></category>
		<category><![CDATA[Oracle 19c]]></category>
		<category><![CDATA[Oracle Restart]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/oracle-restart-19c-and-acfs/</guid>

					<description><![CDATA[<p>By Mouhamadou Diaw In this blog we are going to install an Oracle Restart 19c with ASM Filter Driver (AFD). I am using following configuration -Oracle 19c -Oracle Linux Server 7.6 -Kernel 4.14.35-1902.2.0.el7uek.x86_64 Once the Oracle Restart installed, I will create an ACFS filesystem We will have to configure following disks for AFD -/dev/sdc -/dev/sdd [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/oracle-restart-19c-and-acfs/">Oracle Restart 19c and ACFS</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>By Mouhamadou Diaw</strong></p>
<p>In this blog we are going to install an Oracle Restart 19c with ASM Filter Driver (AFD). I am using following configuration<br />
-Oracle 19c<br />
-Oracle Linux Server 7.6<br />
-Kernel 4.14.35-1902.2.0.el7uek.x86_64</p>
<p>Once the Oracle Restart installed, I will create an ACFS filesystem</p>
<p>We will have to configure following disks for AFD<br />
-/dev/sdc<br />
-/dev/sdd</p>
<p>The Oracle downloaded software was unzipped to the GRID_HOME</p>
<div>
<div id="highlighter_931871" class="syntaxhighlighter  bash">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="bash plain">[oracle@oraadserver u01]$ unzip -d </code><code class="bash plain">/u01/app/19</code><code class="bash plain">.0.0.0</code><code class="bash plain">/grid</code> <code class="bash plain">LINUX.X64_193000_grid_home.zip</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>After setting the variables ORACLE_HOME and ORACLE_BASE, we then use with user root the command asmcmd afd_label to provision disk devices for use with Oracle ASM Filter Driver.</p>
<div>
<div id="highlighter_314583" class="syntaxhighlighter  bash">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
<div class="line number2 index1 alt1">2</div>
<div class="line number3 index2 alt2">3</div>
<div class="line number4 index3 alt1">4</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="bash plain">[root@oraadserver dev]</code><code class="bash comments"># export ORACLE_HOME=/u01/app/19.0.0.0/grid</code></div>
<div class="line number2 index1 alt1"><code class="bash plain">[root@oraadserver dev]</code><code class="bash comments"># export ORACLE_BASE=/tmp</code></div>
<div class="line number3 index2 alt2"><code class="bash plain">[root@oraadserver dev]</code><code class="bash comments"># /u01/app/19.0.0.0/grid/bin/asmcmd afd_label DATA /dev/sdc --init</code></div>
<div class="line number4 index3 alt1"><code class="bash plain">[root@oraadserver dev]</code><code class="bash comments"># /u01/app/19.0.0.0/grid/bin/asmcmd afd_label CRS /dev/sdd --init</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>We can verify the status of the disks with the command afd_lslbl</p>
<div>
<div id="highlighter_146185" class="syntaxhighlighter  bash">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
<div class="line number2 index1 alt1">2</div>
<div class="line number3 index2 alt2">3</div>
<div class="line number4 index3 alt1">4</div>
<div class="line number5 index4 alt2">5</div>
<div class="line number6 index5 alt1">6</div>
<div class="line number7 index6 alt2">7</div>
<div class="line number8 index7 alt1">8</div>
<div class="line number9 index8 alt2">9</div>
<div class="line number10 index9 alt1">10</div>
<div class="line number11 index10 alt2">11</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="bash plain">[root@oraadserver ~]</code><code class="bash comments"># /u01/app/19.0.0.0/grid/bin/asmcmd afd_lslbl /dev/sdc</code></div>
<div class="line number2 index1 alt1"><code class="bash plain">--------------------------------------------------------------------------------</code></div>
<div class="line number3 index2 alt2"><code class="bash plain">Label                     Duplicate  Path</code></div>
<div class="line number4 index3 alt1"><code class="bash plain">================================================================================</code></div>
<div class="line number5 index4 alt2"><code class="bash plain">DATA                                  </code><code class="bash plain">/dev/sdc</code></div>
<div class="line number6 index5 alt1"><code class="bash plain">[root@oraadserver ~]</code><code class="bash comments"># /u01/app/19.0.0.0/grid/bin/asmcmd afd_lslbl /dev/sdd</code></div>
<div class="line number7 index6 alt2"><code class="bash plain">--------------------------------------------------------------------------------</code></div>
<div class="line number8 index7 alt1"><code class="bash plain">Label                     Duplicate  Path</code></div>
<div class="line number9 index8 alt2"><code class="bash plain">================================================================================</code></div>
<div class="line number10 index9 alt1"><code class="bash plain">CRS                                   </code><code class="bash plain">/dev/sdd</code></div>
<div class="line number11 index10 alt2"><code class="bash plain">[root@oraadserver ~]</code><code class="bash comments">#</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>In my case with the kernel 4.14.35-1902.2.0.el7uek.x86_64, I had to apply the following<br />
<em>Patch 27494830: BUILD UEK5U2 COMPATIBLE ACFS GRID KERNEL MODULES</em><br />
To avoid this error during the installation</p>
<div>
<div id="highlighter_354739" class="syntaxhighlighter  bash">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
<div class="line number2 index1 alt1">2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="bash plain">Action - To proceed, </code><code class="bash keyword">do</code> <code class="bash plain">not specify or </code><code class="bash functions">select</code> <code class="bash plain">the Oracle ASM Filter Driver option.  Additional Information:</code></div>
<div class="line number2 index1 alt1"><code class="bash spaces"> </code><code class="bash plain">- AFD-620: AFD is not supported on this operating system version: </code><code class="bash string">'4.14.35-1902.2.0.el7uek.x86_64'</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>The patch was applied before the installation as described in the following documentation<br />
<em>How to Apply a Grid Infrastructure Patch Before Grid Infrastructure Configuration (before root.sh or rootupgrade.sh or gridsetup.bat) is Executed (Doc ID 1410202.1)</em><br />
The opatch version was verified</p>
<div>
<div id="highlighter_200532" class="syntaxhighlighter  bash">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
<div class="line number2 index1 alt1">2</div>
<div class="line number3 index2 alt2">3</div>
<div class="line number4 index3 alt1">4</div>
<div class="line number5 index4 alt2">5</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="bash plain">[oracle@oraadserver u01]$ </code><code class="bash plain">/u01/app/19</code><code class="bash plain">.0.0.0</code><code class="bash plain">/grid/OPatch/opatch</code> <code class="bash plain">version</code></div>
<div class="line number2 index1 alt1"><code class="bash plain">OPatch Version: 12.2.0.1.17</code></div>
<div class="line number3 index2 alt2"></div>
<div class="line number4 index3 alt1"><code class="bash plain">OPatch succeeded.</code></div>
<div class="line number5 index4 alt2"><code class="bash plain">[oracle@oraadserver u01]$</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>After the patch was unpacked</p>
<div>
<div id="highlighter_508672" class="syntaxhighlighter  bash">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="bash plain">[oracle@oraadserver u01]$ unzip p27494830_193000ACFSRU_Linux-x86-64.zip</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>And then the patch was applied</p>
<div>
<div id="highlighter_92876" class="syntaxhighlighter  bash">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
<div class="line number2 index1 alt1">2</div>
<div class="line number3 index2 alt2">3</div>
<div class="line number4 index3 alt1">4</div>
<div class="line number5 index4 alt2">5</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="bash plain">[oracle@oraadserver u01]$ </code><code class="bash plain">/u01/app/19</code><code class="bash plain">.0.0.0</code><code class="bash plain">/grid/gridSetup</code><code class="bash plain">.sh -silent -applyRU </code><code class="bash plain">/u01/27494830/</code></div>
<div class="line number2 index1 alt1"><code class="bash plain">Preparing the home to patch...</code></div>
<div class="line number3 index2 alt2"><code class="bash plain">Applying the patch </code><code class="bash plain">/u01/27494830/</code><code class="bash plain">...</code></div>
<div class="line number4 index3 alt1"><code class="bash plain">Successfully applied the patch.</code></div>
<div class="line number5 index4 alt2"><code class="bash plain">The log can be found at: </code><code class="bash plain">/tmp/GridSetupActions2020-10-20_09-32-54PM/installerPatchActions_2020-10-20_09-32-54PM</code><code class="bash plain">.log</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>And now we lunch the install. Note that only some screenshots will be shown. And for the non shown pictures the default was kept.</p>
<div>
<div id="highlighter_523275" class="syntaxhighlighter  bash">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
<div class="line number2 index1 alt1">2</div>
<div class="line number3 index2 alt2">3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="bash plain">[oracle@oraadserver grid]$ </code><code class="bash functions">pwd</code></div>
<div class="line number2 index1 alt1"><code class="bash plain">/u01/app/19</code><code class="bash plain">.0.0.0</code><code class="bash plain">/grid</code></div>
<div class="line number3 index2 alt2"><code class="bash plain">[oracle@oraadserver grid]$ .</code><code class="bash plain">/gridSetup</code><code class="bash plain">.sh</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p><a href="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture1-5.png"><img fetchpriority="high" decoding="async" class="alignnone size-medium wp-image-44452" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture1-5.png" alt="" width="300" height="237" /></a></p>
<p>For the ASM diskgroups configuration<br />
<a href="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture2-3.png"><img decoding="async" class="alignnone size-medium wp-image-44453" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture2-3.png" alt="" width="300" height="237" /></a></p>
<p>The groups of my installation<br />
<a href="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture3-2.png"><img decoding="async" class="alignnone size-medium wp-image-44454" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture3-2.png" alt="" width="300" height="237" /></a></p>
<p>I got some warnings that Idecided to ignore (just a test environment)<br />
<a href="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture4-3.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-44455" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture4-3.png" alt="" width="300" height="237" /></a><br />
<a href="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture5-3.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-44456" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture5-3.png" alt="" width="300" height="237" /></a><br />
<a href="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture6-3.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-44457" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture6-3.png" alt="" width="300" height="213" /></a><br />
The two scripts are executed</p>
<div>
<div id="highlighter_802438" class="syntaxhighlighter  bash">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
<div class="line number2 index1 alt1">2</div>
<div class="line number3 index2 alt2">3</div>
<div class="line number4 index3 alt1">4</div>
<div class="line number5 index4 alt2">5</div>
<div class="line number6 index5 alt1">6</div>
<div class="line number7 index6 alt2">7</div>
<div class="line number8 index7 alt1">8</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="bash plain">[root@oraadserver oraInventory]</code><code class="bash comments"># /u01/app/oraInventory/orainstRoot.sh</code></div>
<div class="line number2 index1 alt1"><code class="bash plain">Changing permissions of </code><code class="bash plain">/u01/app/oraInventory</code><code class="bash plain">.</code></div>
<div class="line number3 index2 alt2"><code class="bash plain">Adding </code><code class="bash functions">read</code><code class="bash plain">,write permissions </code><code class="bash keyword">for</code> <code class="bash plain">group.</code></div>
<div class="line number4 index3 alt1"><code class="bash plain">Removing </code><code class="bash functions">read</code><code class="bash plain">,write,execute permissions </code><code class="bash keyword">for</code> <code class="bash plain">world.</code></div>
<div class="line number5 index4 alt2"></div>
<div class="line number6 index5 alt1"><code class="bash plain">Changing groupname of </code><code class="bash plain">/u01/app/oraInventory</code> <code class="bash plain">to oinstall.</code></div>
<div class="line number7 index6 alt2"><code class="bash plain">The execution of the script is complete.</code></div>
<div class="line number8 index7 alt1"><code class="bash plain">[root@oraadserver oraInventory]</code><code class="bash comments">#</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div>
<div id="highlighter_400632" class="syntaxhighlighter  bash">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
<div class="line number2 index1 alt1">2</div>
<div class="line number3 index2 alt2">3</div>
<div class="line number4 index3 alt1">4</div>
<div class="line number5 index4 alt2">5</div>
<div class="line number6 index5 alt1">6</div>
<div class="line number7 index6 alt2">7</div>
<div class="line number8 index7 alt1">8</div>
<div class="line number9 index8 alt2">9</div>
<div class="line number10 index9 alt1">10</div>
<div class="line number11 index10 alt2">11</div>
<div class="line number12 index11 alt1">12</div>
<div class="line number13 index12 alt2">13</div>
<div class="line number14 index13 alt1">14</div>
<div class="line number15 index14 alt2">15</div>
<div class="line number16 index15 alt1">16</div>
<div class="line number17 index16 alt2">17</div>
<div class="line number18 index17 alt1">18</div>
<div class="line number19 index18 alt2">19</div>
<div class="line number20 index19 alt1">20</div>
<div class="line number21 index20 alt2">21</div>
<div class="line number22 index21 alt1">22</div>
<div class="line number23 index22 alt2">23</div>
<div class="line number24 index23 alt1">24</div>
<div class="line number25 index24 alt2">25</div>
<div class="line number26 index25 alt1">26</div>
<div class="line number27 index26 alt2">27</div>
<div class="line number28 index27 alt1">28</div>
<div class="line number29 index28 alt2">29</div>
<div class="line number30 index29 alt1">30</div>
<div class="line number31 index30 alt2">31</div>
<div class="line number32 index31 alt1">32</div>
<div class="line number33 index32 alt2">33</div>
<div class="line number34 index33 alt1">34</div>
<div class="line number35 index34 alt2">35</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="bash plain">[root@oraadserver oraInventory]</code><code class="bash comments"># /u01/app/19.0.0.0/grid/root.sh</code></div>
<div class="line number2 index1 alt1"><code class="bash plain">Performing root user operation.</code></div>
<div class="line number3 index2 alt2"></div>
<div class="line number4 index3 alt1"><code class="bash plain">The following environment variables are </code><code class="bash functions">set</code> <code class="bash plain">as:</code></div>
<div class="line number5 index4 alt2"><code class="bash spaces">    </code><code class="bash plain">ORACLE_OWNER= oracle</code></div>
<div class="line number6 index5 alt1"><code class="bash spaces">    </code><code class="bash plain">ORACLE_HOME=  </code><code class="bash plain">/u01/app/19</code><code class="bash plain">.0.0.0</code><code class="bash plain">/grid</code></div>
<div class="line number7 index6 alt2"></div>
<div class="line number8 index7 alt1"><code class="bash plain">Enter the full pathname of the </code><code class="bash functions">local</code> <code class="bash plain">bin directory: [</code><code class="bash plain">/usr/local/bin</code><code class="bash plain">]:</code></div>
<div class="line number9 index8 alt2"><code class="bash plain">The contents of </code><code class="bash string">"dbhome"</code> <code class="bash plain">have not changed. No need to overwrite.</code></div>
<div class="line number10 index9 alt1"><code class="bash plain">The contents of </code><code class="bash string">"oraenv"</code> <code class="bash plain">have not changed. No need to overwrite.</code></div>
<div class="line number11 index10 alt2"><code class="bash plain">The contents of </code><code class="bash string">"coraenv"</code> <code class="bash plain">have not changed. No need to overwrite.</code></div>
<div class="line number12 index11 alt1"></div>
<div class="line number13 index12 alt2"></div>
<div class="line number14 index13 alt1"><code class="bash plain">Creating </code><code class="bash plain">/etc/oratab</code> <code class="bash functions">file</code><code class="bash plain">...</code></div>
<div class="line number15 index14 alt2"><code class="bash plain">Entries will be added to the </code><code class="bash plain">/etc/oratab</code> <code class="bash functions">file</code> <code class="bash plain">as needed by</code></div>
<div class="line number16 index15 alt1"><code class="bash plain">Database Configuration Assistant when a database is created</code></div>
<div class="line number17 index16 alt2"><code class="bash plain">Finished running generic part of root script.</code></div>
<div class="line number18 index17 alt1"><code class="bash plain">Now product-specific root actions will be performed.</code></div>
<div class="line number19 index18 alt2"><code class="bash plain">Using configuration parameter </code><code class="bash functions">file</code><code class="bash plain">: </code><code class="bash plain">/u01/app/19</code><code class="bash plain">.0.0.0</code><code class="bash plain">/grid/crs/install/crsconfig_params</code></div>
<div class="line number20 index19 alt1"><code class="bash plain">The log of current session can be found at:</code></div>
<div class="line number21 index20 alt2"><code class="bash spaces">  </code><code class="bash plain">/u01/app/oracle/crsdata/oraadserver/crsconfig/roothas_2020-10-20_09-58-51PM</code><code class="bash plain">.log</code></div>
<div class="line number22 index21 alt1"><code class="bash plain">2020</code><code class="bash plain">/10/20</code> <code class="bash plain">21:58:55 CLSRSC-363: User ignored prerequisites during installation</code></div>
<div class="line number23 index22 alt2"><code class="bash plain">LOCAL ADD MODE</code></div>
<div class="line number24 index23 alt1"><code class="bash plain">Creating OCR keys </code><code class="bash keyword">for</code> <code class="bash plain">user </code><code class="bash string">'oracle'</code><code class="bash plain">, privgrp </code><code class="bash string">'oinstall'</code><code class="bash plain">..</code></div>
<div class="line number25 index24 alt2"><code class="bash plain">Operation successful.</code></div>
<div class="line number26 index25 alt1"><code class="bash plain">LOCAL ONLY MODE</code></div>
<div class="line number27 index26 alt2"><code class="bash plain">Successfully accumulated necessary OCR keys.</code></div>
<div class="line number28 index27 alt1"><code class="bash plain">Creating OCR keys </code><code class="bash keyword">for</code> <code class="bash plain">user </code><code class="bash string">'root'</code><code class="bash plain">, privgrp </code><code class="bash string">'root'</code><code class="bash plain">..</code></div>
<div class="line number29 index28 alt2"><code class="bash plain">Operation successful.</code></div>
<div class="line number30 index29 alt1"><code class="bash plain">CRS-4664: Node oraadserver successfully pinned.</code></div>
<div class="line number31 index30 alt2"><code class="bash plain">2020</code><code class="bash plain">/10/20</code> <code class="bash plain">22:00:43 CLSRSC-330: Adding Clusterware entries to </code><code class="bash functions">file</code> <code class="bash string">'oracle-ohasd.service'</code></div>
<div class="line number32 index31 alt1"></div>
<div class="line number33 index32 alt2"><code class="bash plain">oraadserver     2020</code><code class="bash plain">/10/20</code> <code class="bash plain">22:03:14     </code><code class="bash plain">/u01/app/oracle/crsdata/oraadserver/olr/backup_20201020_220314</code><code class="bash plain">.olr     2451816761</code></div>
<div class="line number34 index33 alt1"><code class="bash plain">2020</code><code class="bash plain">/10/20</code> <code class="bash plain">22:03:49 CLSRSC-327: Successfully configured Oracle Restart </code><code class="bash keyword">for</code> <code class="bash plain">a standalone server</code></div>
<div class="line number35 index34 alt2"><code class="bash plain">[root@oraadserver oraInventory]</code><code class="bash comments">#</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p><a href="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture7-3.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-44459" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture7-3.png" alt="" width="300" height="237" /></a><br />
After the installation we can validate that the ASM was up</p>
<div>
<div id="highlighter_714587" class="syntaxhighlighter  bash">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
<div class="line number2 index1 alt1">2</div>
<div class="line number3 index2 alt2">3</div>
<div class="line number4 index3 alt1">4</div>
<div class="line number5 index4 alt2">5</div>
<div class="line number6 index5 alt1">6</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="bash plain">[root@oraadserver oraInventory]</code><code class="bash comments"># crsctl check has</code></div>
<div class="line number2 index1 alt1"><code class="bash plain">CRS-4638: Oracle High Availability Services is online</code></div>
<div class="line number3 index2 alt2"><code class="bash plain">[root@oraadserver oraInventory]</code><code class="bash comments"># ps -ef | grep pmon</code></div>
<div class="line number4 index3 alt1"><code class="bash plain">root     10153  1730  0 22:10 pts</code><code class="bash plain">/0</code>    <code class="bash plain">00:00:00 </code><code class="bash functions">grep</code> <code class="bash plain">--color=auto pmon</code></div>
<div class="line number5 index4 alt2"><code class="bash plain">oracle   26037     1  0 22:05 ?        00:00:00 asm_pmon_+ASM</code></div>
<div class="line number6 index5 alt1"><code class="bash plain">[root@oraadserver oraInventory]</code><code class="bash comments">#</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>Now using asmca, let’s configure an ACFS filesystem . Basically we<br />
-Create a CRS diskgroup<br />
-In CRS diskgroup we create a volume<br />
-In this volume we create an ACFS filesystem and mount it</p>
<div>
<div id="highlighter_820217" class="syntaxhighlighter  bash">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
<div class="line number2 index1 alt1">2</div>
<div class="line number3 index2 alt2">3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="bash plain">[oracle@oraadserver ~]$ </code><code class="bash functions">which</code> <code class="bash plain">asmca</code></div>
<div class="line number2 index1 alt1"><code class="bash plain">/u01/app/19</code><code class="bash plain">.0.0.0</code><code class="bash plain">/grid/bin/asmca</code></div>
<div class="line number3 index2 alt2"><code class="bash plain">[oracle@oraadserver ~]$ asmca</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p><a href="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture8-3.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-44460" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture8-3.png" alt="" width="300" height="199" /></a></p>
<p><a href="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture9-2.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-44461" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture9-2.png" alt="" width="300" height="199" /></a></p>
<p><a href="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture10-2.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-44462" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture10-2.png" alt="" width="300" height="199" /></a></p>
<p><a href="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture11-3.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-44463" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture11-3.png" alt="" width="300" height="199" /></a></p>
<p><a href="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture12-2.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-44464" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture12-2.png" alt="" width="300" height="199" /></a></p>
<p><a href="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture13-3.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-44465" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture13-3.png" alt="" width="300" height="199" /></a></p>
<p><a href="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture14-3.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-44466" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture14-3.png" alt="" width="300" height="199" /></a></p>
<p><a href="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture15-3.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-44467" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture15-3.png" alt="" width="300" height="119" /></a></p>
<p><a href="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture16-2.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-44468" src="https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/Picture16-2.png" alt="" width="300" height="199" /></a></p>
<p>The ACFS filesystem is now mounted</p>
<div>
<div id="highlighter_626414" class="syntaxhighlighter  bash">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
<div class="line number2 index1 alt1">2</div>
<div class="line number3 index2 alt2">3</div>
<div class="line number4 index3 alt1">4</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="bash plain">[root@oraadserver ~]</code><code class="bash comments"># df -h /share_acfs/</code></div>
<div class="line number2 index1 alt1"><code class="bash plain">Filesystem           Size  Used Avail Use% Mounted on</code></div>
<div class="line number3 index2 alt2"><code class="bash plain">/dev/asm/acfs_vol-3</code>  <code class="bash plain">5.0G  319M  4.7G   7% </code><code class="bash plain">/share_acfs</code></div>
<div class="line number4 index3 alt1"><code class="bash plain">[root@oraadserver ~]</code><code class="bash comments">#</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>Now let’s reboot the system and verify that the acfs filesystem is mounted.</p>
<div>
<div id="highlighter_180028" class="syntaxhighlighter  bash">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
<div class="line number2 index1 alt1">2</div>
<div class="line number3 index2 alt2">3</div>
<div class="line number4 index3 alt1">4</div>
<div class="line number5 index4 alt2">5</div>
<div class="line number6 index5 alt1">6</div>
<div class="line number7 index6 alt2">7</div>
<div class="line number8 index7 alt1">8</div>
<div class="line number9 index8 alt2">9</div>
<div class="line number10 index9 alt1">10</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="bash plain">[root@oraadserver ~]</code><code class="bash comments"># df -h</code></div>
<div class="line number2 index1 alt1"><code class="bash plain">Filesystem           Size  Used Avail Use% Mounted on</code></div>
<div class="line number3 index2 alt2"><code class="bash plain">devtmpfs             1.8G  8.0K  1.8G   1% </code><code class="bash plain">/dev</code></div>
<div class="line number4 index3 alt1"><code class="bash plain">tmpfs                1.8G  637M  1.2G  35% </code><code class="bash plain">/dev/shm</code></div>
<div class="line number5 index4 alt2"><code class="bash plain">tmpfs                1.8G  8.8M  1.8G   1% </code><code class="bash plain">/run</code></div>
<div class="line number6 index5 alt1"><code class="bash plain">tmpfs                1.8G     0  1.8G   0% </code><code class="bash plain">/sys/fs/cgroup</code></div>
<div class="line number7 index6 alt2"><code class="bash plain">/dev/mapper/ol-root</code>   <code class="bash plain">47G   14G   34G  29% /</code></div>
<div class="line number8 index7 alt1"><code class="bash plain">/dev/sda1</code>            <code class="bash plain">497M  230M  268M  47% </code><code class="bash plain">/boot</code></div>
<div class="line number9 index8 alt2"><code class="bash plain">tmpfs                368M     0  368M   0% </code><code class="bash plain">/run/user/54323</code></div>
<div class="line number10 index9 alt1"><code class="bash plain">tmpfs                368M     0  368M   0% </code><code class="bash plain">/run/user/0</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>No. When trying to manually mount it, I got this error</p>
<div>
<div id="highlighter_686738" class="syntaxhighlighter  bash">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
<div class="line number2 index1 alt1">2</div>
<div class="line number3 index2 alt2">3</div>
<div class="line number4 index3 alt1">4</div>
<div class="line number5 index4 alt2">5</div>
<div class="line number6 index5 alt1">6</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="bash plain">[root@oraadserver ~]</code><code class="bash comments"># /bin/mount -t acfs /dev/asm/acfs_vol-3 /share_acfs</code></div>
<div class="line number2 index1 alt1"><code class="bash functions">mount</code><code class="bash plain">.acfs: CLSU-00107: operating system </code><code class="bash keyword">function</code><code class="bash plain">: open64; failed with error data: 2; at location: OOF_1</code></div>
<div class="line number3 index2 alt2"><code class="bash functions">mount</code><code class="bash plain">.acfs: CLSU-00101: operating system error message: No such </code><code class="bash functions">file</code> <code class="bash plain">or directory</code></div>
<div class="line number4 index3 alt1"><code class="bash functions">mount</code><code class="bash plain">.acfs: CLSU-00104: additional error information: open64 (</code><code class="bash plain">/dev/ofsctl</code><code class="bash plain">)</code></div>
<div class="line number5 index4 alt2"><code class="bash functions">mount</code><code class="bash plain">.acfs: ACFS-00502: Failed to communicate with the ACFS driver.  Verify the ACFS driver has been loaded.</code></div>
<div class="line number6 index5 alt1"><code class="bash plain">[root@oraadserver ~]</code><code class="bash comments">#</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>I then load the acfs drivers</p>
<div>
<div id="highlighter_500268" class="syntaxhighlighter  bash">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
<div class="line number2 index1 alt1">2</div>
<div class="line number3 index2 alt2">3</div>
<div class="line number4 index3 alt1">4</div>
<div class="line number5 index4 alt2">5</div>
<div class="line number6 index5 alt1">6</div>
<div class="line number7 index6 alt2">7</div>
<div class="line number8 index7 alt1">8</div>
<div class="line number9 index8 alt2">9</div>
<div class="line number10 index9 alt1">10</div>
<div class="line number11 index10 alt2">11</div>
<div class="line number12 index11 alt1">12</div>
<div class="line number13 index12 alt2">13</div>
<div class="line number14 index13 alt1">14</div>
<div class="line number15 index14 alt2">15</div>
<div class="line number16 index15 alt1">16</div>
<div class="line number17 index16 alt2">17</div>
<div class="line number18 index17 alt1">18</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="bash plain">[root@oraadserver ~]</code><code class="bash comments">#  /u01/app/19.0.0.0/grid/bin/acfsload start -s</code></div>
<div class="line number2 index1 alt1"><code class="bash plain">ACFS-9300: ADVM</code><code class="bash plain">/ACFS</code> <code class="bash plain">distribution files found.</code></div>
<div class="line number3 index2 alt2"><code class="bash plain">ACFS-9314: Removing previous ADVM</code><code class="bash plain">/ACFS</code> <code class="bash plain">installation.</code></div>
<div class="line number4 index3 alt1"><code class="bash plain">ACFS-9315: Previous ADVM</code><code class="bash plain">/ACFS</code> <code class="bash plain">components successfully removed.</code></div>
<div class="line number5 index4 alt2"><code class="bash plain">ACFS-9294: updating </code><code class="bash functions">file</code> <code class="bash plain">/etc/sysconfig/oracledrivers</code><code class="bash plain">.conf</code></div>
<div class="line number6 index5 alt1"><code class="bash plain">ACFS-9307: Installing requested ADVM</code><code class="bash plain">/ACFS</code> <code class="bash plain">software.</code></div>
<div class="line number7 index6 alt2"><code class="bash plain">ACFS-9294: updating </code><code class="bash functions">file</code> <code class="bash plain">/etc/sysconfig/oracledrivers</code><code class="bash plain">.conf</code></div>
<div class="line number8 index7 alt1"><code class="bash plain">ACFS-9308: Loading installed ADVM</code><code class="bash plain">/ACFS</code> <code class="bash plain">drivers.</code></div>
<div class="line number9 index8 alt2"><code class="bash plain">ACFS-9321: Creating udev </code><code class="bash keyword">for</code> <code class="bash plain">ADVM</code><code class="bash plain">/ACFS</code><code class="bash plain">.</code></div>
<div class="line number10 index9 alt1"><code class="bash plain">ACFS-9323: Creating module dependencies - this may take some </code><code class="bash functions">time</code><code class="bash plain">.</code></div>
<div class="line number11 index10 alt2"><code class="bash plain">ACFS-9154: Loading </code><code class="bash string">'oracleoks.ko'</code> <code class="bash plain">driver.</code></div>
<div class="line number12 index11 alt1"><code class="bash plain">ACFS-9154: Loading </code><code class="bash string">'oracleadvm.ko'</code> <code class="bash plain">driver.</code></div>
<div class="line number13 index12 alt2"><code class="bash plain">ACFS-9154: Loading </code><code class="bash string">'oracleacfs.ko'</code> <code class="bash plain">driver.</code></div>
<div class="line number14 index13 alt1"><code class="bash plain">ACFS-9327: Verifying ADVM</code><code class="bash plain">/ACFS</code> <code class="bash plain">devices.</code></div>
<div class="line number15 index14 alt2"><code class="bash plain">ACFS-9156: Detecting control device </code><code class="bash string">'/dev/asm/.asm_ctl_spec'</code><code class="bash plain">.</code></div>
<div class="line number16 index15 alt1"><code class="bash plain">ACFS-9156: Detecting control device </code><code class="bash string">'/dev/ofsctl'</code><code class="bash plain">.</code></div>
<div class="line number17 index16 alt2"><code class="bash plain">ACFS-9309: ADVM</code><code class="bash plain">/ACFS</code> <code class="bash plain">installation correctness verified.</code></div>
<div class="line number18 index17 alt1"><code class="bash plain">[root@oraadserver ~]</code><code class="bash comments">#</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>When checking the volume, it was disabled</p>
<div>
<div id="highlighter_441416" class="syntaxhighlighter  bash">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
<div class="line number2 index1 alt1">2</div>
<div class="line number3 index2 alt2">3</div>
<div class="line number4 index3 alt1">4</div>
<div class="line number5 index4 alt2">5</div>
<div class="line number6 index5 alt1">6</div>
<div class="line number7 index6 alt2">7</div>
<div class="line number8 index7 alt1">8</div>
<div class="line number9 index8 alt2">9</div>
<div class="line number10 index9 alt1">10</div>
<div class="line number11 index10 alt2">11</div>
<div class="line number12 index11 alt1">12</div>
<div class="line number13 index12 alt2">13</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="bash plain">ASMCMD&gt; volinfo --all</code></div>
<div class="line number2 index1 alt1"><code class="bash plain">Diskgroup Name: CRS</code></div>
<div class="line number3 index2 alt2"></div>
<div class="line number4 index3 alt1"><code class="bash spaces">         </code><code class="bash plain">Volume Name: ACFS_VOL</code></div>
<div class="line number5 index4 alt2"><code class="bash spaces">         </code><code class="bash plain">Volume Device: </code><code class="bash plain">/dev/asm/acfs_vol-3</code></div>
<div class="line number6 index5 alt1"><code class="bash spaces">         </code><code class="bash plain">State: DISABLED</code></div>
<div class="line number7 index6 alt2"><code class="bash spaces">         </code><code class="bash plain">Size (MB): 5120</code></div>
<div class="line number8 index7 alt1"><code class="bash spaces">         </code><code class="bash plain">Resize Unit (MB): 64</code></div>
<div class="line number9 index8 alt2"><code class="bash spaces">         </code><code class="bash plain">Redundancy: UNPROT</code></div>
<div class="line number10 index9 alt1"><code class="bash spaces">         </code><code class="bash plain">Stripe Columns: 8</code></div>
<div class="line number11 index10 alt2"><code class="bash spaces">         </code><code class="bash plain">Stripe Width (K): 1024</code></div>
<div class="line number12 index11 alt1"><code class="bash spaces">         </code><code class="bash plain">Usage: ACFS</code></div>
<div class="line number13 index12 alt2"><code class="bash spaces">         </code><code class="bash plain">Mountpath: </code><code class="bash plain">/share_acfs</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>So I enable enable it</p>
<div>
<div id="highlighter_699989" class="syntaxhighlighter  bash">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
<div class="line number2 index1 alt1">2</div>
<div class="line number3 index2 alt2">3</div>
<div class="line number4 index3 alt1">4</div>
<div class="line number5 index4 alt2">5</div>
<div class="line number6 index5 alt1">6</div>
<div class="line number7 index6 alt2">7</div>
<div class="line number8 index7 alt1">8</div>
<div class="line number9 index8 alt2">9</div>
<div class="line number10 index9 alt1">10</div>
<div class="line number11 index10 alt2">11</div>
<div class="line number12 index11 alt1">12</div>
<div class="line number13 index12 alt2">13</div>
<div class="line number14 index13 alt1">14</div>
<div class="line number15 index14 alt2">15</div>
<div class="line number16 index15 alt1">16</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="bash plain">ASMCMD&gt; volenable –all</code></div>
<div class="line number2 index1 alt1"><code class="bash plain">ASMCMD&gt; volinfo --all</code></div>
<div class="line number3 index2 alt2"><code class="bash plain">Diskgroup Name: CRS</code></div>
<div class="line number4 index3 alt1"></div>
<div class="line number5 index4 alt2"><code class="bash spaces">         </code><code class="bash plain">Volume Name: ACFS_VOL</code></div>
<div class="line number6 index5 alt1"><code class="bash spaces">         </code><code class="bash plain">Volume Device: </code><code class="bash plain">/dev/asm/acfs_vol-3</code></div>
<div class="line number7 index6 alt2"><code class="bash spaces">         </code><code class="bash plain">State: ENABLED</code></div>
<div class="line number8 index7 alt1"><code class="bash spaces">         </code><code class="bash plain">Size (MB): 5120</code></div>
<div class="line number9 index8 alt2"><code class="bash spaces">         </code><code class="bash plain">Resize Unit (MB): 64</code></div>
<div class="line number10 index9 alt1"><code class="bash spaces">         </code><code class="bash plain">Redundancy: UNPROT</code></div>
<div class="line number11 index10 alt2"><code class="bash spaces">         </code><code class="bash plain">Stripe Columns: 8</code></div>
<div class="line number12 index11 alt1"><code class="bash spaces">         </code><code class="bash plain">Stripe Width (K): 1024</code></div>
<div class="line number13 index12 alt2"><code class="bash spaces">         </code><code class="bash plain">Usage: ACFS</code></div>
<div class="line number14 index13 alt1"><code class="bash spaces">         </code><code class="bash plain">Mountpath: </code><code class="bash plain">/share_acfs</code></div>
<div class="line number15 index14 alt2"></div>
<div class="line number16 index15 alt1"><code class="bash plain">ASMCMD&gt;</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>And then I run the mount command</p>
<div>
<div id="highlighter_433870" class="syntaxhighlighter  bash">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
<div class="line number2 index1 alt1">2</div>
<div class="line number3 index2 alt2">3</div>
<div class="line number4 index3 alt1">4</div>
<div class="line number5 index4 alt2">5</div>
<div class="line number6 index5 alt1">6</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="bash plain">[root@oraadserver trace]</code><code class="bash comments"># /bin/mount -t acfs /dev/asm/acfs_vol-3 /share_acfs</code></div>
<div class="line number2 index1 alt1"></div>
<div class="line number3 index2 alt2"><code class="bash plain">[root@oraadserver trace]</code><code class="bash comments"># df -h /share_acfs/</code></div>
<div class="line number4 index3 alt1"><code class="bash plain">Filesystem           Size  Used Avail Use% Mounted on</code></div>
<div class="line number5 index4 alt2"><code class="bash plain">/dev/asm/acfs_vol-3</code>  <code class="bash plain">5.0G  319M  4.7G   7% </code><code class="bash plain">/share_acfs</code></div>
<div class="line number6 index5 alt1"><code class="bash plain">[root@oraadserver trace]</code><code class="bash comments">#</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>It was strange to manually mount the ACFS filesystem at system reboot but it is mentioned in Oracle documentation<br />
<em>Starting with Oracle Database 12c, Oracle Restart configurations do not support the Oracle ACFS registry.</em><br />
This means that the Oracle ACFS file system resource is supported only for Oracle Grid Infrastructure cluster configurations; it is not supported for Oracle Restart configurations. When using ACFS on Oracle Restart, we have to mount the filesystem manually mount and umount the ACFS filesystem</p>
<h3>Conclusion</h3>
<p>When using ACFS with Oracle Restart, we have to manually mount and umount the ACFS filesystem when the system stops or starts. This can be done by some customized scripts.</p>
<p>L’article <a href="https://www.dbi-services.com/blog/oracle-restart-19c-and-acfs/">Oracle Restart 19c and ACFS</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbi-services.com/blog/oracle-restart-19c-and-acfs/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Active Data Guard services in Multitenant</title>
		<link>https://www.dbi-services.com/blog/active-data-guard-services-in-multitenant/</link>
					<comments>https://www.dbi-services.com/blog/active-data-guard-services-in-multitenant/#respond</comments>
		
		<dc:creator><![CDATA[Oracle Team]]></dc:creator>
		<pubDate>Fri, 15 Sep 2017 20:36:20 +0000</pubDate>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[CDB]]></category>
		<category><![CDATA[Data Guard]]></category>
		<category><![CDATA[multitenant]]></category>
		<category><![CDATA[Oracle 12c]]></category>
		<category><![CDATA[Oracle Multitenant]]></category>
		<category><![CDATA[Oracle Restart]]></category>
		<category><![CDATA[PDB]]></category>
		<category><![CDATA[Pluggable Databases]]></category>
		<guid isPermaLink="false">https://www.dbi-services.com/blog/active-data-guard-services-in-multitenant/</guid>

					<description><![CDATA[<p>By Franck Pachot . A database (or the CDB in multitenant) registers its name as the default service. When a standby database is on the same server, or same cluster, you have no problem because this database name is the db_unique_name which is different between the primary and the standby(s). In multitenant, in addition to [&#8230;]</p>
<p>L’article <a href="https://www.dbi-services.com/blog/active-data-guard-services-in-multitenant/">Active Data Guard services in Multitenant</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>By Franck Pachot</h2>
<p>.<br />
A database (or the CDB in multitenant) registers its name as the default service. When a standby database is on the same server, or same cluster, you have no problem because this database name is the db_unique_name which is different between the primary and the standby(s).</p>
<p>In multitenant, in addition to that, each PDB registers its name as a service. But the PDB name is the same in the primary and the standby database. This means that we have the same service name registered for the PDB in primary and standby:</p>
<pre><code>
Service "pdb1" has 2 instance(s).
  Instance "CDB2A", status READY, has 1 handler(s) for this service...
  Instance "CDB2B", status READY, has 1 handler(s) for this service...
</code></pre>
<p>We cannot change that, and then it is strongly recommended to create different services for the PDB in primary and standby.<br />
<span id="more-10459"></span></p>
<h3>The PDB default service name</h3>
<p>Here is what we want to avoid.<br />
I&#8217;ve a container database (db_name=CDB2) with its primary (db_unique_name=CDB2A) and standby (db_unique_name=CDB2B) on the same server, registered to the same listener:</p>
<pre><code>
Service "59408d6bed2c1c8ee0536a4ea8c0cfa9" has 2 instance(s).
  Instance "CDB2A", status READY, has 1 handler(s) for this service...
  Instance "CDB2B", status READY, has 1 handler(s) for this service...
Service "CDB2A" has 1 instance(s).
  Instance "CDB2A", status READY, has 1 handler(s) for this service...
Service "CDB2AXDB" has 1 instance(s).
  Instance "CDB2A", status READY, has 1 handler(s) for this service...
Service "CDB2A_DGB" has 1 instance(s).
  Instance "CDB2A", status READY, has 1 handler(s) for this service...
Service "CDB2A_DGMGRL" has 1 instance(s).
  Instance "CDB2A", status UNKNOWN, has 1 handler(s) for this service...
Service "CDB2B" has 1 instance(s).
  Instance "CDB2B", status READY, has 1 handler(s) for this service...
Service "CDB2BXDB" has 1 instance(s).
  Instance "CDB2B", status READY, has 1 handler(s) for this service...
Service "CDB2B_DGB" has 1 instance(s).
  Instance "CDB2B", status READY, has 1 handler(s) for this service...
Service "CDB2B_DGMGRL" has 1 instance(s).
  Instance "CDB2B", status UNKNOWN, has 1 handler(s) for this service...
Service "CDB2_CFG" has 2 instance(s).
  Instance "CDB2A", status READY, has 1 handler(s) for this service...
  Instance "CDB2B", status READY, has 1 handler(s) for this service...
Service "pdb1" has 2 instance(s).
  Instance "CDB2A", status READY, has 1 handler(s) for this service...
  Instance "CDB2B", status READY, has 1 handler(s) for this service...
</code></pre>
<p>The PDB1 service is registered from both instances, and then when I use it in my connection string I&#8217;m connected at random to the primary or the standby:</p>
<pre><code>
22:27:46 SQL&gt; connect sys/oracle@//localhost:1522/pdb1 as sysdba
Connected.
22:27:51 SQL&gt; select * from v$instance;
&nbsp;
INSTANCE_NUMBER  INSTANCE_NAME  HOST_NAME  VERSION     STARTUP_TIME  STATUS  PARALLEL  THREAD#  ARCHIVER  LOG_SWITCH_WAIT  LOGINS   SHUTDOWN_PENDING  DATABASE_STATUS  INSTANCE_ROLE     ACTIVE_STATE  BLOCKED  CON_ID  INSTANCE_MODE  EDITION  FAMILY  DATABASE_TYPE
---------------  -------------  ---------  -------     ------------  ------  --------  -------  --------  ---------------  ------   ----------------  ---------------  -------------     ------------  -------  ------  -------------  -------  ------  -------------
1                CDB2B          VM106      12.2.0.1.0  15-SEP-17     OPEN    NO        1        STARTED                    ALLOWED  NO                ACTIVE           PRIMARY_INSTANCE  NORMAL        NO       0       REGULAR        EE               SINGLE
&nbsp;
22:28:00 SQL&gt; connect sys/oracle@//localhost:1522/pdb1 as sysdba
Connected.
22:28:06 SQL&gt; /
&nbsp;
INSTANCE_NUMBER  INSTANCE_NAME  HOST_NAME  VERSION     STARTUP_TIME  STATUS  PARALLEL  THREAD#  ARCHIVER  LOG_SWITCH_WAIT  LOGINS   SHUTDOWN_PENDING  DATABASE_STATUS  INSTANCE_ROLE     ACTIVE_STATE  BLOCKED  CON_ID  INSTANCE_MODE  EDITION  FAMILY  DATABASE_TYPE
---------------  -------------  ---------  -------     ------------  ------  --------  -------  --------  ---------------  ------   ----------------  ---------------  -------------     ------------  -------  ------  -------------  -------  ------  -------------
1                CDB2A          VM106      12.2.0.1.0  15-SEP-17     OPEN    NO        1        STARTED                    ALLOWED  NO                ACTIVE           PRIMARY_INSTANCE  NORMAL        NO       0       REGULAR        EE               SINGLE
&nbsp;
22:28:07 SQL&gt; connect sys/oracle@//localhost:1522/pdb1 as sysdba
Connected.
22:28:10 SQL&gt; /
&nbsp;
INSTANCE_NUMBER  INSTANCE_NAME  HOST_NAME  VERSION     STARTUP_TIME  STATUS  PARALLEL  THREAD#  ARCHIVER  LOG_SWITCH_WAIT  LOGINS   SHUTDOWN_PENDING  DATABASE_STATUS  INSTANCE_ROLE     ACTIVE_STATE  BLOCKED  CON_ID  INSTANCE_MODE  EDITION  FAMILY  DATABASE_TYPE
---------------  -------------  ---------  -------     ------------  ------  --------  -------  --------  ---------------  ------   ----------------  ---------------  -------------     ------------  -------  ------  -------------  -------  ------  -------------
1                CDB2B          VM106      12.2.0.1.0  15-SEP-17     OPEN    NO        1        STARTED                    ALLOWED  NO                ACTIVE           PRIMARY_INSTANCE  NORMAL        NO       0       REGULAR        EE               SINGLE
&nbsp;
22:28:11 SQL&gt; connect sys/oracle@//localhost:1522/pdb1 as sysdba
Connected.
22:28:13 SQL&gt; /
&nbsp;
INSTANCE_NUMBER  INSTANCE_NAME  HOST_NAME  VERSION     STARTUP_TIME  STATUS  PARALLEL  THREAD#  ARCHIVER  LOG_SWITCH_WAIT  LOGINS   SHUTDOWN_PENDING  DATABASE_STATUS  INSTANCE_ROLE     ACTIVE_STATE  BLOCKED  CON_ID  INSTANCE_MODE  EDITION  FAMILY  DATABASE_TYPE
---------------  -------------  ---------  -------     ------------  ------  --------  -------  --------  ---------------  ------   ----------------  ---------------  -------------     ------------  -------  ------  -------------  -------  ------  -------------
1                CDB2A          VM106      12.2.0.1.0  15-SEP-17     OPEN    NO        1        STARTED                    ALLOWED  NO                ACTIVE           PRIMARY_INSTANCE  NORMAL        NO       0       REGULAR        EE               SINGLE
</code></pre>
<p>I don&#8217;t want to use a service that connects at random and then I need to create different services.</p>
<h3>Read-Only service for the Active Data Guard standby</h3>
<p>I&#8217;m in Oracle Restart and I create the service with srvctl (but you can also create it with dbms_service when not running with Grid Infrastructure):</p>
<pre><code>
srvctl   add service -db cdb2b -service pdb1_ro -pdb pdb1 -role physical_standby
</code></pre>
<p>This creates the service for the standby database (CDB2B) to be started when in physical standby role, and the service connects to the pluggable database PDB1.<br />
But I cannot start it:</p>
<pre><code>
srvctl start service -db cdb2b -service pdb1_ro -pdb pdb1
&nbsp;
&nbsp;
PRCD-1084 : Failed to start service pdb1_ro
PRCR-1079 : Failed to start resource ora.cdb2b.pdb1_ro.svc
CRS-5017: The resource action "ora.cdb2b.pdb1_ro.svc start" encountered the following error:
ORA-16000: database or pluggable database open for read-only access
ORA-06512: at "SYS.DBMS_SERVICE", line 5
ORA-06512: at "SYS.DBMS_SERVICE", line 288
ORA-06512: at line 1
. For details refer to "(:CLSN00107:)" in "/u01/app/12.2/diag/crs/vm106/crs/trace/ohasd_oraagent_oracle.trc".
&nbsp;
CRS-2674: Start of 'ora.cdb2b.pdb1_ro.svc' on 'vm106' failed
</code></pre>
<p>The reason is that the service information must be stored in the dictionary, SYS.SERVICE$ table, and you cannot do that on a read-only database.</p>
<p>This has been explained a long time ago by Ivica Arsov on his blog: <a href="https://iarsov.com/oracle/data-guard/active-services-on-physical-standby-database/" target="_blank" rel="noopener noreferrer">https://iarsov.com/oracle/data-guard/active-services-on-physical-standby-database/</a> and nothing has changed. You need to create the service on the primary so that the update of SYS.SERVICE$ is propagated to the standby database through log shipping:</p>
<pre><code>
srvctl   add service -db cdb2a -service pdb1_ro -pdb pdb1 -role physical_standby
</code></pre>
<p>This is not sufficient because the insert in SYS.SERVICE$ does not occur yet:</p>
<pre><code>
SQL&gt; alter session set container=PDB1;
&nbsp;
Session altered.
&nbsp;
SQL&gt; show pdbs
CON_ID  CON_NAME  OPEN MODE   RESTRICTED
------  --------  ---------   ----------
3       PDB1      READ WRITE  NO
&nbsp;
SQL&gt; select * from service$;
&nbsp;
SERVICE_ID  NAME  NAME_HASH   NETWORK_NAME  CREATION_DATE  CREATION_DATE_HASH  DELETION_DATE  FAILOVER_METHOD  FAILOVER_TYPE  FAILOVER_RETRIES  FAILOVER_DELAY  MIN_CARDINALITY  MAX_CARDINALITY  GOAL  FLAGS  EDITION  PDB   RETENTION_TIMEOUT  REPLAY_INITIATION_TIMEOUT  SESSION_STATE_CONSISTENCY  SQL_TRANSLATION_PROFILE  MAX_LAG_TIME  GSM_FLAGS  PQ_SVC  STOP_OPTION  FAILOVER_RESTORE  DRAIN_TIMEOUT
----------  ----  ---------   ------------  -------------  ------------------  -------------  ---------------  -------------  ----------------  --------------  ---------------  ---------------  ----  -----  -------  ---   -----------------  -------------------------  -------------------------  -----------------------  ------------  ---------  ------  -----------  ----------------  -------------
14          pdb1  1888881990  pdb1          15-SEP-17      1332716667                                                                                                                                   136             PDB1  
</code></pre>
<p>As explained by Ivica in his blog post, we need to start the service once to have the row inserted in SERVICE$:</p>
<pre><code>
srvctl start service -db cdb2a -service pdb1_ro -pdb pdb1
srvctl stop service -db cdb2a -service pdb1_ro
</code></pre>
<p>Now the service information is persistent in the dictionary:</p>
<pre><code>
SQL&gt; alter session set container=PDB1;
Session altered.
&nbsp;
SQL&gt; show pdbs
&nbsp;
CON_ID  CON_NAME  OPEN MODE   RESTRICTED
------  --------  ---- ----   ----------
3       PDB1      READ WRITE  NO
&nbsp;
SQL&gt; select * from service$;
&nbsp;
SERVICE_ID  NAME     NAME_HASH   NETWORK_NAME  CREATION_DATE  CREATION_DATE_HASH  DELETION_DATE  FAILOVER_METHOD  FAILOVER_TYPE  FAILOVER_RETRIES  FAILOVER_DELAY  MIN_CARDINALITY  MAX_CARDINALITY  GOAL  FLAGS  EDITION  PDB   RETENTION_TIMEOUT  REPLAY_INITIATION_TIMEOUT  SESSION_STATE_CONSISTENCY  SQL_TRANSLATION_PROFILE  MAX_LAG_TIME  GSM_FLAGS  PQ_SVC  STOP_OPTION  FAILOVER_RESTORE  DRAIN_TIMEOUT
----------  ----     ---------   ------------  -------------  ------------------  -------------  ---------------  -------------  ----------------  --------------  ---------------  ---------------  ----  -----  -------  ---   -----------------  -------------------------  -------------------------  -----------------------  ------------  ---------  ------  -----------  ----------------  -------------
14          pdb1     1888881990  pdb1          15-SEP-17      1332716667                                                                                                                                   136             PDB1                                                                                                                                                             
1           pdb1_ro  1562179816  pdb1_ro       15-SEP-17      1301388390                                                         0                 0                                                 0     8               PDB1  86400              300                        DYNAMIC                                             ANY           0                  0            0                 0
</code></pre>
<p>This is from the primary, but after the redo has been transported and applied, I have the same on the standby. Now I can start the service I&#8217;ve created for the standby:</p>
<pre><code>
srvctl start service -db cdb2b -service pdb1_ro -pdb pdb1
</code></pre>
<p>Here is the new service registered on the listener, which I can use to connect to the read-only PDB1 on the Active Data Guard standby:</p>
<pre><code>
Service "pdb1" has 2 instance(s).
  Instance "CDB2A", status READY, has 1 handler(s) for this service...
  Instance "CDB2B", status READY, has 1 handler(s) for this service...
Service "pdb1_ro" has 1 instance(s).
  Instance "CDB2B", status READY, has 1 handler(s) for this service...
Service "pdb1_rw" has 1 instance(s).
</code></pre>
<h3>Read-Write service for the primary</h3>
<p>You can see above that in order to select from SERVICE$ I connected to CDB$ROOT and switched to PDB1 with &#8216;set container&#8217;. There&#8217;s no other choice because using the service name directs me at random to any instance. Then, I need a service to connect to the primary only, and I&#8217;ll call it PDB1_RW as it is opened in Read Write there.</p>
<pre><code>
srvctl   add service -db cdb2a -service pdb1_rw -pdb pdb1 -role primary
srvctl start service -db cdb2a -service pdb1_rw
</code></pre>
<p>Finally, here are the services registered from the listener:</p>
<pre><code>
Service "pdb1" has 2 instance(s).
  Instance "CDB2A", status READY, has 1 handler(s) for this service...
  Instance "CDB2B", status READY, has 1 handler(s) for this service...
Service "pdb1_ro" has 1 instance(s).
  Instance "CDB2B", status READY, has 1 handler(s) for this service...
Service "pdb1_rw" has 1 instance(s).
  Instance "CDB2A", status READY, has 1 handler(s) for this service...
</code></pre>
<p>I&#8217;ll probably never use the &#8216;PDB1&#8217; service because I want to know where I connect to.</p>
<p>In case of switchover, I also create the Read Write service in for the standby:</p>
<pre><code>
srvctl   add service -db cdb2b -service pdb1_rw -pdb pdb1 -role primary
</code></pre>
<p>Here are the resources when CDB2A is the primary:</p>
<pre><code>
$ crsctl stat resource -t -w "TYPE = ora.service.type"
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cdb2a.pdb1_ro.svc
      1        OFFLINE OFFLINE                               STABLE
ora.cdb2a.pdb1_rw.svc
      1        ONLINE  ONLINE       vm106                    STABLE
ora.cdb2b.pdb1_ro.svc
      1        ONLINE  ONLINE       vm106                    STABLE
ora.cdb2b.pdb1_rw.svc
      1        OFFLINE OFFLINE                               STABLE
--------------------------------------------------------------------------------
</code></pre>
<p>I test as switchover to CDB2B:</p>
<pre><code>
$ dgmgrl sys/oracle
DGMGRL for Linux: Release 12.2.0.1.0 - Production on Fri Sep 15 23:41:26 2017
&nbsp;
Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.
&nbsp;
Welcome to DGMGRL, type "help" for information.
Connected to "CDB2B"
Connected as SYSDG.
DGMGRL&gt; switchover to cdb2b;
Performing switchover NOW, please wait...
New primary database "cdb2b" is opening...
Oracle Clusterware is restarting database "cdb2a" ...
Switchover succeeded, new primary is "cdb2b"
</code></pre>
<p>Here are the services:</p>
<pre><code>
[oracle@VM106 blogs]$ crsctl stat resource -t -w "TYPE = ora.service.type"
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cdb2a.pdb1_ro.svc
      1        ONLINE  ONLINE       vm106                    STABLE
ora.cdb2a.pdb1_rw.svc
      1        OFFLINE OFFLINE                               STABLE
ora.cdb2b.pdb1_ro.svc
      1        OFFLINE OFFLINE                               STABLE
ora.cdb2b.pdb1_rw.svc
      1        ONLINE  ONLINE       vm106                    STABLE
--------------------------------------------------------------------------------
</code></pre>
<h3>So what?</h3>
<p>The recommendations are not new here:</p>
<ul>
<li>Always do the same on the primary and the standby. Create services on both sites, then have started them depending on the role</li>
<li>Always use one or several application services rather than the default one, in order to have better control and flexibility on where you connect</li>
</ul>
<p>In multitenant, because services are mandatory to connect to a container with a local user, all the recommendations about services are even more important than before. If you follow them, you will see that multitenant is not difficult at all.</p>
<p>This case may seem improbable, because you probably don&#8217;t put the standby on the same server or cluster as the primary. But you may have several standby databases on the same server. About the service registered from the PDB name, just don&#8217;t use it. I&#8217;m more concerned by the GUID service name (here 59408d6bed2c1c8ee0536a4ea8c0cfa9) which is also declared by both databases. If you plan to use online PDB relocate in a Data Guard configuration then be careful with that. I&#8217;ve not tested it, but it is probably better to keep the standby PDB closed, or at least do not register it on the same listener.</p>
<p>L’article <a href="https://www.dbi-services.com/blog/active-data-guard-services-in-multitenant/">Active Data Guard services in Multitenant</a> est apparu en premier sur <a href="https://www.dbi-services.com/blog">dbi Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbi-services.com/blog/active-data-guard-services-in-multitenant/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 
Lazy Loading (feed)

Served from: www.dbi-services.com @ 2026-10-17 14:08:50 by W3 Total Cache
-->