tag:blogger.com,1999:blog-71250333351078727032024-03-20T21:12:07.483+06:00Database Administrator Tutorialdbatutorial.com website provides tricks and tips for databases like Oracle, MySQL, MariaDB, PostgresSQL, and Cassandra database administrators. You will find the best database administrator tutorial on this website. Especially we post oracle database administrator tutorials in Bangla as well as in English. This website will help one to learn about oracle database, oracle apps dba, MariaDB, Cassandra, and MySQL database. dbatutorial.comhttp://www.blogger.com/profile/13969648514293009119noreply@blogger.comBlogger56125tag:blogger.com,1999:blog-7125033335107872703.post-47934575357629996982024-01-29T17:26:00.010+06:002024-01-29T19:01:33.168+06:00SQL Server 2022 Always On Step by Step Tutorial<p>In this post, we will discribe how to configure Always On
for <b>MS SQL Server Enterprise 2022</b>
with a focus on a two-node cluster. First and foremost, we assume that the
server configuration and drive for both nodes are exactly the same, and MS SQL
Server 2022 has been installed on both nodes. Additionally, we need to ensure
that during the installation process, both the <b>Database Engine Services</b> and <b>SQL
Server Replication</b> are checked and installed without any errors.</p><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Let's describe the details step by step as follows:<o:p></o:p></p>
<p class="MsoNormal"><b>Step 1:</b> Change MS SQL Server service account to
Administrator following below steps<o:p></o:p></p><p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi-FYY6bEBzKuAubq_V91fB0uDeNugccBl7CH-eN6LhPE6FPM8PjfB4mPISTgeHLh6i2neq0-clKgColgLvlci-7INsprUDE4sqXVXXVE5NpFgIcO-OlxPoaf179mA0Qk4_q79e3GAAaRhZlnxpy4YOwEpp_nnrsN1otpAu-lH4gVQUpMHShx9JpI1lWhU" style="margin-left: 1em; margin-right: 1em;"><img data-original-height="497" data-original-width="978" height="326" src="https://blogger.googleusercontent.com/img/a/AVvXsEi-FYY6bEBzKuAubq_V91fB0uDeNugccBl7CH-eN6LhPE6FPM8PjfB4mPISTgeHLh6i2neq0-clKgColgLvlci-7INsprUDE4sqXVXXVE5NpFgIcO-OlxPoaf179mA0Qk4_q79e3GAAaRhZlnxpy4YOwEpp_nnrsN1otpAu-lH4gVQUpMHShx9JpI1lWhU=w640-h326" width="640" /></a></div><br /><span face=""Calibri","sans-serif"" style="font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: "Times New Roman"; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;"><b>Step
2: </b>Enabling Always On Availability groups for MS SQL Server </span><p></p><p class="MsoNormal"><span face=""Calibri","sans-serif"" style="font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: "Times New Roman"; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;"></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgjguWKOFnCpiSPYQsFqLGNyObPPq4lpct4GH6fhLiw7X1Y5V27IRGA2ZOxTl2yc2BcCb0nmLPOm_b_Mk2lFrD9vApOeOK5Gek8mhgZA15x-TZdV--S-ctZqx6NbHE1mjZs68KCBQ5g0i5_Zgnj0Z-LPdTgaf4rNEq8asvYBxEhPJY3pwFuM6Jc3T8R0vQ" style="margin-left: 1em; margin-right: 1em;"><img data-original-height="438" data-original-width="975" height="288" src="https://blogger.googleusercontent.com/img/a/AVvXsEgjguWKOFnCpiSPYQsFqLGNyObPPq4lpct4GH6fhLiw7X1Y5V27IRGA2ZOxTl2yc2BcCb0nmLPOm_b_Mk2lFrD9vApOeOK5Gek8mhgZA15x-TZdV--S-ctZqx6NbHE1mjZs68KCBQ5g0i5_Zgnj0Z-LPdTgaf4rNEq8asvYBxEhPJY3pwFuM6Jc3T8R0vQ=w640-h288" width="640" /></a></div><p class="MsoNormal"><b>Step 3: </b>After changing configuration restart the database.<o:p></o:p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgmNdLe8qIatHfZ_cWoN_BeIE2ORkXwTT42oB-IaKpgshSf0HVDLf3aU9SscMgWCq3iVlerY4VugpJ_Nx5-0FaA9lKIKHP4AbQFZvIbawoY-IYGUXaOLncRi9M8FCuG513XRD6R5FT63XjtMvizUB9-tWZHiBY7VqK66TsChe9fsKnvky8RU0sOva1EWhs" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="306" data-original-width="975" height="201" src="https://blogger.googleusercontent.com/img/a/AVvXsEgmNdLe8qIatHfZ_cWoN_BeIE2ORkXwTT42oB-IaKpgshSf0HVDLf3aU9SscMgWCq3iVlerY4VugpJ_Nx5-0FaA9lKIKHP4AbQFZvIbawoY-IYGUXaOLncRi9M8FCuG513XRD6R5FT63XjtMvizUB9-tWZHiBY7VqK66TsChe9fsKnvky8RU0sOva1EWhs" width="640" /></a></div><div><br /></div><p class="MsoNormal"><b>Note: Perform the above steps on both nodes of the cluster</b><o:p></o:p></p><p class="MsoNormal"><b>Step 4:</b> Now open SQL Server Management Studio and connect to
the SQL Server instance using user “sa” in primary node of the cluster.<o:p></o:p></p><p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg0P-reQC3ECiMSgF9Oe4B5lgAbuUjQxyPHUbFmboy-nQYndLVIOYrnyTX2J_PUxgLzBBNjqHjmqKAWaYF38fns14AVlbaAbHdDXC1bTzYWwrdmzkqM9Beb3MNdCXK0i3XZ3XYPVaGoslpH5r5UC6QhSy9FY0UVJzqm6Rtk2eIfgC7_tuJUF3rOxw_9dfI" style="margin-left: 1em; margin-right: 1em;"><img data-original-height="554" data-original-width="961" height="368" src="https://blogger.googleusercontent.com/img/a/AVvXsEg0P-reQC3ECiMSgF9Oe4B5lgAbuUjQxyPHUbFmboy-nQYndLVIOYrnyTX2J_PUxgLzBBNjqHjmqKAWaYF38fns14AVlbaAbHdDXC1bTzYWwrdmzkqM9Beb3MNdCXK0i3XZ3XYPVaGoslpH5r5UC6QhSy9FY0UVJzqm6Rtk2eIfgC7_tuJUF3rOxw_9dfI=w640-h368" width="640" /></a></div><br /><p></p><p class="MsoNormal"><b>Note:</b> We have to ensure the full backup of databases before
creating and configuring SQL Server Always On Availability Group.<o:p></o:p></p><p class="MsoNormal">
</p><p class="MsoNormal"><b>Step 5:</b> Expand the Always On High Availability folder and
right-click on the Availability Group folder and select <b>New Availability Group</b>
Wizard to create new availability group. In our case, we inserted the cluster
name “AG_DEMO”, cluster type none and click on Database level health detection
before process next button. <o:p></o:p></p><p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi3w8KbiHLzSPaO9SwsegE5CZbqirGnvlXbWRUjLU9OlQ9XW9kNomd-pfa__HabrxFHg8nurs7JkdnsiQ5J44p2NOVwuzOGQbb83iz7Ih-LuDuY7xcbha8pcIIwPu4w7YH6-VYp8Trc_nUItBO1Ts9YJDDlGcsDIoO9qo65iwpF_5E4StuO0-IiAAvumWs" style="margin-left: 1em; margin-right: 1em;"><img data-original-height="541" data-original-width="970" height="356" src="https://blogger.googleusercontent.com/img/a/AVvXsEi3w8KbiHLzSPaO9SwsegE5CZbqirGnvlXbWRUjLU9OlQ9XW9kNomd-pfa__HabrxFHg8nurs7JkdnsiQ5J44p2NOVwuzOGQbb83iz7Ih-LuDuY7xcbha8pcIIwPu4w7YH6-VYp8Trc_nUItBO1Ts9YJDDlGcsDIoO9qo65iwpF_5E4StuO0-IiAAvumWs=w640-h356" width="640" /></a></div><br /><p></p><p class="MsoNormal"><b>Step 6:</b> Now check the box of databases you want to include
in your Always On Availability group. All of the databases in your instance
will show up in this list. Selected database will be included in the Always On Availability
group.<o:p></o:p></p><p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgapF-4b-P4GpqspsQrFI4aCdLrR1AIrs45m7YIxqTDxesCecSCW5d2HCYogonAr94ze60loRNlkbTVaUkdkTPpjy0wI7wtPW2L9lwpJQ_pYai5thk45OtfBMVMLY4Wb9Uz_HDEUC0OAHZuxLMDvzwBo2l8W4EHJ9oXML24v6YGH0rs6k_IP-yJiBbc-dE" style="margin-left: 1em; margin-right: 1em;"><img data-original-height="682" data-original-width="975" height="448" src="https://blogger.googleusercontent.com/img/a/AVvXsEgapF-4b-P4GpqspsQrFI4aCdLrR1AIrs45m7YIxqTDxesCecSCW5d2HCYogonAr94ze60loRNlkbTVaUkdkTPpjy0wI7wtPW2L9lwpJQ_pYai5thk45OtfBMVMLY4Wb9Uz_HDEUC0OAHZuxLMDvzwBo2l8W4EHJ9oXML24v6YGH0rs6k_IP-yJiBbc-dE=w640-h448" width="640" /></a></div><br /><div><p class="MsoNormal"><b>Step 7: </b>The primary replica is primary source server or
production server. A secondary replica is a server which contain replicated
data of the primary database. In our case, MSSQL01 is our primary replica and
MSSQL02 is a secondary replica. So, we will add MSSQL02 as a secondary replica
as shown in the following fig. We can use Availability Mode as Synchronous and
Asynchronous in our configuration we used Asynchronous commit. <o:p></o:p></p><p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgSPRqNxGjDXxJpEFpwjthIYrG51jieRqBx-RTP4svRltVMdkbWPce3AE4OhupvW1SZ6r6NTUlotMdvkHrcueiIfUsWio7i1qUsblC_DeSJCJJsoT_skpcU3OhW-mF03FYmEczXDllr6HsFLQT3cVumqgu8CFjLMJjBnyYFjQjIgtQWALnYBxooNNKHj_k" style="margin-left: 1em; margin-right: 1em;"><img data-original-height="835" data-original-width="977" height="547" src="https://blogger.googleusercontent.com/img/a/AVvXsEgSPRqNxGjDXxJpEFpwjthIYrG51jieRqBx-RTP4svRltVMdkbWPce3AE4OhupvW1SZ6r6NTUlotMdvkHrcueiIfUsWio7i1qUsblC_DeSJCJJsoT_skpcU3OhW-mF03FYmEczXDllr6HsFLQT3cVumqgu8CFjLMJjBnyYFjQjIgtQWALnYBxooNNKHj_k=w640-h547" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjih8aeRiROK_Wa7Paz2xiDNKxt9v1QmgH8C6O1CxN3ZAD60_mznxyxhKExUe0OOr_7SJtX_C_l4VCH3-cnDrwew0AsT5xozWQvm94YNtyZQaFr5HQvdxh_egZQDPtcG0K046zyX4rf7wt5_qQytgGGTb7RwEQOGGZrHkLzf0RniBupreFAA9extfPPJ1Y" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img data-original-height="689" data-original-width="975" height="452" src="https://blogger.googleusercontent.com/img/a/AVvXsEjih8aeRiROK_Wa7Paz2xiDNKxt9v1QmgH8C6O1CxN3ZAD60_mznxyxhKExUe0OOr_7SJtX_C_l4VCH3-cnDrwew0AsT5xozWQvm94YNtyZQaFr5HQvdxh_egZQDPtcG0K046zyX4rf7wt5_qQytgGGTb7RwEQOGGZrHkLzf0RniBupreFAA9extfPPJ1Y=w640-h452" width="640" /></a><br /><br /><p></p><p class="MsoNormal"></p><p class="MsoNormal"><b>Step 8:</b> There are several features we used <b>automatic seeding</b>
feature for our cluster configuration. Automatic seeding uses the log stream
transport to stream the backup using VDI to the secondary replica for each
database of the availability group using the configured endpoints. SQL Server
2016 introduces a new feature to initialize a secondary replica automatic
seeding.<o:p></o:p></p><p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEikR-lHWhElCY4keSZ7GAftxrUF9824L6HQ-gYwpS6_RqsIlESZyfNW7AIqNYnh05aF3C349_syVucxXK3U4bD64XZMfUJbfdAo0D1jQdTC8wDET44-pVC5UGPz3DbKJnxOYkkb339IOssSjt-Z606nUx-yfDit9SiztfYf34vgcMZwV8ko53g7o08k2Zo" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="857" data-original-width="975" height="480" src="https://blogger.googleusercontent.com/img/a/AVvXsEikR-lHWhElCY4keSZ7GAftxrUF9824L6HQ-gYwpS6_RqsIlESZyfNW7AIqNYnh05aF3C349_syVucxXK3U4bD64XZMfUJbfdAo0D1jQdTC8wDET44-pVC5UGPz3DbKJnxOYkkb339IOssSjt-Z606nUx-yfDit9SiztfYf34vgcMZwV8ko53g7o08k2Zo" width="546" /></a></div><br /><p></p><p class="MsoNormal"></p><p class="MsoNormal"><b>Step 9: </b>This is the Validation windows and make sure all
checks return successful result. We ignore the listener configuration warning
because you can configure listener setting after cluster create.<o:p></o:p></p><p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhlUcBNOSla0CaTxN2FMlAm2ZQJP9GbjeQiB2jCvSoA-plp1ExA9GdbczRshRM8JMKpsewBAm_t6x51w8jDFJciTBBE5CeJTJeNC5QsjLmO9oVnruXVtRcqFb_FgRawFqCmZptUQhTMfr44pERkODXOC6Lt0wVBM4gRX7sJ2GuI3OAlYvvmFWAgb0CuWTU" style="margin-left: 1em; margin-right: 1em;"><img data-original-height="802" data-original-width="975" height="526" src="https://blogger.googleusercontent.com/img/a/AVvXsEhlUcBNOSla0CaTxN2FMlAm2ZQJP9GbjeQiB2jCvSoA-plp1ExA9GdbczRshRM8JMKpsewBAm_t6x51w8jDFJciTBBE5CeJTJeNC5QsjLmO9oVnruXVtRcqFb_FgRawFqCmZptUQhTMfr44pERkODXOC6Lt0wVBM4gRX7sJ2GuI3OAlYvvmFWAgb0CuWTU=w640-h526" width="640" /></a></div><br /><p class="MsoNormal"><b>Step 10:</b> Before clicking "Finish" to create the
Always On Availability Group, double-check that the configuration settings are
correct.<o:p></o:p></p><p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjjjA5Z3EACgtwbfce1FHU0iSSTj7V5py5WCBugof6X33B3qtbadby9UTxdb-HPMENsRUKOWOqc61YFlc0sDuOVjKBkeVQbY61bfq8ZadINyyc3qDGO8o0Qba3vSl43SlCnzr2BZq6pus54N23ULbqumTKUTZw9kyxz9mHmDkPC7WBMISl24alQfsqmflU" style="margin-left: 1em; margin-right: 1em;"><img data-original-height="800" data-original-width="974" height="526" src="https://blogger.googleusercontent.com/img/a/AVvXsEjjjA5Z3EACgtwbfce1FHU0iSSTj7V5py5WCBugof6X33B3qtbadby9UTxdb-HPMENsRUKOWOqc61YFlc0sDuOVjKBkeVQbY61bfq8ZadINyyc3qDGO8o0Qba3vSl43SlCnzr2BZq6pus54N23ULbqumTKUTZw9kyxz9mHmDkPC7WBMISl24alQfsqmflU=w640-h526" width="640" /></a></div><br /><span face=""Calibri","sans-serif"" style="font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: "Times New Roman"; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Step
11: Click "Close" after the wizard completes the creation of the
Always On Availability Group.</span><p></p><p class="MsoNormal"><span face=""Calibri","sans-serif"" style="font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: "Times New Roman"; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;"></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjeqrCaezu9htBAj4dUDGiZjd6T0Rxc_uqhiQiMKATk-epU0d2_YHagac5IPesi0nklABmw9zi8wiDHBNiWcS3aTfPfUYjKLK4twp5G44vVfdc3owevfX-_8_Ed0yMD-zL-Yr8pWWTo8uE4Vyav9HWseMW-b_k3hzinN0w_qNbEGJ5x3ZeKYnyHBcvt-m0" style="margin-left: 1em; margin-right: 1em;"><img data-original-height="806" data-original-width="974" height="530" src="https://blogger.googleusercontent.com/img/a/AVvXsEjeqrCaezu9htBAj4dUDGiZjd6T0Rxc_uqhiQiMKATk-epU0d2_YHagac5IPesi0nklABmw9zi8wiDHBNiWcS3aTfPfUYjKLK4twp5G44vVfdc3owevfX-_8_Ed0yMD-zL-Yr8pWWTo8uE4Vyav9HWseMW-b_k3hzinN0w_qNbEGJ5x3ZeKYnyHBcvt-m0=w640-h530" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><p class="MsoNormal">Go into SQL Management studio and look over configuration:<o:p></o:p></p><p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg95yMu44MAMVpT6Cv2L7e_WGQXt-jUacm4iRfu31KUkIPP6N28WNaFHjvqW-2a23xmQlUyWj5yDmR6Qj3P5pZE3zodUfAXq7rISL9hX8hlhthbTUiyZzSkpmThYWkrc20439JwdNS3bpEBD9fCKkrFnnOUjFz7kShOUgCXqItvphQxuPJh9FkBwlyOUdQ" style="margin-left: 1em; margin-right: 1em;"><img data-original-height="708" data-original-width="626" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEg95yMu44MAMVpT6Cv2L7e_WGQXt-jUacm4iRfu31KUkIPP6N28WNaFHjvqW-2a23xmQlUyWj5yDmR6Qj3P5pZE3zodUfAXq7rISL9hX8hlhthbTUiyZzSkpmThYWkrc20439JwdNS3bpEBD9fCKkrFnnOUjFz7kShOUgCXqItvphQxuPJh9FkBwlyOUdQ=w565-h640" width="565" /></a></div><br /><p></p><br /><p></p><p></p><p></p><p></p></div>dbatutorial.comhttp://www.blogger.com/profile/13969648514293009119noreply@blogger.com0tag:blogger.com,1999:blog-7125033335107872703.post-80391899963151176152024-01-16T15:35:00.034+06:002024-01-17T15:45:02.052+06:00SQL Server Architecture: An In-Depth Analysis<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisoHtH0HK5rEp81kuYgUwSf1xcSLw6GygNObuVUg0cwyChqOJyoulXQUicNlBxSYBbMU3RUQw0NEgzqMeh5JBuNZ9Mgdmb1fM99WRh-4fr58gJhW7iVXR9QxEo7u6PVthOb11TyVLBd-M_IFBtZXXk7PpP-QAh00SrFUN5xBjO8FNKpxcSR2VuGeT8ShM/s1606/MS%20SQL%20Sever%20Architecture.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="MS SQL Server Architecture" border="0" data-original-height="1005" data-original-width="1606" height="386" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisoHtH0HK5rEp81kuYgUwSf1xcSLw6GygNObuVUg0cwyChqOJyoulXQUicNlBxSYBbMU3RUQw0NEgzqMeh5JBuNZ9Mgdmb1fM99WRh-4fr58gJhW7iVXR9QxEo7u6PVthOb11TyVLBd-M_IFBtZXXk7PpP-QAh00SrFUN5xBjO8FNKpxcSR2VuGeT8ShM/w640-h386/MS%20SQL%20Sever%20Architecture.jpeg" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><p></p><p><span style="font-family: inherit; text-align: justify;">Microsoft SQL Server follows a client-server database architecture,
where the SQL Server process initiates when a client sends a request to the
server. The SQL Server then processes the request and, finally, responds to the
client with the results of the processed data or any relevant information.</span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 19.5pt; text-align: justify;"><span style="color: black; font-family: inherit; mso-themecolor: text1;"><span style="font-family: inherit;">There are three main components of MS SQL Server, and let's explain the
each component in detail.</span><o:p></o:p></span></p><p class="MsoNormal" style="line-height: normal; margin-bottom: 19.5pt; text-align: justify;"><span style="color: black; font-family: inherit; mso-themecolor: text1;"><b>1. </b></span><b style="text-indent: -24px;">SQL Server Network Interface (Protocol Layer)</b></p><p class="MsoNormal" style="line-height: normal; margin-bottom: 19.5pt; text-align: justify;"><b style="text-indent: -24px;">2. </b><b style="text-indent: -24px;">Relational Engine</b></p><p class="MsoNormal" style="line-height: normal; margin-bottom: 19.5pt; text-align: justify;"><b style="text-indent: -24px;">3. </b><b style="text-indent: -24px;">Storage Engine</b></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 7.5pt; margin-left: 15.75pt; mso-list: l8 level1 lfo1; mso-margin-top-alt: auto; tab-stops: list 117.0pt; text-align: justify; text-indent: -0.25in;"><b><span style="font-family: inherit;"><span> </span></span></b><b style="mso-bidi-font-weight: normal; text-align: left;"><span style="color: black; font-family: inherit; font-size: 14pt; line-height: 107%; mso-themecolor: text1;">1. SQL Server Network Interface (SNI) Layer</span></b></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 19.5pt; text-align: justify;"><span style="color: black; font-family: inherit; mso-fareast-font-family: "Times New Roman"; mso-themecolor: text1;">It is referred to as the
SQL Server Network Interface, and it contains SQL Server protocols. The
following are the primary protocols associated with SQL Server:<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 7.5pt; margin-left: 0.25in; mso-list: l11 level1 lfo2; mso-margin-top-alt: auto; text-align: justify; text-indent: -0.25in;"><span style="font-family: inherit;"><!--[if !supportLists]--><span face=""Tahoma","sans-serif"" style="color: black; mso-fareast-font-family: Tahoma; mso-themecolor: text1;"><span style="mso-list: Ignore;">a.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;">
</span></span></span><!--[endif]--><span face=""Tahoma","sans-serif"" style="color: black; mso-fareast-font-family: "Times New Roman"; mso-themecolor: text1;">Shared
memory<o:p></o:p></span></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 7.5pt; margin-left: 0.25in; mso-list: l11 level1 lfo2; mso-margin-top-alt: auto; text-align: justify; text-indent: -0.25in;"><span style="font-family: inherit;"><!--[if !supportLists]--><span face=""Tahoma","sans-serif"" style="color: black; mso-fareast-font-family: Tahoma; mso-themecolor: text1;"><span style="mso-list: Ignore;">b.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;">
</span></span></span><!--[endif]--><span face=""Tahoma","sans-serif"" style="color: black; mso-fareast-font-family: "Times New Roman"; mso-themecolor: text1;">Named
pipes<o:p></o:p></span></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 7.5pt; margin-left: 0.25in; mso-list: l11 level1 lfo2; mso-margin-top-alt: auto; text-align: justify; text-indent: -0.25in;"><span style="font-family: inherit;"><!--[if !supportLists]--><span face=""Tahoma","sans-serif"" style="color: black; mso-fareast-font-family: Tahoma; mso-themecolor: text1;"><span style="mso-list: Ignore;">c.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;">
</span></span></span><!--[endif]--><span face=""Tahoma","sans-serif"" style="color: black; mso-fareast-font-family: "Times New Roman"; mso-themecolor: text1;">TCP/IP<o:p></o:p></span></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; margin-left: 0.25in; mso-list: l11 level1 lfo2; mso-margin-top-alt: auto; text-align: justify; text-indent: -0.25in;"><span style="font-family: inherit;"><!--[if !supportLists]--><span face=""Tahoma","sans-serif"" style="color: black; mso-fareast-font-family: Tahoma; mso-themecolor: text1;"><span style="mso-list: Ignore;">d.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;">
</span></span></span><!--[endif]--><span face=""Tahoma","sans-serif"" style="color: black; mso-fareast-font-family: "Times New Roman"; mso-themecolor: text1;">TDS
(Tabular Data Stream)<o:p></o:p></span></span></p>
<p class="MsoNormal"><span face=""Tahoma","sans-serif"" style="color: black; font-family: inherit; mso-fareast-font-family: Tahoma; mso-themecolor: text1; text-indent: -0.25in;"><span style="mso-list: Ignore;">a.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;"> </span></span></span><!--[endif]--><span face=""Tahoma","sans-serif"" style="color: black; font-family: inherit; mso-fareast-font-family: "Times New Roman"; mso-themecolor: text1; text-indent: -0.25in;">Shared Memory</span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; text-align: justify;"><span style="color: black; font-family: inherit; mso-fareast-font-family: "Times New Roman"; mso-themecolor: text1;">Shared
memory is the simplest protocol and is used by default for local connections
when the client application and the SQL Server are located on the same machine.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;"><span face=""Tahoma","sans-serif"" style="color: black; font-family: inherit; mso-fareast-font-family: Tahoma; mso-themecolor: text1; text-indent: -0.25in;"><span style="mso-list: Ignore;">b.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;"> </span></span></span><!--[endif]--><span face=""Tahoma","sans-serif"" style="color: black; font-family: inherit; mso-fareast-font-family: "Times New Roman"; mso-themecolor: text1; text-indent: -0.25in;">Named Pipes</span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; text-align: justify;"><span style="color: black; font-family: inherit; mso-fareast-font-family: "Times New Roman"; mso-themecolor: text1;">Named
pipes is a protocol that can be used if the client application and the SQL
Server are connected via a local area network (LAN). By default, this protocol
is disabled and default port is 445 for named pipes.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;"><span style="color: black; font-family: inherit; font-size: 11.5pt; mso-fareast-font-family: "Times New Roman"; mso-themecolor: text1;"><o:p> </o:p></span><span face=""Tahoma","sans-serif"" style="color: black; font-family: inherit; mso-fareast-font-family: Tahoma; mso-themecolor: text1; text-indent: -0.25in;"><span style="mso-list: Ignore;">c.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;"> </span></span></span><!--[endif]--><span face=""Tahoma","sans-serif"" style="color: black; font-family: inherit; mso-fareast-font-family: "Times New Roman"; mso-themecolor: text1; text-indent: -0.25in;">TCP/IP</span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; text-align: justify;"><span style="color: black; font-family: inherit; mso-fareast-font-family: "Times New Roman"; mso-themecolor: text1;">TCP/IP
is the primary protocol used to connect to SQL Server from a remote machine
using an IP address and a port number. The default TCP port for SQL Server is
1433. This protocol is required when the client application and the SQL Server
are on separate machines.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;"><span style="font-family: inherit;"><span face=""Tahoma","sans-serif"" style="color: black; font-size: 11.5pt; mso-fareast-font-family: "Times New Roman"; mso-themecolor: text1;"><o:p> </o:p></span></span><span face=""Tahoma","sans-serif"" style="color: black; font-family: inherit; mso-fareast-font-family: Tahoma; mso-themecolor: text1; text-indent: -0.25in;"><span style="mso-list: Ignore;">d.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;"> </span></span></span><!--[endif]--><span face=""Tahoma","sans-serif"" style="color: black; font-family: inherit; mso-fareast-font-family: "Times New Roman"; mso-themecolor: text1; text-indent: -0.25in;">TDS (Tabular Data Stream)</span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; text-align: justify;"><span style="color: black; font-family: inherit; mso-fareast-font-family: "Times New Roman"; mso-themecolor: text1;">TDS,
or Tabular Data Stream, is a crucial component in the communication process
between client and server in SQL Server environments. All three
protocols—Shared Memory, Named Pipes, and TCP/IP—utilize TDS packets, which are
encapsulated within network packets. This encapsulation facilitates the
seamless transfer of data from the client machine to the server machine. <o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;"><span style="color: black; font-family: inherit; font-size: 11.5pt; mso-fareast-font-family: "Times New Roman"; mso-themecolor: text1;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="color: black; font-family: inherit; font-size: 14pt; line-height: 107%; mso-themecolor: text1;">2. Relational Engine <o:p></o:p></span></b></p>
<p class="MsoNormal" style="text-align: justify;"><span style="color: black; font-family: inherit; mso-themecolor: text1;">The Relational Engine, also referred to as
the Query Processor, is responsible for handling the execution of queries as
they are received from client applications.<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: justify;"><span style="color: black; font-family: inherit; mso-themecolor: text1;">There are three major components of the
relational engine.<o:p></o:p></span></p><span style="font-family: inherit;">
a. CMD Parser (Query Parser) <br /><br />b. Optimizer <br /><br />c. Query Executor
</span><p class="MsoNormal"><span style="color: black; font-family: inherit; mso-themecolor: text1;"><o:p> </o:p></span><b style="font-family: inherit; mso-bidi-font-weight: normal; text-indent: -0.25in;"><span face=""Tahoma","sans-serif"" style="color: black; font-size: 12pt; line-height: 107%; mso-fareast-font-family: Tahoma; mso-themecolor: text1;"><span style="mso-list: Ignore;">a.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;"> </span></span></span></b><!--[endif]--><b style="font-family: inherit; mso-bidi-font-weight: normal; text-indent: -0.25in;"><span face=""Tahoma","sans-serif"" style="color: black; font-size: 12pt; line-height: 107%; mso-themecolor: text1;">CMD
Parser (Query Parser)</span></b></p>
<p style="margin-bottom: 19.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; margin: 0in 0in 19.5pt; text-align: justify;"><span style="color: black; font-family: inherit; mso-themecolor: text1;">The CMD Parser is the first component of Relational
Engine which known as Query Parser. It receives the query data that sent from the protocol layer. The main task
of CMD Parser is to check syntactic and semantic errors and finally generate a
query tree.<o:p></o:p></span></p>
<p style="margin-bottom: 19.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; margin: 0in 0in 19.5pt; text-align: justify;"><span style="font-family: inherit;"><b style="mso-bidi-font-weight: normal;"><span face=""Tahoma","sans-serif"" style="color: black; mso-themecolor: text1;">Syntactic Error:</span></b><span face=""Tahoma","sans-serif"" style="color: black; mso-themecolor: text1;"> Each
database has its own set of keywords and grammar rules. When a query is
received by the CMD parser, it first checks the keywords and grammar rules. If
the received query doesn't follow to the language syntax or grammar rules, it
returns an error.<o:p></o:p></span></span></p>
<p style="margin-bottom: 19.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; margin: 0in 0in 19.5pt; text-align: justify;"><span style="font-family: inherit;"><b style="mso-bidi-font-weight: normal;"><span face=""Tahoma","sans-serif"" style="color: black; font-family: inherit; mso-themecolor: text1;">Semantic Errors:</span></b><span face=""Tahoma","sans-serif"" style="color: black; mso-themecolor: text1;"><span style="font-family: inherit;"> The
semantic check analyzes whether the queried table and column exist in the
database schema. If they exist, the process of binding associates them with the
query. This association is known as binding. The CMS Parser throws an error
message if the queried table and column do not exist.</span><o:p style="font-size: 11pt;"></o:p></span></span></p>
<p class="MsoListParagraph" style="margin-left: 0.25in; mso-add-space: auto; mso-list: l5 level1 lfo15; text-indent: -0.25in;"><span style="font-family: inherit;"><!--[if !supportLists]--><b style="mso-bidi-font-weight: normal;"><span face=""Tahoma","sans-serif"" style="color: black; font-size: 12pt; line-height: 107%; mso-fareast-font-family: Tahoma; mso-themecolor: text1;"><span style="mso-list: Ignore;">b.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;"> </span></span></span></b><!--[endif]--><b style="mso-bidi-font-weight: normal;"><span face=""Tahoma","sans-serif"" style="color: black; font-size: 12pt; line-height: 107%; mso-themecolor: text1;">Optimizer<o:p></o:p></span></b></span></p>
<p class="MsoNormal" style="text-align: justify;"><span style="font-family: inherit;"><span face=""Tahoma","sans-serif"" style="color: black; font-family: inherit; mso-themecolor: text1;">The work of the optimizer is to create an
execution plan for the user’s query. This is the plan that will determine how
the user query will be executed. Not all query need to optimize only DML
commands such as SELECT, INSERT, UPDATE, and DELETE that are marked and sent to
the Optimizer. The calculation of their cost is based on CPU and memory usage,
as well as input/output needs.</span><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: justify;"><span style="color: black; font-family: inherit; mso-themecolor: text1;"><o:p> </o:p></span><span style="font-family: inherit;">The Optimizer follow three phases. Details
are given below:</span></p><p class="MsoNormal" style="text-align: justify;"><b style="text-align: left;"><span style="font-family: inherit;">Phase 0: Trivial Plan</span></b></p><p class="MsoNormal"><span style="font-family: inherit;">Initially, the Optimizer checks
for a straightforward plan. If there is none available, it moves on to the
first phase.<o:p></o:p></span></p><p class="MsoNormal"><b><span style="font-family: inherit;">Phase 1: Transaction Processing Plan<o:p></o:p></span></b></p><p class="MsoNormal"><span style="font-family: inherit;"><span style="font-family: inherit;">In this step, the goal is to find
the best transaction processing plan. Initially, a straightforward plan with
one index per table is considered. If such a plan isn't sufficient, the
Optimizer looks for a more complex plan involving multiple indexes per table.</span><o:p></o:p></span></p><p class="MsoNormal"><b><span style="font-family: inherit;">Phase 2: Parallel Processing & Optimization<o:p></o:p></span></b></p><p class="MsoNormal">
</p><p class="MsoNormal"><span style="font-family: inherit;">If the Optimizer can't speed up
the query using the mentioned methods, it turns to parallel processing,
considering the capabilities and setup of the user's machine. If that's not
feasible, the final optimization kicks in, aiming to explore any other
potential options to execute the query in the most cost-effective way.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: black; font-family: inherit; mso-themecolor: text1;"><o:p> </o:p></span><b style="font-family: inherit; mso-bidi-font-weight: normal; text-indent: -0.25in;"><span face=""Tahoma","sans-serif"" style="color: black; font-size: 12pt; line-height: 107%; mso-fareast-font-family: Tahoma; mso-themecolor: text1;"><span style="mso-list: Ignore;">c.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;"> </span></span></span></b><!--[endif]--><b style="font-family: inherit; mso-bidi-font-weight: normal; text-indent: -0.25in;"><span face=""Tahoma","sans-serif"" style="color: black; font-size: 12pt; line-height: 107%; mso-themecolor: text1;">Query
Executor</span></b></p>
<p class="MsoNormal"><span style="color: black; font-family: inherit; mso-themecolor: text1;">Finally, the Query Executor calls the access method,
initiating the retrieval of necessary data from the storage engine. Once this
data is obtained, it is sent back to the protocol layer. Ultimately, the data
is transmitted to the end user.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 0.25in;"><br /></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span style="color: black; font-family: inherit; font-size: 14pt; line-height: 107%; mso-themecolor: text1;">3. Storage Engine <o:p></o:p></span></b></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 19.5pt; text-align: justify;"><span style="color: black; font-family: inherit; mso-themecolor: text1;">The Storage Engine's primary task is to manage the storage and retrieval
of data from storage systems such as disks or SANs. It includes a buffer
manager and a transaction manager, both of which collaborate to interact with
data and log files based on the requirements of the query.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 19.5pt;"><b style="mso-bidi-font-weight: normal;"><span style="color: black; font-family: inherit; font-size: 12pt; mso-themecolor: text1;">Data File Types<o:p></o:p></span></b></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 19.5pt; text-align: justify;"><span style="color: black; font-family: inherit; mso-themecolor: text1;">SQL Server stores its data, including user and system tables, indexes, and
SQL code such as stored procedures, views, and functions, in various types of
data files. These data files physically store data in pages, and each page has
a size of 8KB, which is the smallest data storage unit in SQL Server. <o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 19.5pt; text-align: justify;"><span style="color: black; font-family: inherit; mso-themecolor: text1;">There are three data files.<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpFirst" style="line-height: normal; margin-bottom: 19.5pt; margin-left: .25in; margin-right: 0in; margin-top: 0in; margin: 0in 0in 19.5pt 0.25in; mso-add-space: auto; mso-list: l3 level1 lfo4; text-align: justify; text-indent: -0.25in;"><b><span style="font-family: inherit;"><!--[if !supportLists]--><span face=""Tahoma","sans-serif"" style="color: black; mso-fareast-font-family: Tahoma; mso-themecolor: text1;"><span style="mso-list: Ignore;">a.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: normal;"> </span></span></span><!--[endif]--><span face=""Tahoma","sans-serif"" style="color: black; mso-themecolor: text1;">Primary
file</span></span></b></p><p style="line-height: normal; margin: 0in 0in 19.5pt 0.25in; text-align: left;"><span style="font-family: inherit;"><span style="font-family: inherit;">i. Every database contains one Primary file.<br /></span></span><span style="font-family: inherit;"><span style="font-family: inherit;">ii. This store all important data related to tables, views, Triggers, etc.<br /></span></span><span style="font-family: inherit;"><span style="font-family: inherit;">iii. Extension is .mdf usually but can be of any extension. </span><span style="text-align: left; text-indent: -0.25in;"><span style="font-family: inherit;"> </span> </span></span></p><span style="font-family: inherit;"><!--[if !supportLists]--></span><p></p>
<p class="MsoListParagraphCxSpMiddle" style="line-height: normal; margin-bottom: 19.5pt; mso-add-space: auto; mso-list: l7 level1 lfo5; text-align: justify; text-indent: -0.25in;"><span style="font-family: inherit;"><!--[if !supportLists]--><span style="color: black; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-themecolor: text1;"><span style="mso-list: Ignore;">Ø<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: normal;"> <span> <b> </b></span></span></span></span><b><span face=""Tahoma","sans-serif"" style="color: black; mso-fareast-font-family: Tahoma; mso-themecolor: text1; text-indent: -0.25in;"><span style="mso-list: Ignore;">b.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;"> </span></span></span><!--[endif]--><span face=""Tahoma","sans-serif"" style="color: black; mso-themecolor: text1; text-indent: -0.25in;">Secondary
file</span></b></span></p><p class="MsoListParagraphCxSpMiddle" style="line-height: normal; margin-bottom: 19.5pt; mso-add-space: auto; mso-list: l7 level1 lfo5; text-align: justify; text-indent: -0.25in;"></p><div><span style="font-family: inherit;"><span> </span>i. Database may or may not contains multiple Secondary files.<br /><span> </span>ii. This is optional and contain user-specific data.<br /><span> </span>iii. Extension is .ndf usually but can be of any extension.<br />
</span><p class="MsoListParagraphCxSpMiddle" style="line-height: normal; margin-bottom: 19.5pt; margin-left: .25in; margin-right: 0in; margin-top: 0in; margin: 0in 0in 19.5pt 0.25in; mso-add-space: auto; mso-list: l3 level1 lfo4; text-align: justify; text-indent: -0.25in;"><b><span style="font-family: inherit;"><!--[if !supportLists]--><span face=""Tahoma","sans-serif"" style="color: black; mso-fareast-font-family: Tahoma; mso-themecolor: text1;"><span style="mso-list: Ignore;">c.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: normal;"> </span></span></span><!--[endif]--><span face=""Tahoma","sans-serif"" style="color: black; mso-themecolor: text1;">Log
file</span></span></b></p><p class="MsoListParagraphCxSpMiddle" style="line-height: normal; margin-bottom: 19.5pt; margin-left: .25in; margin-right: 0in; margin-top: 0in; margin: 0in 0in 19.5pt 0.25in; mso-add-space: auto; mso-list: l3 level1 lfo4; text-align: justify; text-indent: -0.25in;"></p><span style="font-family: inherit;"><span> </span>i. Extension is .ldf<br /><span> </span>ii. Used for Transaction Management. </span></div><div><span style="font-family: inherit;"><span> </span>iii. This is used to recover from any unwanted instances. Perform important task of Rollback to uncommitted transactions.<span> </span><span> </span><span> </span><br /></span><p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 19.5pt;"><b style="mso-bidi-font-weight: normal;"><span style="color: black; font-family: inherit; font-size: 12pt; mso-themecolor: text1;">Access Method<o:p></o:p></span></b></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 19.5pt; text-align: justify;"><span style="color: black; font-family: inherit; mso-themecolor: text1;">It acts as an interface between the query executor and the Buffer
Manager/Transaction Logs, determining whether the query is a SELECT or a
non-SELECT statement.<o:p></o:p></span></p><span style="font-family: inherit;">
a. If the query is SELECT statement, the query is pass to the Buffer Manager for further processing.</span></div><div><span style="font-family: inherit;"> <br />b. And if query if NON-SELECT statement, the query is pass to Transaction Manager. This mostly includes the UPDATE statement.</span></div><div><p class="MsoNormal" style="line-height: 150%; margin-bottom: 0in; text-align: justify;"><span style="color: black; font-family: inherit; mso-themecolor: text1;"><b>Buffer Manager</b><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; margin-bottom: 0in; text-align: justify;"><span style="color: black; font-family: inherit; mso-themecolor: text1;">The core functions of buffer manager are given
below: <o:p></o:p></span></p>
<p class="MsoListParagraphCxSpFirst" style="line-height: 115%; margin-bottom: 0in; mso-add-space: auto; mso-list: l14 level1 lfo9;"><span style="font-family: inherit;"><!--[if !supportLists]--><span face=""Tahoma","sans-serif"" style="color: black; mso-fareast-font-family: Tahoma; mso-themecolor: text1;"><span style="mso-list: Ignore;">a.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;"> </span></span></span>Plan Cache <br /><br />b. Data Parsing: Buffer cache & Data storage <br /><br />c. Dirty Page</span></p>
<p class="MsoNormal" style="line-height: 115%; margin-bottom: 0in; text-align: justify;"><span style="color: black; font-family: inherit; mso-themecolor: text1;"><o:p> </o:p></span></p>
<p class="MsoListParagraphCxSpFirst" style="line-height: 115%; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; margin: 0in 0in 0in 0.25in; mso-add-space: auto; mso-list: l13 level1 lfo10; text-align: justify; text-indent: -0.25in;"><span style="font-family: inherit;"><b><!--[if !supportLists]--><span face=""Tahoma","sans-serif"" style="color: black; mso-fareast-font-family: Tahoma; mso-themecolor: text1;"><span style="mso-list: Ignore;">a.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: normal;"> </span></span></span><!--[endif]--></b><span face=""Tahoma","sans-serif"" style="color: black; mso-themecolor: text1;"><b>Plan
Cache</b><o:p></o:p></span></span></p>
<p class="MsoListParagraphCxSpMiddle" style="line-height: 115%; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; margin: 0in 0in 0in 0.25in; mso-add-space: auto; text-align: justify;"><span style="color: black; font-family: inherit; mso-themecolor: text1;"><o:p> </o:p></span></p><p class="MsoListParagraphCxSpMiddle" style="line-height: 115%; margin-bottom: .0001pt; margin: 0in; mso-add-space: auto; text-align: justify;"><span style="color: black; mso-themecolor: text1;"><span style="font-family: inherit; line-height: 107%;">The Manager first checks if there is an existing execution plan in the
Plan Cache. If it finds one, it uses that plan along with its related data.
However, for the first-time execution of a complex query, it's efficient to
store the plan in the Plan Cache. This way, the SQL server can quickly access
it the next time the same query comes in, ensuring faster availability.</span></span></p>
<p class="MsoListParagraphCxSpMiddle" style="line-height: 115%; margin-bottom: .0001pt; margin: 0in; mso-add-space: auto; text-align: justify;"><span style="color: black; font-family: inherit; mso-themecolor: text1;"><o:p> </o:p></span></p>
<p class="MsoListParagraphCxSpMiddle" style="line-height: 115%; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; margin: 0in 0in 0in 0.25in; mso-add-space: auto; mso-list: l13 level1 lfo10; text-align: justify; text-indent: -0.25in;"><span style="font-family: inherit;"><b><!--[if !supportLists]--><span face=""Tahoma","sans-serif"" style="color: black; mso-fareast-font-family: Tahoma; mso-themecolor: text1;"><span style="mso-list: Ignore;">b.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: normal;"> </span></span></span><!--[endif]--></b><span face=""Tahoma","sans-serif"" style="color: black; mso-themecolor: text1;"><b>Data
Parsing: Buffer cache & Data storage</b><o:p></o:p></span></span></p>
<p class="MsoListParagraphCxSpMiddle" style="line-height: 115%; margin-bottom: .0001pt; margin: 0in; mso-add-space: auto; text-align: justify;"><br /></p><p class="MsoListParagraphCxSpMiddle" style="line-height: 115%; margin-bottom: .0001pt; margin: 0in; mso-add-space: auto; text-align: justify;"><span style="color: black; font-family: inherit; mso-themecolor: text1;"><span style="line-height: 107%;">The Buffer Manager allows access to the needed data. If there is already
an execution plan in the Plan Cache, it is a </span><b style="mso-bidi-font-weight: normal;">soft parsing</b> scenario. The data is available in the Data Cache and
utilized by the Query Executor. This approach offers improved performance due
to fewer I/O operations. However, in the absence of an execution plan in the
Plan Cache, we encounter <b style="mso-bidi-font-weight: normal;">hard parsing</b>. In this case, data has to be fetched from the storage.</span></p>
<p class="MsoListParagraphCxSpMiddle" style="line-height: 115%; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; margin: 0in 0in 0in 0.25in; mso-add-space: auto; text-align: justify;"><span style="color: black; font-family: inherit; mso-themecolor: text1;"><o:p> </o:p></span></p>
<p class="MsoListParagraphCxSpMiddle" style="line-height: 115%; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; margin: 0in 0in 0in 0.25in; mso-add-space: auto; mso-list: l13 level1 lfo10; text-align: justify; text-indent: -0.25in;"><span style="font-family: inherit;"><b><!--[if !supportLists]--><span face=""Tahoma","sans-serif"" style="color: black; mso-fareast-font-family: Tahoma; mso-themecolor: text1;"><span style="mso-list: Ignore;">c.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: normal;"> </span></span></span><!--[endif]--></b><span face=""Tahoma","sans-serif"" style="color: black; mso-themecolor: text1;"><b>Dirty
Page</b><o:p></o:p></span></span></p>
<p class="MsoListParagraphCxSpMiddle" style="line-height: 115%; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; margin: 0in 0in 0in 0.25in; mso-add-space: auto; text-align: justify;"><span style="color: black; font-family: inherit; mso-themecolor: text1;"><o:p> </o:p></span></p>
<p class="MsoListParagraphCxSpMiddle" style="line-height: 115%; margin-bottom: .0001pt; margin: 0in; mso-add-space: auto; text-align: justify;"><span style="font-family: inherit;"><span face=""Tahoma","sans-serif"" style="color: black; mso-themecolor: text1;"><span> </span>It is saved as a
processing logic of Transaction Manager. More details about this will be
covered in<span> </span>the Transaction Manager section.</span><o:p></o:p></span></p>
<p class="MsoListParagraphCxSpMiddle" style="line-height: 115%; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; margin: 0in 0in 0in 0.25in; mso-add-space: auto;"><span style="color: black; font-family: inherit; font-size: 11.5pt; line-height: 115%; mso-themecolor: text1;"><o:p> </o:p></span></p>
<p class="MsoListParagraphCxSpLast" style="line-height: 115%; margin-bottom: .0001pt; margin: 0in; mso-add-space: auto;"><b style="mso-bidi-font-weight: normal;"><span style="color: black; font-family: inherit; font-size: 12pt; line-height: 115%; mso-themecolor: text1;">Transaction Manager<o:p></o:p></span></b></p>
<p class="MsoNormal" style="line-height: 115%; margin-bottom: 0in; text-align: justify;"><span style="color: black; font-family: inherit; mso-themecolor: text1;"> <span style="font-family: inherit;">The Transaction Manager is invoked when the
query comprises a non-SELECT statement. </span></span></p>
<p class="MsoNormal" style="line-height: 115%; text-align: justify;"><b style="mso-bidi-font-weight: normal;"><span style="color: black; font-family: inherit; mso-themecolor: text1;">Log Manager</span></b></p><p class="MsoNormal" style="line-height: 115%; text-align: justify;"></p><ol style="text-align: left;"><li><span style="font-family: inherit;">Log Manager keeps a track of all updates done in the system via logs in Transaction Logs.</span></li><li><span style="font-family: inherit;">Logs have Logs Sequence Number with the Transaction ID and Data Modification Record.</span></li><li><span style="font-family: inherit;">This is used for keeping track of Transaction Committed and Transaction Rollback.</span></li></ol><p></p><p class="MsoListParagraphCxSpFirst" style="line-height: 115%; mso-list: l9 level1 lfo11; text-align: justify; text-indent: -0.25in;"><span style="font-family: inherit;"><!--[if !supportLists]--></span></p>
<p class="MsoNormal" style="line-height: 115%; text-align: justify;"><b style="mso-bidi-font-weight: normal;"><span style="color: black; font-family: inherit; mso-themecolor: text1;">Lock Manager</span></b></p><p class="MsoNormal" style="line-height: 115%; text-align: justify;"></p><ol style="text-align: left;"><li><span style="font-family: inherit;">During Transaction, the associated data in Data Storage is in the Lock state. This process is handled by Lock Manager.</span></li><li><span style="font-family: inherit;">This process ensures data consistency and isolation. Also known as ACID properties.</span></li></ol><p></p><p class="MsoListParagraphCxSpFirst" style="line-height: 115%; mso-list: l10 level1 lfo12; text-align: justify; text-indent: -0.25in;"><span style="font-family: inherit;"><!--[if !supportLists]--></span></p>
<p class="MsoListParagraphCxSpLast" style="line-height: 115%; mso-list: l10 level1 lfo12; text-align: justify; text-indent: -0.25in;"><span style="font-family: inherit;"><!--[if !supportLists]--></span></p>
<p class="MsoNormal" style="line-height: 115%; text-align: justify;"><b style="mso-bidi-font-weight: normal;"><span style="color: black; font-family: inherit; mso-themecolor: text1;">Execution Process</span></b></p><p class="MsoNormal" style="line-height: 115%; text-align: justify;"><b style="mso-bidi-font-weight: normal;"><span style="color: black; font-family: inherit; mso-themecolor: text1;"></span></b></p><ol start="1" type="1">
<li class="MsoNormal" style="line-height: 150%;"><span style="font-family: inherit;">Log Manager Start logging and Lock
Manager locks the associated data.<o:p></o:p></span></li>
<li class="MsoNormal" style="line-height: 150%;"><span style="font-family: inherit;">Data’s copy is maintained in the
Buffer cache.<o:p></o:p></span></li>
<li class="MsoNormal" style="line-height: 150%;"><span style="font-family: inherit;">Copy of data supposed to be
updated is maintained in Log buffer and all the events updates data in
Data buffer.<o:p></o:p></span></li>
<li class="MsoNormal" style="line-height: 150%;"><span style="font-family: inherit;">Pages which store the data is also
known as Dirty Pages.<o:p></o:p></span></li>
<li class="MsoNormal" style="line-height: 150%;"><span style="font-family: inherit;">Checkpoint and Write-Ahead Logging
involve running a process that marks all dirty pages to be written to the
disk, although the pages still stay in the cache. This process occurs
roughly once per minute. However, before reaching the data page on the log
file, the page is initially sent from the Buffer log. This mechanism is
commonly known as Write-Ahead Logging.<o:p></o:p></span></li>
<li class="MsoNormal" style="line-height: 150%;"><span style="font-family: inherit;">Lazy Writer handles situations
where dirty pages can stay in memory. When the SQL server detects a
significant load and requires buffer memory for a new transaction, it
releases dirty pages from the cache. It follows the LRU (Least Recently
Used) algorithm to clean pages from the buffer pool to disk.</span></li><li class="MsoNormal" style="line-height: 150%;"><span style="font-family: inherit;">Log Manager keeps a track of all
updates done in the system via logs in Transaction Logs.</span></li><li class="MsoNormal" style="line-height: 150%;"><span style="font-family: inherit;">Logs have Logs Sequence Number
with the Transaction ID and Data Modification Record.</span></li><li class="MsoNormal" style="line-height: 150%;"><span style="font-family: inherit;">This is used for keeping track of
Transaction Committed and Transaction Rollback.</span></li>
</ol><p></p><p class="MsoListParagraphCxSpFirst" style="line-height: 115%; mso-list: l1 level1 lfo13; text-align: justify; text-indent: -0.25in;"><!--[if !supportLists]--></p>
<p class="MsoListParagraphCxSpMiddle" style="line-height: 115%; mso-list: l1 level1 lfo13; text-align: justify; text-indent: -0.25in;"><!--[if !supportLists]--></p>
<p class="MsoListParagraphCxSpMiddle" style="line-height: 115%; mso-list: l1 level1 lfo13; text-align: justify; text-indent: -0.25in;"><!--[if !supportLists]--></p>
<p class="MsoListParagraphCxSpMiddle" style="line-height: 115%; mso-list: l1 level1 lfo13; text-align: justify; text-indent: -0.25in;"><!--[if !supportLists]--></p>
<p class="MsoListParagraphCxSpMiddle" style="line-height: 115%; mso-list: l1 level1 lfo13; text-align: justify; text-indent: -0.25in;"><!--[if !supportLists]--></p>
<p class="MsoListParagraphCxSpLast" style="line-height: 115%; mso-list: l1 level1 lfo13; text-align: justify; text-indent: -0.25in;"><!--[if !supportLists]--></p></div>dbatutorial.comhttp://www.blogger.com/profile/13969648514293009119noreply@blogger.com0tag:blogger.com,1999:blog-7125033335107872703.post-21021125846073546242023-02-23T11:43:00.004+06:002023-02-24T18:24:01.976+06:00Oracle Database Upgrade 12c to 19c with Physical Standby Database Using DBUA<p>In this article, we show the procedure to upgrade the oracle database 12c to 19c with the physical standby database using DBUA. Standby physical database will be upgraded through redo applying from the primary database and there is no need to rebuild the physical standby database after upgrading the primary database. Upgrade procedure details are as follows.</p><p><b><u><br /></u></b></p><p><b><u><span style="font-size: medium;">Primary & Standby Database Activities:</span></u></b></p><p><b>Step 1: Install oracle software only in both the primary & standby database server</b></p><p>Create a new database home for both primary and standby databases. Unzip the database into the new 19c home and install the software only RDBMS.</p><p># mkdir -p /u01/app/oracle/product/19c/db_1</p><p># chown -R oracle:oinstall /u01/app/oracle/product/19c/db_1</p><p># chmod -R 775 /u01/app/oracle/product/19c/db_1</p><p><br /></p><p>Unzip the software to the new 19c home using the following command</p><p>Unzip Oracle_19.3_Linux_x86-64_DB_V982063-01.zip -d /u01/app/oracle/product/19c/db_1</p><p># cd /u01/app/oracle/product/19c/db_1</p><p># ./runInstaller</p><p><br /></p><p><b><u><span style="font-size: medium;">Primary Database Activities:</span></u></b></p><p><b>Step 2: Check the Invalid Objects if there have any invalid objects compile them before the upgrade.</b> </p><p>As a prerequisite, it Is recommended to check for invalid objects. If there have any invalid objects validate the invalid objects.</p><p>$ sqlplus / as sysdba</p><p>SQL*Plus: Release 12.2.0.1.0 Production on Thu Jan 5 16:12:57 2023</p><p>Copyright (c) 1982, 2016, Oracle. All rights reserved.</p><p>Connected to:</p><p>Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production</p><p>$ SQL> select count(*) from dba_objects where status='INVALID';</p><p><br /></p><p><b>Step 3: Create the required directory where store the upgradation script</b></p><p># mkdir -p /u01/spool/preupgrade<span style="white-space: pre;"> </span>-- Primary database</p><p># chown -R oracle:oinstall /u01/spool/preupgrade</p><p># chmod -R 775 /u01/spool/preupgrade</p><p><br /></p><p><b>Step 4: Execute the Pre-upgrade script in the primary node only</b></p><p><b><br /></b></p><p>In the below screenshot, we have executed the preupgrade.jar from the 19c Oracle Home. The</p><p>preupgrade.jar output provides pre and post-upgradation recommendation fixup SQL script. The pre</p><p>and post-upgradation fixup SQL scripts can be located in the directory location as created above. In the</p><p>output, we also get the command to run the pre and post-fixup steps.</p><p># /u01/app/oracle/product/12c/db_1/jdk/bin/java -jar /u01/app/oracle/product/19c/db_1/rdbms/admin/preupgrade.jar FILE DIR /u01/spool/preupgrade/</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTMQFe9mvOjgIZV8ZFZzQQ022NJsbU2cOYAEwKOYptsoECWebiFC4y6RHNYauL9Yuch6IcbFhbooX60QmaCjrOmkhRuDNgARic7J0mfN-isbC-OKDUR2CAX8v71GEfmuoEbr29mAydKp9RHW-lkVMjyWkdcsqNqFlbo_z2EEcQSDeDJpS_JOK24qrx/s1128/1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="419" data-original-width="1128" height="238" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTMQFe9mvOjgIZV8ZFZzQQ022NJsbU2cOYAEwKOYptsoECWebiFC4y6RHNYauL9Yuch6IcbFhbooX60QmaCjrOmkhRuDNgARic7J0mfN-isbC-OKDUR2CAX8v71GEfmuoEbr29mAydKp9RHW-lkVMjyWkdcsqNqFlbo_z2EEcQSDeDJpS_JOK24qrx/w640-h238/1.png" width="640" /></a></div><br /><p></p><p>Carefully check the preupgrade.log log and fixup the issues before preceding the upgrade.</p><p><i>Output:</i></p><p><i>==============</i></p><p><i>BEFORE UPGRADE</i></p><p><i>==============</i></p><p><i>REQUIRED ACTIONS</i></p><p><i> ================</i></p><p><i> None</i></p><p><i><br /></i></p><p><i> RECOMMENDED ACTIONS</i></p><p><i> ===================</i></p><p><i> 1. (AUTOFIXUP) Gather stale data dictionary statistics prior to database</i></p><p><i> upgrade in off-peak time using:</i></p><p><i><br /></i></p><p><i> EXECUTE DBMS_STATS.GATHER_DICTIONARY_STATS;</i></p><p><i><br /></i></p><p><i> Dictionary statistics do not exist or are stale (not up-to-date).</i></p><p><i> Dictionary statistics help the Oracle optimizer find efficient SQL</i></p><p><i> execution plans and are essential for proper upgrade timing. Oracle</i></p><p><i> recommends gathering dictionary statistics in the last 24 hours before</i></p><p><i> database upgrade.</i></p><p><i><br /></i></p><p><i> For information on managing optimizer statistics, refer to the 12.2.0.1</i></p><p><i> Oracle Database SQL Tuning Guide.</i></p><p><i><br /></i></p><p><i> INFORMATION ONLY</i></p><p><i> ================</i></p><p><i> 2. Check the Oracle Backup and Recovery User's Guide for information on how</i></p><p><i> to manage an RMAN recovery catalog schema.</i></p><p><i><br /></i></p><p><i> If you are using a version of the recovery catalog schema that is older</i></p><p><i> than that required by the RMAN client version, then you must upgrade the</i></p><p><i> catalog schema.</i></p><p><i><br /></i></p><p><i> It is good practice to have the catalog schema the same or higher version</i></p><p><i> than the RMAN client version you are using.</i></p><p><i><br /></i></p><p><i> ORACLE GENERATED FIXUP SCRIPT</i></p><p><i> =============================</i></p><p><i> All of the issues in database DPDB</i></p><p><i> which are identified above as BEFORE UPGRADE "(AUTOFIXUP)" can be resolved by</i></p><p><i> executing the following</i></p><p><i> SQL>@/u01/spool/preupgrade/preupgrade_fixups.sql</i></p><p><br /></p><p><b>Step 6: Perform the recommended actions as per preupgrade log.</b></p><p>SQL> EXECUTE DBMS_STATS.GATHER_DICTIONARY_STATS;</p><p>SQL> @/orasoft/spool/preupgrade/preupgrade_fixups.sql</p><p><br /></p><p><br /></p><p><b>Step 7: Enable flashback in both primary and standby databases and create a restore point</b></p><p>If the flashback is not enabled first enable the flashback database in both the primary and standby database using the following procedure as well as keep enough free space in db_recovery_file_dest. </p><p>SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=60G;</p><p>SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST='/u01/oraflash/';</p><p>SQL> alter database flashback on;</p><p>Now create the guarantee restore point in both primary & standby databases.</p><p><b><u>Primary DB:</u></b></p><p>SQL> create restore point before_upgrade_19c_PG guarantee flashback database;</p><p>SQL> select name from v$restore_point;</p><p>NAME</p><p>--------------------------------------------------------------------------------</p><p>BEFORE_UPGRADE_19C_PG</p><p><br /></p><p><u><b>Standby DB:</b></u></p><p>SQL> create restore point before_upgrade_19c_DG guarantee flashback database;</p><p>SQL> select name from v$restore_point;</p><p>NAME</p><p>--------------------------------------------------------------------------------</p><p>BEFORE_UPGRADE_19C_DG</p><p><br /></p><p><b>Step 8: Shutdown the standby database and defer log archive destination</b></p><p>SQL> alter system set log_archive_dest_state_2=DEFER SCOPE=BOTH;</p><p><b><u>Standby database:</u></b></p><p>SQL> shut immediate;</p><p>Stop the listener</p><p># lsnrctl stop</p><p><br /></p><p><b>Step 9: Copy the listener, tns, and password file 12c database to the new 19c database.</b></p><p>Start the listener as 19c database steps are as follows.</p><p># export ORACLE_HOME=/u01/app/oracle/product/12c/db_1</p><p># export PATH=$ORACLE_HOME/bin:$PATH;</p><p># lsnrctl stop </p><p># export ORACLE_HOME=/u01/app/oracle/product/19c/db_1</p><p># export PATH=$ORACLE_HOME/bin:$PATH;</p><p># lsnrctl start</p><p><br /></p><p><b>Step 10: Set the new 19c database environment </b></p><p># export ORACLE_HOME=/u01/app/oracle/product/19c/db_1 (19c database home)</p><p># cd $ORACLE_HOME/bin</p><p>./dbua</p><p> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheNrAOiIdJe7H-2vFHLaLNn-kGJqm7OtEsiT1qESre9UlKAijdF6TLZfyQJjZzxlB-sRcg7mUs-NU2Aj5OrGmemPmMcgTCt-pqGNQQohi7V6NlSPST62g0fkCJuqo1acDsptLUD1Q80JQ8QSp7RGY2Fd207EoSSuNJK4j3nwzdxj8VWc0UH6JXTMtj/s774/2.png" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="588" data-original-width="774" height="486" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheNrAOiIdJe7H-2vFHLaLNn-kGJqm7OtEsiT1qESre9UlKAijdF6TLZfyQJjZzxlB-sRcg7mUs-NU2Aj5OrGmemPmMcgTCt-pqGNQQohi7V6NlSPST62g0fkCJuqo1acDsptLUD1Q80JQ8QSp7RGY2Fd207EoSSuNJK4j3nwzdxj8VWc0UH6JXTMtj/w640-h486/2.png" width="640" /></a><br /><br /></p><p><b>Action:</b> Click the Next button</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWr_orFjlXIE9GI3lMkAhjpC8ATZD254De5o5pbi-z9YEIaoeliWt7ZaI2rXPK65Z9HwdWcCDtfe-Dl1IKNqX1CIEB3eDAACI6YvtEZZMmrdHhCPIP05yxb8xD7Btuf-GU5BrrfjRubyNM_qfFobzMrjV8h9A18yHy8n-IQssILypWlqqVsF7hYfGM/s796/3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="629" data-original-width="796" height="506" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWr_orFjlXIE9GI3lMkAhjpC8ATZD254De5o5pbi-z9YEIaoeliWt7ZaI2rXPK65Z9HwdWcCDtfe-Dl1IKNqX1CIEB3eDAACI6YvtEZZMmrdHhCPIP05yxb8xD7Btuf-GU5BrrfjRubyNM_qfFobzMrjV8h9A18yHy8n-IQssILypWlqqVsF7hYfGM/w640-h506/3.png" width="640" /></a></div><br /><p></p><p><b>Action:</b> No error is found and the showing message is the post-upgrade recommendation. If there have any error messages resolve the error before going to the following windows. Click the following button.</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6uOkgV6WhE7ihofvjzGmsHaDKwUaVV22vd5gnuBwgrfOrobMmurd5OEAYn_v6AX3918Gvp2D4pKOVKYjgez1JKSWDNIKOoCrWdCzm9xqB-44FwP1JHDLMMYW6FpwHx4C_SJ3t9j_--FiNRg-4dqo9Mtk68d2EB7OpuSEUBYPWPhMAEL29pZoNKsTz/s802/4.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="633" data-original-width="802" height="506" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6uOkgV6WhE7ihofvjzGmsHaDKwUaVV22vd5gnuBwgrfOrobMmurd5OEAYn_v6AX3918Gvp2D4pKOVKYjgez1JKSWDNIKOoCrWdCzm9xqB-44FwP1JHDLMMYW6FpwHx4C_SJ3t9j_--FiNRg-4dqo9Mtk68d2EB7OpuSEUBYPWPhMAEL29pZoNKsTz/w640-h506/4.png" width="640" /></a></div><br /><p></p><p><b>Action:</b> Click the next button</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibIrMpYQYZ6IZZreV_bLHhPtgetZfR7wRMTvmGtvDcB8DOD-bJxUWUbHAFD_--lSl1HxSZNYlb8CtlDn1TthUwo68QeQ2CyprBH-rTPdugVgujQbK8PyPGkJin8jMDsog4sb5vF0ddhU5-zD9SX7tYswXGemAjK_zw2wCS9l4bGmkZv5F3ni9lSX0W/s800/5.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="630" data-original-width="800" height="504" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibIrMpYQYZ6IZZreV_bLHhPtgetZfR7wRMTvmGtvDcB8DOD-bJxUWUbHAFD_--lSl1HxSZNYlb8CtlDn1TthUwo68QeQ2CyprBH-rTPdugVgujQbK8PyPGkJin8jMDsog4sb5vF0ddhU5-zD9SX7tYswXGemAjK_zw2wCS9l4bGmkZv5F3ni9lSX0W/w640-h504/5.png" width="640" /></a></div><br /><p></p><p>Action: We created a restore point before preceding the upgrade and here we use the restore point and click the next button. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5JDs3DnflINEk7muKAT0MSwoJ4_MIWPLd5aWUyvXO_y0yayzr9J2kRzmkZWss0SfPC6WQqw5EJhhucI0rrRArNH0k0pEz8-6ibmhzAmLb3rcaWgRqzlYY3K6w6uuMWEsYHJwqtx191hJIEWLtrUnb38wMROgtgMtwu12n5wmtOt85a4w6BJcO0Mt7/s804/6.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="611" data-original-width="804" height="486" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5JDs3DnflINEk7muKAT0MSwoJ4_MIWPLd5aWUyvXO_y0yayzr9J2kRzmkZWss0SfPC6WQqw5EJhhucI0rrRArNH0k0pEz8-6ibmhzAmLb3rcaWgRqzlYY3K6w6uuMWEsYHJwqtx191hJIEWLtrUnb38wMROgtgMtwu12n5wmtOt85a4w6BJcO0Mt7/w640-h486/6.png" width="640" /></a></div><br /><p><b>Action: </b>Use the existing listener and click the next button</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlEFMIEdjtF8rFv6c8EWloREqo6PTiENoFd7tfN-M9Fz0KL0vnZfjmsFDHFq7g5pdsECtJ49EPt6z_0PLhGyL1G3ZfXS1f2jHhN_gaBluBXh-K_q_kbUkjJAMMPYVRvOUBHIZ-5DsJCX-v5VwXVpknIciATUhsjhe1jWI2e3myLFRRQsHXxc0-uDTW/s802/7.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="630" data-original-width="802" height="502" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlEFMIEdjtF8rFv6c8EWloREqo6PTiENoFd7tfN-M9Fz0KL0vnZfjmsFDHFq7g5pdsECtJ49EPt6z_0PLhGyL1G3ZfXS1f2jHhN_gaBluBXh-K_q_kbUkjJAMMPYVRvOUBHIZ-5DsJCX-v5VwXVpknIciATUhsjhe1jWI2e3myLFRRQsHXxc0-uDTW/w640-h502/7.png" width="640" /></a></div><br /><p></p><p><b>Action:</b> Click the next button</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZg3yyFyPMgkAKmRVgAtZQAMKnO8OWSqYjxWnynwOC-uc6eM1aGb3zUeugY-72rGOQ-GcSL0oYkSJiLtziraoXn-f7HmsN2mAqOJlHrSK2J1vbodUwoWVu8SimEUOecvScfPOhkpTU81gOHjEZh_vhN3Lzwyp1ysp5i1hdCZJiuhu3cvFF6ZhsDPu4/s796/8.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="624" data-original-width="796" height="502" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZg3yyFyPMgkAKmRVgAtZQAMKnO8OWSqYjxWnynwOC-uc6eM1aGb3zUeugY-72rGOQ-GcSL0oYkSJiLtziraoXn-f7HmsN2mAqOJlHrSK2J1vbodUwoWVu8SimEUOecvScfPOhkpTU81gOHjEZh_vhN3Lzwyp1ysp5i1hdCZJiuhu3cvFF6ZhsDPu4/w640-h502/8.png" width="640" /></a></div><br /><p></p><p><b>Action: </b>This is the summary window, if found all are okay click the Finish button. </p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOD7TNJY2QxA4bsUGfgVlyE9yCeCr1rEIgvDY6nNXKQtgOXG_jpRxB9G7P5BwpUUYODbdOkZPbretnGLcuxrJ4F-GTVjE-YLWXo3zFGc1uQi7K5TNLIVotn-_jNkBIE0A8UdF6f1xRG4u8sZx3bRq9eVKNn_8RTtjgmjHeC7MgYY7PU4fpV3w6J6Hz/s796/9.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="605" data-original-width="796" height="486" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOD7TNJY2QxA4bsUGfgVlyE9yCeCr1rEIgvDY6nNXKQtgOXG_jpRxB9G7P5BwpUUYODbdOkZPbretnGLcuxrJ4F-GTVjE-YLWXo3zFGc1uQi7K5TNLIVotn-_jNkBIE0A8UdF6f1xRG4u8sZx3bRq9eVKNn_8RTtjgmjHeC7MgYY7PU4fpV3w6J6Hz/w640-h486/9.png" width="640" /></a></div><br /><p></p><p><b>Action:</b> Check the alter log to see what is happening if arise any error messages carefully read and solve the issue. </p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVXahFX0uvtVOj5DYcTWJQnlnuEiMzJCq4XzgXXs8z1Xp2PYFVzzRetYlhdnslum3RrYpXsb56VFYJrHwRbRyPy-rYKA1QWhr5B_oBjs_onTC9ge5TVFlZv--1cq_YNZHRohpMz6hV0leHVn8lhUjPNa1B1gdJ-rYBtuMMrCAFs8Yl0GxNeEaLZaqS/s800/10.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="630" data-original-width="800" height="504" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVXahFX0uvtVOj5DYcTWJQnlnuEiMzJCq4XzgXXs8z1Xp2PYFVzzRetYlhdnslum3RrYpXsb56VFYJrHwRbRyPy-rYKA1QWhr5B_oBjs_onTC9ge5TVFlZv--1cq_YNZHRohpMz6hV0leHVn8lhUjPNa1B1gdJ-rYBtuMMrCAFs8Yl0GxNeEaLZaqS/w640-h504/10.png" width="640" /></a></div><br /><p></p><p><span style="color: #38761d;"><b>Action: Upgrade is completed successfully. </b></span></p><p><br /></p><p><span style="font-size: medium;"><b><u>Post Upgrade Tasks</u></b></span></p><p><span style="font-size: medium;"><b><u><br /></u></b></span></p><p><b>Step 1: Verify /etc/oratab and check if ORACLE_HOME location has changed to 19c home</b></p><p># cat /etc/oratab |grep -i DPDB</p><p><br /></p><p><b>Step 2: Verify the time zone and invalid objects</b></p><p>SQL> SELECT version FROM v$timezone_file;</p><p> VERSION</p><p>----------</p><p> 32</p><p><br /></p><p>SQL> select count(1) from dba_objects where status='INVALID';</p><p> COUNT(1)</p><p>----------</p><p> 0</p><p><br /></p><p><b>Step 3: Verify DBA_REGISTRY</b></p><p>SQL> col COMP_ID for a10</p><p>col COMP_NAME for a40</p><p>col VERSION for a15</p><p>set lines 180</p><p>set pages 999</p><p>select COMP_ID,COMP_NAME,VERSION,STATUS from dba_registry;</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVrQzwN0U0dSCUVc7w9e4VG_4Uj71tP1ttr23FuRtP5vl7XBikXM98SoZUz76Cu5DrcOoghq1gushnUfUEIFmt2IUNIvd_m1kG1mwHZGqzr4_3-YusTN9aWL99jR1NUALPswc9alY9yPyJZxDMza5AKh34fuu9JI1NgZkQzI_CSf4vy-l_uAR3h16T/s628/11.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="293" data-original-width="628" height="298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVrQzwN0U0dSCUVc7w9e4VG_4Uj71tP1ttr23FuRtP5vl7XBikXM98SoZUz76Cu5DrcOoghq1gushnUfUEIFmt2IUNIvd_m1kG1mwHZGqzr4_3-YusTN9aWL99jR1NUALPswc9alY9yPyJZxDMza5AKh34fuu9JI1NgZkQzI_CSf4vy-l_uAR3h16T/w640-h298/11.png" width="640" /></a></div><br /><p></p><p><b>Step 4: Run postupgrade_fixups.sql, this script already ran by DBUA under the post-upgrade section. However, we have executed it again</b></p><p>SQL>@/orasoft/spool/preupgrade/postupgrade_fixups.sql</p><p><br /></p><p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1AHB7BhJHL0bbkniOXDAVpgX8x8V2mZw8tqrNWFdU9wzpTPeX74KoySG3VW5RfQ7a2y2m7Gf2mbREXZBOl-geQOIkUIQNvmtJE7WKDJ0J4YHdGuoDH_zsC7hCqoJKshDmuSxnnQIvP3L1ZW4D3FTqFZnbvKRgF-qIyG2kr_l82zldUSPIImAQVAcq/s611/12.png" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="276" data-original-width="611" height="290" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1AHB7BhJHL0bbkniOXDAVpgX8x8V2mZw8tqrNWFdU9wzpTPeX74KoySG3VW5RfQ7a2y2m7Gf2mbREXZBOl-geQOIkUIQNvmtJE7WKDJ0J4YHdGuoDH_zsC7hCqoJKshDmuSxnnQIvP3L1ZW4D3FTqFZnbvKRgF-qIyG2kr_l82zldUSPIImAQVAcq/w640-h290/12.png" width="640" /></a><br /><br /></p><p><br /></p><p><b>Step 5: Once the upgrade is completed successfully and all are found okay then you can drop the restore point.</b></p><p>SQL> col name for a20</p><p>SQL> col GUARANTEE_FLASHBACK_DATABASE for a10</p><p>SQL> col TIME for a60</p><p>SQL> set lines 190</p><p>SQL> select NAME, GUARANTEE_FLASHBACK_DATABASE, TIME from V$restore_point;</p><p>NAME GUARANTEE_ TIME</p><p>-------------------- ---------- ------------------------------------------------------------</p><p>BEFORE_UPGRADE_19C_PG YES 22-FEB-23 11.45.22.000000000 AM</p><p><br /></p><p>SQL> drop restore point BEFORE_UPGRADE_19C_PG;</p><p>The restore point dropped.</p><p><br /></p><p><b>Step 6: Update the COMPATIBLE parameter</b></p><p><b><br /></b></p><p>Note: After the upgrade, the database has to be tested properly before updating the compatible parameter. Once the parameter is updated database cannot be downgraded.</p><p>SQL> show parameter compatible;</p><p>NAME TYPE VALUE</p><p>------------------------------------ ----------- ------------------------------</p><p>compatible string 12.2.0</p><p><br /></p><p>SQL> alter system set compatible='19.0.0' scope=spfile;</p><p>SQL> shutdown immediate;</p><p>SQL> startup;</p><p>SQL> show parameter compatible;</p><p>The database has been successfully upgraded to 19c.</p><p>SQL> select name, open_mode, version from v$database, v$instance;</p><p>NAME OPEN_MODE VERSION</p><p>-------------------- -------------------- ---------------</p><p>DPDB READ WRITE 19.0.0.0.0</p><p><br /></p><p><b><u><span style="font-size: medium;">Standby Database Activities:</span></u></b></p><p><b><u><span style="font-size: medium;"><br /></span></u></b></p><p><b>Step 1: Copy the listener, tns, and password file to the new 19c database home location</b></p><p><b><br /></b></p><p># cd $ORACLE_HOME/ network/admin<span style="white-space: pre;"> </span>- 12c home</p><p># cp listener.ora tnsnames.ora /u01/app/oracle/product/19c/db_1/network/admin<span style="white-space: pre;"> </span>- 19c home</p><p># cd $ORACLE_HOME/dbs</p><p># cp orapwDPDB /u01/app/oracle/product/19c/db_1/dbs</p><p>Stop the listener and export the 19c home and start the listener</p><p># lsnrct stop</p><p># export ORACLE_HOME=/u01/app/oracle/product/19c/db_1</p><p># export PATH=$ORACLE_HOME/bin:$PATH;</p><p># export ORACLE_SID=DPDB_STBY</p><p># lsnrctl start</p><p># lsnrctl status </p><p>Start the database from 19c home</p><p>SQL> STARTUP MOUNT;</p><p>Check the network check </p><p># tnsping DR_TNSNAME</p><p># tnsping DC_TNSNAME</p><p><br /></p><p><b><u><span style="font-size: medium;">Primary database Activities:</span></u></b></p><p><b><u><span style="font-size: medium;"><br /></span></u></b></p><p># tnsping DR_TNSNAME</p><p># tnsping DC_TNSNAME</p><p>Log archive destination enable in the primary database</p><p>SQL> alter system set log_archive_dest_state_2=ENABLE scope = both;</p><p><br /></p><p><b><u><span style="font-size: medium;">Standby Database Activities:</span></u></b></p><p><b><u><span style="font-size: medium;"><br /></span></u></b></p><p>Check database mode and role using the following command</p><p>SQL> select open_mode, database_role from v$database;</p><p>Start the recovery manager in the standby database</p><p>SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;</p><p>The physical standby database will be upgraded through the redo apply. </p><p>Check the redo log and apply details using the following query.</p><p>SQL> select process, status, thread#, sequence#, block#, blocks from v$managed_standby;</p><p><br /></p><p>Done!</p><div><br /></div>dbatutorial.comhttp://www.blogger.com/profile/13969648514293009119noreply@blogger.com0tag:blogger.com,1999:blog-7125033335107872703.post-27267047874071952012023-01-12T08:22:00.018+06:002023-01-17T21:30:58.922+06:00Step by Step Approach for Upgrading Oracle Grid Infrastructure & Database From 12c to 19c <p>Oracle Grid Infrastructure upgrades include Oracle Clusterware and Oracle Automatic Storage Management upgrades (Oracle ASM). Oracle Grid Infrastructure upgrades can be rolling upgrades, in which a subset of nodes are brought down and upgraded while other nodes remain active.</p><p>In this post, we briefly describe the approach for upgrading oracle grid infrastructure along with the RAC database from 12c to 19c.</p><span><a name='more'></a></span><p><br /></p><p><span style="font-size: large;"><b><u>Grid Instrstrucure Upgrade Steps 12c to 19c</u></b></span></p><p>Source & Destination Details:</p><p>Source Version: 12.2.0.1</p><p>Target Version: 19.3.0.0</p><p>12c GRID HOME: /u01/app/12c/grid</p><p>19c GRID HOME: /u01/app/19c/grid/</p><p>12c Database Home: /u01/app/oracle/product/12c/db_1</p><p>19c Database Home: /u01/app/oracle/product/19c/db_1</p><p>DB Name: TESTDB</p><p><br /></p><p><b><u>Steps to Upgrade Grid Infrastructure 12c to 19c</u></b></p><p>1. Review the pre-upgrade checklist.</p><p>2. Download 19c Grid software.</p><p>3. Run the Orachk readiness assessment.</p><p>4. Run the cluster verification utility.</p><p>5. Dry-run upgrade.</p><p>6. Upgrade Grid.</p><p>7. Verify Grid upgrade.</p><p><br /></p><p><b><span style="font-size: medium;">Step 1. Pre-Upgrade Checklist</span></b></p><p>According to the Oracle Document, you must apply the 28553832 patches otherwise it is you must apply the latest PSU patch in the 12c Grid home directory as a prerequisite.</p><p>$ ./opatch lsinventory |grep -i 28553832</p><p>28553832, 20883009, 21678268</p><p><br /></p><p><span style="font-size: medium;"><b>Step 2. Download the Grid Software</b></span></p><p>You can download the 19c Grid Create a directory on both the RAC (Real Application Cluster) nodes:</p><p>mkdir -p /u01/app/grid/19c/grid</p><p>chown -R grid:oinstall /u01/app/grid/19c/grid</p><p>chmod -R 775 /u01/app/grid/19c/grid</p><p>Copy the 19c grid software to the first node of RAC and unzip it:</p><p>cd /u01/software/<span style="white-space: pre;"> </span>-- downloaded software location</p><p>unzip LINUX.X64_193000_grid_home.zip -d /u01/app/grid/19c/grid (19c grid home)</p><p><br /></p><p><span style="font-size: medium;"><b>Step 3. Run the orachk tool as grid owner (oracle)</b></span></p><p>Orachk tool will generate a report for recommendation, that need to be taken care before upgrading.</p><p>cd /u01/app/grid/19c/grid/suptools/orachk</p><p>./orachk –u -o pre</p><p>Analyze the html report for any recommendations.</p><p><br /></p><p><span style="font-size: medium;"><b>Step 4. Run cluvfy utility to pre-check any errors</b></span></p><p>On 1st node only run the pre-upgrade script from the new home and generate a fix script if generated. as grid user.</p><p>su - grid</p><p>cd /u01/app/19c/grid <span> -- 19c grid home </span></p><p><span style="color: red;">./runcluvfy.sh stage -pre crsinst -upgrade -rolling -src_crshome /u01/app/12c/grid -dest_crshome /u01/app/19c/grid -dest_version 19.3.0.0.0 -fixup -verbose</span></p><p><span style="color: red;"><br /></span></p><p><b>Note:</b> Make sure the cluvfy is executed successfully. If any error occurs, take action before going to the GRID 12c upgrade. </p><p><br /></p><p><b><span style="font-size: medium;">Step 5. Using Dry-Run Upgrade Mode to Check System Upgrade Readiness</span></b></p><p>Oracle introduced this new feature in 19c Grid. You can execute a dry-run upgrade before the actual upgrade. Dry-run upgrades verify all the steps similar to a real upgrade without making any real changes. On 1st node run grid setup dry run from the new home. Starting from 19c we have the option to run dry run before we actually upgrade. Run the following commands:</p><p>cd /u01/app/19c/grid</p><p>gridsetup.sh -dryRunForUpgrade</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9aKvE5_m8UZFMPrjDhee9gs04r-hkbcuGBlYeh800evv1IVlFFjIvoVpt4ovnFE2nCXCIzZZryqF_peQ4pI5Q0zvRBWG_UoXZLLUYwU15Kyy6dydK9ybwOGD-Bx_OVACcg44cWgIEEH51-ttpxg-3N17WoHHkEc5yqb-wUj-baJITEuHdnSI9UFaF/s790/1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="630" data-original-width="790" height="510" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9aKvE5_m8UZFMPrjDhee9gs04r-hkbcuGBlYeh800evv1IVlFFjIvoVpt4ovnFE2nCXCIzZZryqF_peQ4pI5Q0zvRBWG_UoXZLLUYwU15Kyy6dydK9ybwOGD-Bx_OVACcg44cWgIEEH51-ttpxg-3N17WoHHkEc5yqb-wUj-baJITEuHdnSI9UFaF/w640-h510/1.png" width="640" /></a></div><p></p><p>Action: Click “Upgrade Oracle Grid Infrastructure”</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdEzGOnxnhRZA8piOkwf15_5Y84JLmZVz0sQM_lZ3Bcxy1_gNs_cwnpSs3VhrMcqaXo7zqsYkRQ3O4PLG2RKSGcZLbyioJ4sFH979CQrfntWmKapUjP10iKTq1tsCCWxkhMJZrs3DnrZIjdzOJy3YFv2LyTXXpizRV1ZgyqCK8_Q_MbkIdO6E9lpIB/s789/2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="621" data-original-width="789" height="504" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdEzGOnxnhRZA8piOkwf15_5Y84JLmZVz0sQM_lZ3Bcxy1_gNs_cwnpSs3VhrMcqaXo7zqsYkRQ3O4PLG2RKSGcZLbyioJ4sFH979CQrfntWmKapUjP10iKTq1tsCCWxkhMJZrs3DnrZIjdzOJy3YFv2LyTXXpizRV1ZgyqCK8_Q_MbkIdO6E9lpIB/w640-h504/2.png" width="640" /></a></div><p></p><p><br /></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnALmIvTveoZjPerdJ-eS6413y6AxTYAmRKdcrVlFpMBy1yt_ZRbjL618qufpkpNT_PbB5o0HKcFgEOFIFXCIcrJmDTbjfKGaYxTVEx87GSSOF_dtRBCFfPLSCG60861TZO6NmCK0wq-JFdJw2tqA8M-CWJyfzBKRdgqAUSy1_6-_LJaFsYwLyyOv-/s796/3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="627" data-original-width="796" height="504" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnALmIvTveoZjPerdJ-eS6413y6AxTYAmRKdcrVlFpMBy1yt_ZRbjL618qufpkpNT_PbB5o0HKcFgEOFIFXCIcrJmDTbjfKGaYxTVEx87GSSOF_dtRBCFfPLSCG60861TZO6NmCK0wq-JFdJw2tqA8M-CWJyfzBKRdgqAUSy1_6-_LJaFsYwLyyOv-/w640-h504/3.png" width="640" /></a></div><br /><p></p><p><b>Action:</b> Insert grid password and click the Test button to check that ssh connectivity is successfully established.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7H2XNzu-EfrOf1V2ddbVVLzmq8DsraNxwOjYCyhaNk9PN6YcBsLsT7syE6j9Bx_lfPmg_P5thatIv87vMjmWpwOUpMx6SeFpF8A0hviiga4R2EEzu77FKAsQpVGfYP7F-wWhKy1RUX8kw34UnZV9D8beoGtGiouMIGF4ZujBI006iR7MG5qKdJ1dL/s798/4.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="628" data-original-width="798" height="504" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7H2XNzu-EfrOf1V2ddbVVLzmq8DsraNxwOjYCyhaNk9PN6YcBsLsT7syE6j9Bx_lfPmg_P5thatIv87vMjmWpwOUpMx6SeFpF8A0hviiga4R2EEzu77FKAsQpVGfYP7F-wWhKy1RUX8kw34UnZV9D8beoGtGiouMIGF4ZujBI006iR7MG5qKdJ1dL/w640-h504/4.png" width="640" /></a></div><p><b>Action:</b> Click the Next </p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5RSfeWmmVzWw544rHv6RWM_dza9VkDCXfTUXR1f9ZTBNbRf8qKEl6mNZ_zQe9uOCRVGFWXP4g3uuZcVMQCvPD1ouOGQeW7_OAnMmb8QB6hBiET2nTcOAakdGi7DP-QDeDCaNBfJyNwEX-ojDvd4P6h2oeITOUi7tZ2pzgRWysHAD-CVaqfgIHyUWK/s795/5.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="628" data-original-width="795" height="506" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5RSfeWmmVzWw544rHv6RWM_dza9VkDCXfTUXR1f9ZTBNbRf8qKEl6mNZ_zQe9uOCRVGFWXP4g3uuZcVMQCvPD1ouOGQeW7_OAnMmb8QB6hBiET2nTcOAakdGi7DP-QDeDCaNBfJyNwEX-ojDvd4P6h2oeITOUi7tZ2pzgRWysHAD-CVaqfgIHyUWK/w640-h506/5.png" width="640" /></a></div><b><p><b>Action:</b> Click the Next button</p></b><p></p><p> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkJZYZOL4iO-GQgaJ7ErB0eri8iaAtNNA_DGJfF0N_K2xHIN9c5pwzrJ2ozpGybosGXI6lwpTqnq6uCyeiB2rXKxUX2gbOvIZqqZ5nhyyKkWZ42repuDatWi9WbmevgkZn7qD-Aiapdy4NQl4zIP3dhdhCLrP147SJ_pJE5PwIBE4Aqb4JQ7fn6J4_/s794/7.png" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="633" data-original-width="794" height="510" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkJZYZOL4iO-GQgaJ7ErB0eri8iaAtNNA_DGJfF0N_K2xHIN9c5pwzrJ2ozpGybosGXI6lwpTqnq6uCyeiB2rXKxUX2gbOvIZqqZ5nhyyKkWZ42repuDatWi9WbmevgkZn7qD-Aiapdy4NQl4zIP3dhdhCLrP147SJ_pJE5PwIBE4Aqb4JQ7fn6J4_/w640-h510/7.png" width="640" /></a> <b>Action:</b> Click Submit button</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin3SPcDygkAP1NhOqnlHFJK5l473UYlh1zOtihl45pRCgW-6yQ8SYGgSkidR9hjnxdfHcyt7KQeM1dZvNaO3C2movIVsVkd2Q1dP-b8R1qRdzwF23EeEvOQsWJYeyr9Wg-eTfMJIjmjTELMlRAzAB0_hgjf_OFrqOFz3rXFT6aAyzUe3cHGVgLv0UN/s618/1.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="483" data-original-width="618" height="500" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin3SPcDygkAP1NhOqnlHFJK5l473UYlh1zOtihl45pRCgW-6yQ8SYGgSkidR9hjnxdfHcyt7KQeM1dZvNaO3C2movIVsVkd2Q1dP-b8R1qRdzwF23EeEvOQsWJYeyr9Wg-eTfMJIjmjTELMlRAzAB0_hgjf_OFrqOFz3rXFT6aAyzUe3cHGVgLv0UN/w640-h500/1.JPG" width="640" /></a></div><p><b>Action: Run the root script only on the local node.</b></p><p>NOTE – Don’t run this on the remote node. Run only on the local node</p><p>/u01/app/19c/grid/crs/config/rootconfig.sh</p><p>After executing rootconfig.sh successfully completed the OK button.</p><p> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0QPfLE6gdEA5pjoawxfqB7tpp11RAiWvcl-xgGfSyD4tZbRyFy7AT-5aDQuyd0KGTpKAqwsBCeIdS41deVYcyJtAHopV-BKOVNIcp9G40s50yTrX904-CyjUGOHP4iiU1-Jay3VAq8ssvJRt9qdbYgOm1RHQbvsOGBDJbhRo7Y75Z4evWf9mP-p8H/s797/8.png" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="628" data-original-width="797" height="504" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0QPfLE6gdEA5pjoawxfqB7tpp11RAiWvcl-xgGfSyD4tZbRyFy7AT-5aDQuyd0KGTpKAqwsBCeIdS41deVYcyJtAHopV-BKOVNIcp9G40s50yTrX904-CyjUGOHP4iiU1-Jay3VAq8ssvJRt9qdbYgOm1RHQbvsOGBDJbhRo7Y75Z4evWf9mP-p8H/w640-h504/8.png" width="640" /></a></p><p></p><p><b>The dry run upgrade is successful.</b> Let’s proceed with the actual upgrade.</p><p><br /></p><p><span style="font-size: medium;"><b>Step 6: Actual Upgrade Grid Infrastructure </b></span></p><p>— Run as grid owner (oracle)</p><p>unset ORACLE_BASE</p><p>unset ORACLE_HOME</p><p>unset ORACLE_SID</p><p><br /></p><p>cd /u01/app/19c/grid</p><p><span style="color: red;"><b>./gridSetup.sh</b></span></p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBO2JuO0dbOcOY38hM-_T8EF6aEOW7JvISd3umWtoPgrw-8nIKD90OfFwGpsBXM0KV-t91U2QVEbzKqGXqlwfgePFOp5SF_2kXFbcn0WwFlm7_H1M-ISJtOKLmJDWG1hG-wF7AA4T9jgwL_Hn6WbM_9tmxTDLg5ILe93VV1EPTTNK1MeWNKRZCxhlx/s801/1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="626" data-original-width="801" height="500" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBO2JuO0dbOcOY38hM-_T8EF6aEOW7JvISd3umWtoPgrw-8nIKD90OfFwGpsBXM0KV-t91U2QVEbzKqGXqlwfgePFOp5SF_2kXFbcn0WwFlm7_H1M-ISJtOKLmJDWG1hG-wF7AA4T9jgwL_Hn6WbM_9tmxTDLg5ILe93VV1EPTTNK1MeWNKRZCxhlx/w640-h500/1.png" width="640" /></a></div><p></p><p> Action: Click the Next button</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyDZLIYdR-OarjXdjHnrM1yuqkIsJ4MKBRs1Rp10Wz_iJqw5_gQ8cmuy3SD77YMZSiS5aAPQTMpgNKnrLkfiehP6XETf4vbEoazAJVE7GHi1twM2b3iY4EhRAENQFVqJnPGous1iJX7Vp8xt2cSRwru5c1OVuPswEdqfy5A-MxcwGE122DD2pBN_lF/s790/2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="624" data-original-width="790" height="506" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyDZLIYdR-OarjXdjHnrM1yuqkIsJ4MKBRs1Rp10Wz_iJqw5_gQ8cmuy3SD77YMZSiS5aAPQTMpgNKnrLkfiehP6XETf4vbEoazAJVE7GHi1twM2b3iY4EhRAENQFVqJnPGous1iJX7Vp8xt2cSRwru5c1OVuPswEdqfy5A-MxcwGE122DD2pBN_lF/w640-h506/2.png" width="640" /></a></div><p></p><p><b>Action:</b> Provide the grid password and click the Test button to check the ssh connectivity whether is okay or not and then click the Next button.</p><p> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxF1F5CqJOdwns_ztpilAJT7XRignPWq7xq0yol8zFo-NKGvNRPaJts2X4zvIWFTl4X6LXuFQ2NQX6SCPFp3yHjCkVn0RK8Bn5YdXSOGsnzopog0aGkD1nkKY5mAdrPcrpW1eE0Jvzw6ZTVzjz5vWx2NFVKsTBpGzIGqH6aEn_p7AW-mX9Oa2eYczX/s797/3.png" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="630" data-original-width="797" height="506" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxF1F5CqJOdwns_ztpilAJT7XRignPWq7xq0yol8zFo-NKGvNRPaJts2X4zvIWFTl4X6LXuFQ2NQX6SCPFp3yHjCkVn0RK8Bn5YdXSOGsnzopog0aGkD1nkKY5mAdrPcrpW1eE0Jvzw6ZTVzjz5vWx2NFVKsTBpGzIGqH6aEn_p7AW-mX9Oa2eYczX/w640-h506/3.png" width="640" /></a><br /><b>Action:</b> Click the Next button</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAZZbRmhckP_ayOECGU97tl7Ptg5ETPTUHQieeIpjj_SI4Mk6dCE_DT6S3_azvNI1Nn-BAdJ0CRTvZBC-sNiRqbsPnUOd7__6UNX-E6VgFhJm6hrCng-fXGQLKFmz_Uq_73AP8AFMCGinNR9yAac8k2fsNvLORJxHzdJ2WpoHueNl2TBTz_xvIoy7K/s793/4.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="629" data-original-width="793" height="508" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAZZbRmhckP_ayOECGU97tl7Ptg5ETPTUHQieeIpjj_SI4Mk6dCE_DT6S3_azvNI1Nn-BAdJ0CRTvZBC-sNiRqbsPnUOd7__6UNX-E6VgFhJm6hrCng-fXGQLKFmz_Uq_73AP8AFMCGinNR9yAac8k2fsNvLORJxHzdJ2WpoHueNl2TBTz_xvIoy7K/w640-h508/4.png" width="640" /></a></div><p></p><p><b>Action:</b> Click the Next button</p><p> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguJQOrvBtuQQdUJB_X5xZAqqPQY27BAnC2iUtgTFkMLV-YayxCldSt7TJqrLsSyeLxhswqljXEV90ViD9t9ebFmKosPfX_KqPAw8qsMhEtOcie4vN0AVUpjMN5viQeCmN6R6N-y9kg-h6XH0YyRS3TJ-KPjUUsac_V1ghG9fgYlw1E9PtpH1yuG36n/s793/6.png" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="632" data-original-width="793" height="510" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguJQOrvBtuQQdUJB_X5xZAqqPQY27BAnC2iUtgTFkMLV-YayxCldSt7TJqrLsSyeLxhswqljXEV90ViD9t9ebFmKosPfX_KqPAw8qsMhEtOcie4vN0AVUpjMN5viQeCmN6R6N-y9kg-h6XH0YyRS3TJ-KPjUUsac_V1ghG9fgYlw1E9PtpH1yuG36n/w640-h510/6.png" width="640" /></a></p><div class="separator" style="clear: both; text-align: center;"><br /></div><p></p><p><b>Action:</b> Click the Submit button</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNsPL5KYrlTZmF6sY4YEHItYGfHR0Z35UPntqjTu5S1TKufkQOaVmDEm_JNoGTDfWu0lrJBiLLW3pKJaSF8pcDKE_fo-LgBNrfR40WlyQck4ovEJci1anNLKVmgFO8QV0CcPNKm0nGZwZLDmxnVUgmHHAFW9o4KQUa5vaM-NqlrHUx5Z_U1QpQLcZj/s790/7.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="671" data-original-width="790" height="544" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNsPL5KYrlTZmF6sY4YEHItYGfHR0Z35UPntqjTu5S1TKufkQOaVmDEm_JNoGTDfWu0lrJBiLLW3pKJaSF8pcDKE_fo-LgBNrfR40WlyQck4ovEJci1anNLKVmgFO8QV0CcPNKm0nGZwZLDmxnVUgmHHAFW9o4KQUa5vaM-NqlrHUx5Z_U1QpQLcZj/w640-h544/7.png" width="640" /></a></div><p></p><p><b>Action:</b> Now run the rootupgrade.sh first on the local node. Once it is successful on the local node, then proceed to the remote node.</p><p>su - </p><p>$ /u01/app/19c/grid/rootupgrade.sh</p><p><u>Output:</u></p><p>The following environment variables are set as:</p><p> ORACLE_OWNER= grid</p><p> ORACLE_HOME= /u01/app/19c/grid</p><p>.........</p><p>2023/01/04 13:00:30 CLSRSC-595: Executing upgrade step 18 of 18: 'PostUpgrade'.</p><p>2023/01/04 13:00:37 <span style="color: #38761d;">CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded</span></p><p><span style="color: #38761d;"><b>We have successfully upgraded the grid to the 19c version.</b></span></p><p><br /></p><p><span style="font-size: medium;"><b>Step 7: Post-check after upgrading the grid infrastructure</b></span></p><p>$ crsctl query crs activeversion</p><p>Oracle Clusterware active version on the cluster is [19.0.0.0.0]</p><p>$ crsctl query crs softwareversion</p><p>Oracle Clusterware version on node [dc-vt-testdb1] is [19.0.0.0.0]</p><p>$ crsctl query crs activeversion</p><p>Oracle Clusterware active version on the cluster is [19.0.0.0.0]</p><p>$ crsctl query crs softwareversion</p><p>Oracle Clusterware version on node [node2] is [19.0.0.0.0]</p><p><br /></p><p>$ crsctl check crs</p><p>CRS-4638: Oracle High Availability Services is online</p><p>CRS-4537: Cluster Ready Services is online</p><p>CRS-4529: Cluster Synchronization Services is online</p><p>CRS-4533: Event Manager is online</p><p>$ crsctl stat res -t -init</p><p>$ crsctl stat res -t </p><p><br /></p><p>a.<span style="white-space: pre;"> </span>Upgrade the grid bash profile with a new grid home</p><p># vi .bash_profile</p><p>export ORACLE_HOME=/u01/app/19c/grid</p><p>execute bash_profile from the grid user</p><p>. .bash_profile </p><p><b><span style="color: #38761d;">Grid upgradation is completed successfully.</span></b></p><p><br /></p><div><br /></div><div style="text-align: left;"><span style="font-size: large;"><b><u>Database Upgradation Steps For RAC </u></b></span></div><div style="text-align: left;"><span style="font-size: large;"><b><br /></b></span></div><div style="text-align: left;"><br /></div><div style="text-align: left;"><div><b><span style="font-size: medium;">Step 1: Create a new 19c oracle database home and provide permission for both nodes</span></b></div><div>mkdir -p /u01/app/oracle/product/19c/db_1</div><div>chown -R oracle:oinstall /u01/app/oracle/product/19c/db_1</div><div>chmod -R 775 /u01/app/oracle/product/19c/db_1</div><div><br /></div><div><b><span style="font-size: medium;">Step 2: We download the oracle database 19c software and uploaded zip file into the new 19c home</span></b> <b><span style="font-size: medium;">location (one node of RAC)</span></b></div><div><b><span style="font-size: medium;"><br /></span></b></div><div>cd /backup</div><div>unzip Oracle_19.3_Linux_x86-64_DB_V982063-01.zip -d /u01/app/oracle/product/19c/db_1</div><div><br /></div><div><b><span style="font-size: medium;">Step 3: Install oracle 19c software only in one node of RAC environment for upgradation</span></b></div><div>$ ./runInstaller<span style="white-space: pre;"> </span>- Install software only 1st node only</div><div>Launching Oracle Database Setup Wizard...</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixG4Pdu61eL-YusS0yF6SIu_NjKZv1oHQaWvuHXMup9GyS7jwBkJT_iSRMitciJ2YA0RX7u9xXbxawHEtbzxsL1EuV8DkKJ8LpE1wbHDN04ivfPlDN8fONK_q_cr2g_7RAdCT9QC5z2_spPGe0jprlAjNtL317aRWhyrLsrEBvI17a2Pxxp6rjZ1ui/s796/1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="628" data-original-width="796" height="504" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixG4Pdu61eL-YusS0yF6SIu_NjKZv1oHQaWvuHXMup9GyS7jwBkJT_iSRMitciJ2YA0RX7u9xXbxawHEtbzxsL1EuV8DkKJ8LpE1wbHDN04ivfPlDN8fONK_q_cr2g_7RAdCT9QC5z2_spPGe0jprlAjNtL317aRWhyrLsrEBvI17a2Pxxp6rjZ1ui/w640-h504/1.png" width="640" /></a></div> </div><div><b>Action: </b>Select Set Up Software Only and click the Next button</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_GPg7tS4S16GJd50RcvQKDLDbouHpkMzYbMZnFtPDZ0Nvk1GjJ715uEqbnvGubUk2PMYvWskT89HODHvtDDh2joZJ4qgjuKB0nBBYesRPecFXVJvjZqxV5CxO1mOQP3FIGR-hbmhsDvqd1y_LayncPtX0OukRQB7s5NcbJzUs6vr5KvFYirnoHTGc/s800/2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="631" data-original-width="800" height="504" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_GPg7tS4S16GJd50RcvQKDLDbouHpkMzYbMZnFtPDZ0Nvk1GjJ715uEqbnvGubUk2PMYvWskT89HODHvtDDh2joZJ4qgjuKB0nBBYesRPecFXVJvjZqxV5CxO1mOQP3FIGR-hbmhsDvqd1y_LayncPtX0OukRQB7s5NcbJzUs6vr5KvFYirnoHTGc/w640-h504/2.png" width="640" /></a></div><br /><b>Action:</b> Insert oracle password to check the ssh connectivity and when it is found okay click the Next button.</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHhZnJP0nDtyOAbA39TpJhWYweZY-4VWocMg3cXdGTYfaTXZVybVX8FPc12PyHYYkMfCmEjTejlxCVuq8RtqdCBR37oppsMWl2FkPlkmjSNNULv2-zw_ayM0W4T0J5AYqSmMEti-hgVmIDnBoZSeYDccBDczQ8b44P4mmj1_FbJJTDdS9Q9nmBuxoi/s805/3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="631" data-original-width="805" height="502" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHhZnJP0nDtyOAbA39TpJhWYweZY-4VWocMg3cXdGTYfaTXZVybVX8FPc12PyHYYkMfCmEjTejlxCVuq8RtqdCBR37oppsMWl2FkPlkmjSNNULv2-zw_ayM0W4T0J5AYqSmMEti-hgVmIDnBoZSeYDccBDczQ8b44P4mmj1_FbJJTDdS9Q9nmBuxoi/w640-h502/3.png" width="640" /></a></div><br /> <b>Action:</b> Click the Next button</div><div> </div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfFhslEAx9oM_FSYqV_cSvZ3VovjT89x0jGZ54tWQWF1jODU0m39jIVAsJQ-UPrgd3RRKiQGAAiVZHTUCos3iuNN-cMzgpdOooazECP2NBw1Dj-z8OskZcXl3bJGv5lT8Qz7vooI4MgLy7n1-oSDiCJooY2KlobmpT4xbAFKojzm9sgDy107tLyGQs/s796/4.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="628" data-original-width="796" height="504" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfFhslEAx9oM_FSYqV_cSvZ3VovjT89x0jGZ54tWQWF1jODU0m39jIVAsJQ-UPrgd3RRKiQGAAiVZHTUCos3iuNN-cMzgpdOooazECP2NBw1Dj-z8OskZcXl3bJGv5lT8Qz7vooI4MgLy7n1-oSDiCJooY2KlobmpT4xbAFKojzm9sgDy107tLyGQs/w640-h504/4.png" width="640" /></a></div><div><br /></div><div><b>Action:</b> Here carefully check the home location it will be 19c home and click Next </div><div> </div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV7P9kBSpI-iu1vId7_o_OP5c2n3e425Z2ESMMsmHXx0Zsdo1K5Uv-EK5OwEXOAVIxFZgbVaHglu9n5i92nAZ4c3r3KjDndvs4KKgArpzjGaAV7X9dUGoh9DZmjmu-GQpZ2Cw7-fEMICJsWN5mm5eo_x-P-Zm50rDhovVcTqQ1Tea8v1KKOpf0UTHu/s798/5.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="632" data-original-width="798" height="506" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV7P9kBSpI-iu1vId7_o_OP5c2n3e425Z2ESMMsmHXx0Zsdo1K5Uv-EK5OwEXOAVIxFZgbVaHglu9n5i92nAZ4c3r3KjDndvs4KKgArpzjGaAV7X9dUGoh9DZmjmu-GQpZ2Cw7-fEMICJsWN5mm5eo_x-P-Zm50rDhovVcTqQ1Tea8v1KKOpf0UTHu/w640-h506/5.png" width="640" /></a></div><br /><div><b>Action:</b> Click Next</div><div> </div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWHUG9Zt1frFGDuzvb6ImhAjxqAb_aj78yUcRsMr46xarVoQV_QjzsnoWm8R9O6TkepETXLI0z9H_15PkRpvUVO18ydRSqSjGK8NFz7dvN5WlczkmFLRaX68b_JzsYOisBicM9agJO5ZtJOwmH6on5tHlmAzB7Xp_TjCQUc2bI_QFK6c4ZLGppRpZq/s798/8.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="632" data-original-width="798" height="506" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWHUG9Zt1frFGDuzvb6ImhAjxqAb_aj78yUcRsMr46xarVoQV_QjzsnoWm8R9O6TkepETXLI0z9H_15PkRpvUVO18ydRSqSjGK8NFz7dvN5WlczkmFLRaX68b_JzsYOisBicM9agJO5ZtJOwmH6on5tHlmAzB7Xp_TjCQUc2bI_QFK6c4ZLGppRpZq/w640-h506/8.png" width="640" /></a></div><div><br /></div><div><b>Action:</b> Click Install</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKxrNcVFncdYeQBSDMr1nW9E4XO45cLFFt6o5OskVniSX2QqvggrHBROcNu2uzDHrYBfBY5oz6gHCdpIZ8GifZL8G9JfkWhDWhi2tDMEbkf-X-mXuJLMWPpRtGMeYFqiV1jh85mYeTiX2RLqRKHK-LTO2weG0ziN9FKiBYwt2nsnr7sj5d4jCHSF51/s792/9.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="710" data-original-width="792" height="574" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKxrNcVFncdYeQBSDMr1nW9E4XO45cLFFt6o5OskVniSX2QqvggrHBROcNu2uzDHrYBfBY5oz6gHCdpIZ8GifZL8G9JfkWhDWhi2tDMEbkf-X-mXuJLMWPpRtGMeYFqiV1jh85mYeTiX2RLqRKHK-LTO2weG0ziN9FKiBYwt2nsnr7sj5d4jCHSF51/w640-h574/9.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><div><b>Action:</b> Execute root.sh script in the local node first once it is completed successfully then run in the second node. When both are executed smoothly click the Next button.</div><div> </div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtDfhtxE57ZTniai1Y8IqZwkWT_2cduXpgG8Kd8mDGvJTmTacAazzYWo6Gk10sX7w1wJn76LrDFaDburbINb_sQGEy8kM-_Uniy_a3pLZPcj8Wsq_0EHDdB3RgexVRpBSLJ5Xw5Tg2kqdRcm1LSdUULzK6YefwqXWmIHJDb_hABEtheoE7Q6oJ4Aae/s797/10.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="626" data-original-width="797" height="502" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtDfhtxE57ZTniai1Y8IqZwkWT_2cduXpgG8Kd8mDGvJTmTacAazzYWo6Gk10sX7w1wJn76LrDFaDburbINb_sQGEy8kM-_Uniy_a3pLZPcj8Wsq_0EHDdB3RgexVRpBSLJ5Xw5Tg2kqdRcm1LSdUULzK6YefwqXWmIHJDb_hABEtheoE7Q6oJ4Aae/w640-h502/10.png" width="640" /></a></div><br /><div><span style="color: #6aa84f;">oracle database software-only install is successfully completed.</span></div><div><br /></div><div><span style="font-size: medium;"><b>Step 4: Check the Invalid Objects if there have any invalid objects compile them before the upgrade.</b></span></div><div> </div><div>As a prerequisite, it Is recommended to check for invalid objects in the database. In our case,</div><div>there are no invalid objects.</div><div><br /></div><div>$ sqlplus / as sysdba</div><div><br /></div><div>SQL*Plus: Release 12.2.0.1.0 Production on Thu Jan 5 16:12:57 2023</div><div>Copyright (c) 1982, 2016, Oracle. All rights reserved.</div><div>Connected to:</div><div>Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production</div><div><br /></div><div>$ SQL> select count(*) from dba_objects where status='INVALID';</div><div> COUNT(*)</div><div>----------</div><div> 0 </div><div><br /></div><div><br /></div><div><span style="font-size: medium;"><b>Step 5: Create the required directory where store the upgradation script</b></span></div><div><span style="font-size: medium;"><b><br /></b></span></div><div>mkdir -p /u01/spool/preupgrade<span style="white-space: pre;"> </span>-- 1st Node only</div><div><br /></div><div>chown -R oracle:oinstall /u01/spool/preupgrade</div><div><br /></div><div>chmod -R 775 /u01/spool/preupgrade</div><div><br /></div><div><b><span style="font-size: medium;">Step 6: Execute the Pre-upgrade script in 1st node only</span></b></div><div><br /></div><div>In the below screenshot, we have executed the preupgrade.jar from the 19c Oracle Home. The</div><div>preupgrade.jar output provides pre and post-upgradation recommendation fixup SQL script. The pre</div><div>and post-upgradation fixup SQL scripts can be located in the directory location as created above. In the</div><div>output, we also get the command to run the pre and post-fixup steps.</div><div><br /></div><div><b><span style="color: red;">/orasoft/app/oracle/product/12c/db_1/jdk/bin/java -jar /orasoft/app/oracle/product/19c/db_1/rdbms/admin/preupgrade.jar FILE DIR /orasoft/spool/preupgrade/</span></b></div><div> </div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_vZqeE9UDmAszLkMzMh_rO0x_braTQMWce34PYa-LL3fSB7kpqKEMqdDmV4d6mI9XViFVNou8bt6Y1PTYnYJ_CPf6rNx2Gq84nOj5miYKAf_l-a1PkKVvOiBvhxAyi2tWJXzUIP-QVXMAsBXg0Gm9WfkEIys9CKHlSlTA4hBiJkvfJgiA8Q2G6G8j/s1134/1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="343" data-original-width="1134" height="194" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_vZqeE9UDmAszLkMzMh_rO0x_braTQMWce34PYa-LL3fSB7kpqKEMqdDmV4d6mI9XViFVNou8bt6Y1PTYnYJ_CPf6rNx2Gq84nOj5miYKAf_l-a1PkKVvOiBvhxAyi2tWJXzUIP-QVXMAsBXg0Gm9WfkEIys9CKHlSlTA4hBiJkvfJgiA8Q2G6G8j/w640-h194/1.png" width="640" /></a></div><br /></div><div><br /></div><div><b>Note:</b> Carefully view the pre-upgrade log and take care of the issues.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisr4NwYpg5giqKn7nKTPXbQ7_pLX7sF8q9NCiSjX3zrXbE19K5Fwdz0zCmkHG7bVd2tPVJ7O-1JV-QUF35kWrZ4y6WQiCgzxccrpD5iPvRZH8HpdXzA9CpqUbslJHZT2onoL5FOZlsCLcqmk4QBi_gt5kdyAoCP2HjGXtkuP6VvC4wBnIC1WBaxqu5/s615/2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="265" data-original-width="615" height="276" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisr4NwYpg5giqKn7nKTPXbQ7_pLX7sF8q9NCiSjX3zrXbE19K5Fwdz0zCmkHG7bVd2tPVJ7O-1JV-QUF35kWrZ4y6WQiCgzxccrpD5iPvRZH8HpdXzA9CpqUbslJHZT2onoL5FOZlsCLcqmk4QBi_gt5kdyAoCP2HjGXtkuP6VvC4wBnIC1WBaxqu5/w640-h276/2.png" width="640" /></a></div><br /><div><br /></div><div><br /></div><div><b><span style="font-size: medium;">Step 7: GATHER DICTIONARY STATS</span></b></div><div><b><span style="font-size: medium;"><br /></span></b></div><div>Before the upgrade process, gather stats. One of the recommendations is to export the stats as well.</div><div><br /></div><div>sqlplus / as sysdba</div><div><br /></div><div>SQL> EXECUTE DBMS_STATS.GATHER_DICTIONARY_STATS;</div><div>PL/SQL procedure successfully completed.</div><div><br /></div><div><b><span style="font-size: medium;">Step 8: Purge Recycle Bin</span></b></div><div><b><span style="font-size: medium;"><br /></span></b></div><div>Before the upgrade process, empty the recycle bin. SQL> purge dba_recyclebin;</div><div>DBA Recyclebin purged.</div><div><br /></div><div><span style="font-size: medium;"><b>Step 9: RUN PREUPGRADE FIXUP SQL</b></span></div><div><span style="font-size: medium;"><b><br /></b></span></div><div>SQL> @/orasoft/spool/preupgrade/preupgrade_fixups.sql</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC7uH0sQIzn1hhoeUJBD09_avFDB2lHXf_bJD1FueG7AtRhAcc3-a_vQE1LZ0tLDCPvQ_WdtZ9R-3eGNbALTkbew_IR1ibfOcOh3bErL7nGd0pKFhtJn-u-Rmo_WUM608k9-fJRrp2jXDzhfTkX_uGZ2e5ETt8g3puAPiWhRyNpJTjyIQVKThhDiVI/s585/3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="562" data-original-width="585" height="614" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC7uH0sQIzn1hhoeUJBD09_avFDB2lHXf_bJD1FueG7AtRhAcc3-a_vQE1LZ0tLDCPvQ_WdtZ9R-3eGNbALTkbew_IR1ibfOcOh3bErL7nGd0pKFhtJn-u-Rmo_WUM608k9-fJRrp2jXDzhfTkX_uGZ2e5ETt8g3puAPiWhRyNpJTjyIQVKThhDiVI/w640-h614/3.png" width="640" /></a></div><br /><div><br /></div><div> <b><span style="font-size: medium;">Step 10: Verify Archive Destination Size</span></b></div><div><b><span style="font-size: medium;"><br /></span></b></div><div>Ensure you have enough free space in db_recovery_file_dest and make changes to the parameter </div><div>db_recovery_file_dest_size if needed increase size.</div><div><br /></div><div>SQL> archive log list;</div><div>SQL> show parameter db_recovery_file_dest</div><div><br /></div><div><b><span style="font-size: medium;">Step 11: Stop Database Listener and Check the Flashback Status</span></b></div><div><b><span style="font-size: medium;"><br /></span></b></div><div># srvctl stop LISTENER<span style="white-space: pre;"> </span>- run from grid user</div><div><br /></div><div>SQL> select flashback_on from v$database;</div><div>FLASHBACK_ON</div><div>------------------</div><div>NO</div><div><br /></div><div>Enable flashback database using the following procedure </div><div><br /></div><div>SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=20G;</div><div>SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST='+ORAFLASH';</div><div>SQL> alter database flashback on;</div><div><br /></div><div><b><span style="font-size: medium;">Step 12: Create a restore point before the upgrade issue</span></b></div><div><b><span style="font-size: medium;"><br /></span></b></div><div>SQL> create restore point PRE_UPGRADE guarantee flashback database;</div><div>NAME</div><div>-----------------------------------------------------------------------------------------------</div><div>PRE_UPGRADE</div><div><br /></div><div><b><span style="font-size: medium;">Step 13: Oracle database upgrade for RAC environment.</span></b></div><div><b><span style="font-size: medium;"><br /></span></b></div><div>Shutdown database of both nodes, copy spfile/create pfile and password file to new 19c oracle home</div><div>COPY [SPFILE/PASSWORD] FILES FROM 12C TO 19C ORACLE HOME create pfile and store it in 19c home</div><div><br /></div><div>sqlplus / as sysdba</div><div><br /></div><div>create pfile=’ /u01/app/oracle/product/19c/db_1/dbs/initTESTDB1.ora’ from spfile;</div><div><br /></div><div><b>Shutdown database & listener</b></div><div><br /></div><div>srvctl stop LISTENER <span style="white-space: pre;"> <span> </span><span> </span><span> </span><span> </span></span>-- from grid user</div><div>srvctl stop database -d TESTDB -o immediate<span style="white-space: pre;"> </span>-- from oracle user</div><div><br /></div><div><b><span style="font-size: medium;">Step 14: Start database in upgrade from 19c home</span></b></div><div><b><span style="font-size: medium;"><br /></span></b></div><div>vi .bash_profile</div><div>export ORACLE_HOME=/u01/app/oracle/product/19c/db_1</div><div><br /></div><div>$ which sqlplus</div><div>/u01/app/oracle/product/19c/db_1/bin/sqlplus</div><div><br /></div><div>sqlplus / as sysdba</div><div><br /></div><div>SQL> startup upgrade</div><div><br /></div><div>SQL> select status from v$instance;</div><div><br /></div><div>Status</div><div>---------------------------------------</div><div>OPEN MIGRATE</div><div><br /></div><div><b>Now run dbupgrade from 19c home</b></div><div><br /></div><div>cd $ORACLE_HOME/bin</div><div><br /></div><div>$ ./dbupgrade<span style="white-space: pre;"> </span>-- 1st node only & 2nd node will be down state</div><div><br /></div><div><u>output:</u></div><div><u><br /></u></div><div>Phases [0-107] End Time: [2023_01_08 17:01:44]</div><div>------------------------------------------------------</div><div>Grand Total Time: 1910s</div><div> LOG FILES: (/u01/app/oracle/product/19c/db_1/cfgtoollogs/TESTDB/upgrade20230108162941/catupgrd*.log)</div><div>Upgrade Summary Report Located in:</div><div>/u01/app/oracle/product/19c/db_1/cfgtoollogs/TESTDB/upgrade20230108162941/upg_summary.log</div><div><b><span style="color: #6aa84f;">Grand Total Upgrade Time: [0d:0h:31m:50s]</span></b></div><div><br /></div><div><b><span style="font-size: medium;">Step 15: Post-Upgrade Activities</span></b></div><div><b><span style="font-size: medium;"><br /></span></b></div><div>After the upgrade start the database from 19c home</div><div><br /></div><div>sqlplus / as sysdba</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH-Zd9OypDe4LBApIUeHLrwlv6q1FP7OQAEynauSuC54Inzw-i2hVwEv1NNZKX1c_fvpaCoGEa1Zlp5-R6u2nheDj01PSHSEIi7B7dWjva_0ESDVhO3OckXKfdLFxlvKqMF5duKgyXWOvTaeegFHSYSXcnaV5RSFSYXe5qgJpG89Y8o_ZeLwXKiKfM/s373/4.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="234" data-original-width="373" height="402" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH-Zd9OypDe4LBApIUeHLrwlv6q1FP7OQAEynauSuC54Inzw-i2hVwEv1NNZKX1c_fvpaCoGEa1Zlp5-R6u2nheDj01PSHSEIi7B7dWjva_0ESDVhO3OckXKfdLFxlvKqMF5duKgyXWOvTaeegFHSYSXcnaV5RSFSYXe5qgJpG89Y8o_ZeLwXKiKfM/w640-h402/4.png" width="640" /></a></div><div><br /></div><div> </div><div><span style="font-size: medium;"><b>Step 16: Post upgrade run utlrp.sql to compile an invalid object</b></span></div><div><span style="font-size: medium;"><b><br /></b></span></div><div>cd $ORACLE_HOME/rdbms/admin</div><div><br /></div><div>SQL> @utlrp.sql</div><div><br /></div><div><b><span style="font-size: medium;">Step 17: Run the post-upgrade script </span></b></div><div><br /></div><div>cd /u01/spool/preupgrade</div><div>SQL> @postupgrade_fixups.sql</div><div> </div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAQA8voJvX0DgGUwVzoeOuU5C6xpn6HcB3KFwe046y4j0zsaldz8oVYjqdiKzIl2sL-JMEFVGtKgrY1M6JvH4Puti01GmfQkPJQiJffoQy0nEdoQvWxLC3pi_qewUd517ZkqG_4CbQJjGUvXuaats4-X5Q0qXstX4f9DF8JpRoTcL-A0g2grgo_UAd/s582/5.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="460" data-original-width="582" height="506" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAQA8voJvX0DgGUwVzoeOuU5C6xpn6HcB3KFwe046y4j0zsaldz8oVYjqdiKzIl2sL-JMEFVGtKgrY1M6JvH4Puti01GmfQkPJQiJffoQy0nEdoQvWxLC3pi_qewUd517ZkqG_4CbQJjGUvXuaats4-X5Q0qXstX4f9DF8JpRoTcL-A0g2grgo_UAd/w640-h506/5.png" width="640" /></a></div><br /><div><br /></div><div><b><span style="font-size: medium;">Step 18: Upgrade timezone </span></b></div><div><b><span style="font-size: medium;"><br /></span></b></div><div>SQL> select version from v$timezone_file;</div><div> VERSION</div><div>---------------</div><div> 26</div><div><br /></div><div>cd $ORACLE_HOME/rdbms/admin</div><div><br /></div><div>SQL> @utltz_upg_check.sql</div><div>When it executed without any error run the below sql script</div><div><br /></div><div><br /></div><div>SQL> @utltz_upg_apply.sql</div><div><br /></div><div>Now Run the script utlusts.sql</div><div> </div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPSHqaxfQ8vQKRw09oSNJ5PhIhrQ1r-RPvdyScJvje-OXEuPhapyrzACE25kTQjKtIJU3Az3pQddRiuc9_x1sGwGauw4wrIRpFe4IHk0qhaEVeO7w8KzsTAaKigzYtG4Wl0c3gpGV2oBg8b_8A3-0aRIPXhZUXeb5KWzVxJPwrGlUgseoxJLpV-y_M/s625/6.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="470" data-original-width="625" height="482" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPSHqaxfQ8vQKRw09oSNJ5PhIhrQ1r-RPvdyScJvje-OXEuPhapyrzACE25kTQjKtIJU3Az3pQddRiuc9_x1sGwGauw4wrIRpFe4IHk0qhaEVeO7w8KzsTAaKigzYtG4Wl0c3gpGV2oBg8b_8A3-0aRIPXhZUXeb5KWzVxJPwrGlUgseoxJLpV-y_M/w640-h482/6.png" width="640" /></a></div><br /><div><br /></div><div>Now run the script catuppst.sql</div><div><br /></div><div>SQL> @catuppst.sql</div><div><br /></div><div>Rerun post upgrade fixup sql to check where exit any error or not</div><div><br /></div><div>SQL> @postupgrade_fixups.sql</div><div> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSb1BRGcDjFTzfhyC83drJ9c4ZHNStYusCLmTfZW87-mio4gGZCTiya8eckmW1pCDqWa3XV5H0hg1IA45aDbr-vxJ2ChEmX-8Ltdd2a1-wywm1SHJ8VjCDLhFT5YV37qaIOPxRdCTLAS3mMY4EUVyznl4czyOLDuKoRmMHsrBWZ7QDnZh44J4bwquZ/s607/7.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="144" data-original-width="607" height="152" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSb1BRGcDjFTzfhyC83drJ9c4ZHNStYusCLmTfZW87-mio4gGZCTiya8eckmW1pCDqWa3XV5H0hg1IA45aDbr-vxJ2ChEmX-8Ltdd2a1-wywm1SHJ8VjCDLhFT5YV37qaIOPxRdCTLAS3mMY4EUVyznl4czyOLDuKoRmMHsrBWZ7QDnZh44J4bwquZ/w640-h152/7.png" width="640" /></a></div></div><div><br /></div><div>Now check the invalid object </div><div><br /></div><div>SQL> select count(*) from dba_objects where status='INVALID';</div><div> COUNT(*)</div><div>----------------</div><div> 0</div><div><br /></div><div>Upgradation is completed successfully so delete the restore point that created before upgrade</div><div><br /></div><div>SQL> select name from v$restore_point;</div><div>NAME</div><div>--------------------------------</div><div>PRE_UPGRADE</div><div><br /></div><div>SQL> drop restore point PRE_UPGRADE;</div><div><br /></div><div>Set compatible parameter</div><div><br /></div><div>SQL> show parameter compatible</div><div>NAME TYPE VALUE</div><div>------------------------------------ ----------- ------------------------------</div><div>compatible string 12.2.0</div><div><br /></div><div>SQL> alter system set compatible='19.0.0' scope=spfile sid='*';</div><div><br /></div><div>VERIFY DBREGISTRY – FINAL CHECK</div><div><br /></div><div>SQL> col COMP_ID for a10</div><div>SQL> col COMP_NAME for a40</div><div>SQL> col VERSION for a15</div><div>SQL> set lines 200 pages 100</div><div>SQL> select COMP_ID,COMP_NAME,VERSION,STATUS from dba_registry;</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEismgLDwMBT08dgl_UaaIdnqLK6sCvCMATdGkT8xv8XfTgzWeMCFn4geD3P93dDNve14rH3c3Vkr49qnfhVEzhbkLYvRZgxBhjkoIN3o_WzUU-Dt67xO4DjCM0-V4LnspHE-tmfJNlWnCxE5ORzYGKQD8ncxcV_ZoELjZKLRWO43Ti5_1G1CmU8xeTm/s605/8.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="323" data-original-width="605" height="342" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEismgLDwMBT08dgl_UaaIdnqLK6sCvCMATdGkT8xv8XfTgzWeMCFn4geD3P93dDNve14rH3c3Vkr49qnfhVEzhbkLYvRZgxBhjkoIN3o_WzUU-Dt67xO4DjCM0-V4LnspHE-tmfJNlWnCxE5ORzYGKQD8ncxcV_ZoELjZKLRWO43Ti5_1G1CmU8xeTm/w640-h342/8.png" width="640" /></a></div><br /><div> </div><div>Now set a new database home for the second node of RAC and startup database for the second node</div><div><br /></div><div>After completing the migration upgrade oracle home for RAC</div><div><br /></div><div>Oracle database new home upgradation in oracle RAC infrastructure using the following command</div><div><br /></div><div>srvctl config database -d TESTDB<span style="white-space: pre;"> </span>-- Show the database configuration</div><div><br /></div><div>su – oracle</div><div>cd $ORACLE_HOME/bin</div><div><br /></div><div>./srvctl upgrade database -d databasename -oraclehome 19c_new_home</div><div><br /></div><div>Ex: ./srvctl upgrade database -d TESTDB -oraclehome /u01/app/oracle/product/19c/db_1</div><div><br /></div><div>./srvctl status database -d TESTDB<span style="white-space: pre;"> </span>-- Check status of database</div><div><br /></div><div>./srvctl stop database -d TESTDB -o immediate <span style="white-space: pre;"> </span>-- stop database of the cluster</div><div>./srvctl start database -d TESTDB<span style="white-space: pre;"> <span> </span><span> </span></span>-- Start database of cluster</div><div><br /></div><div><span style="background-color: white; border: var(--artdeco-reset-base-border-zero); box-sizing: inherit; font-family: "Source Serif Pro", serif; font-size: 20px; font-weight: var(--artdeco-reset-typography-font-weight-bold); margin: var(--artdeco-reset-base-margin-zero); outline: var(--artdeco-reset-base-outline-zero); padding: var(--artdeco-reset-base-padding-zero); vertical-align: var(--artdeco-reset-base-vertical-align-baseline);"><span style="color: #38761d;">The database has been successfully upgraded to 19c.</span></span></div><div><span style="background-color: white; border: var(--artdeco-reset-base-border-zero); box-sizing: inherit; font-family: "Source Serif Pro", serif; font-size: 20px; font-weight: var(--artdeco-reset-typography-font-weight-bold); margin: var(--artdeco-reset-base-margin-zero); outline: var(--artdeco-reset-base-outline-zero); padding: var(--artdeco-reset-base-padding-zero); vertical-align: var(--artdeco-reset-base-vertical-align-baseline);"><span style="color: #38761d;"><br /></span></span></div><div><span style="background-color: white; border: var(--artdeco-reset-base-border-zero); box-sizing: inherit; font-size: 20px; margin: var(--artdeco-reset-base-margin-zero); outline: var(--artdeco-reset-base-outline-zero); padding: var(--artdeco-reset-base-padding-zero); vertical-align: var(--artdeco-reset-base-vertical-align-baseline);"><span style="font-family: Source Serif Pro, serif;"><div><span style="color: #38761d;">SQL> select name, open_mode, version from v$database, v$instance;</span></div><div style="color: #38761d;"><br /></div><div style="color: #38761d;">NAME OPEN_MODE VERSION</div><div style="color: #38761d;">--------- -------------------- -----------------</div><div style="color: #38761d;">TESTDB READ WRITE 19.0.0.0.0</div></span></span></div><div><br /></div></div>dbatutorial.comhttp://www.blogger.com/profile/13969648514293009119noreply@blogger.com0tag:blogger.com,1999:blog-7125033335107872703.post-67252950834275718452022-12-28T11:37:00.024+06:002023-01-17T21:31:35.833+06:00Step by Step approach for installing Oracle 19c RAC on Linux <p>This post covers a step-by-step approach for installing Oracle 19c Real Application Cluster (RAC) on a Linux Operating System (OS). Additionally, we describe the server hardware checklist, require packages, and operating system parameters for installing 19c RAC. Finally, we show the guide to installing the oracle 19c database on RAC. </p><span><a name='more'></a></span><p><br /></p><p><b><span style="font-size: medium;">Steps to Install Oracle 19c RAC</span></b></p><p>1.<span style="white-space: pre;"> </span>Oracle Grid Infrastructure Installation Server Hardware Checklist.</p><p>2.<span style="white-space: pre;"> </span>Configuring Servers for Oracle Grid Infrastructure and Oracle RAC</p><p>3.<span style="white-space: pre;"> </span>Packages for Oracle Linux 7 and Red Hat Enterprise Linux 7</p><p>4.<span style="white-space: pre;"> </span>Prepare the cluster nodes for Oracle RAC</p><p>5.<span style="white-space: pre;"> </span>Partition the Shared Disks</p><p>6.<span style="white-space: pre;"> </span>Installing and Configuring ASMLib</p><p>7. <span> </span><span>Make ssh setup on both nodes & Verify the preinstall check</span></p><p>8.<span style="white-space: pre;"> </span>Oracle 19c grid infrastructure installation steps</p><p>9.<span style="white-space: pre;"> </span>Oracle ASM Disk Group Create Steps</p><p>10.<span style="white-space: pre;"> </span>Oracle 19c RDBMS Software Only Installation</p><p>11.<span style="white-space: pre;"> </span>Create Oracle 19c Database Installation Step</p><p><br /></p><p><b><span style="font-size: medium;">Step 1: Oracle Grid Infrastructure Installation Server Hardware Checklist</span></b></p><p>(a)<span style="white-space: pre;"> </span>Network Switches:</p><p>•<span style="white-space: pre;"> </span>Public network switch, at least 1 GbE, connected to a public gateway. </p><p>•<span style="white-space: pre;"> </span>Private network switch, at least 1 GbE, with 10 GbE recommended, dedicated for use only with other cluster member nodes. The interface must support the user datagram protocol (UDP) using high-speed network adapters and switches that support TCP/IP. Alternatively, use InfiniBand for the interconnect.</p><p><br /></p><p>(b)<span style="white-space: pre;"> </span>Runlevel: </p><p>Servers should be either in runlevel 3 or runlevel 5.</p><p>(c)<span style="white-space: pre;"> </span>Random Access Memory (RAM): </p><p>At least 8 GB of RAM for Oracle Grid Infrastructure for a Cluster installation, including installations where you plan to install Oracle RAC.</p><p>(d)<span style="white-space: pre;"> </span>Temporary disk space allocation: </p><p>At least 1 GB allocated to/tmp. </p><p>(e)<span style="white-space: pre;"> </span> Storage hardware: </p><p>Either Storage Area Network (SAN) or Network-Attached Storage (NAS).</p><p>(f)<span style="white-space: pre;"> </span>Local Storage Space for Oracle Software</p><p>•<span style="white-space: pre;"> </span>At least 8 GB of space for the Oracle Grid Infrastructure for a cluster home (Grid home). Oracle recommends that you allocate 100 GB to allow additional space for patches. </p><p>•<span style="white-space: pre;"> </span>At least 12 GB of space for the Oracle base of the Oracle Grid Infrastructure installation owner (Grid user). The Oracle base includes Oracle Clusterware and Oracle ASM log files. </p><p>•<span style="white-space: pre;"> </span>For Linux x86-64 platforms, if you intend to install Oracle Database, then allocate 6.4 GB of disk space for the Oracle home (the location for the Oracle Database software binaries)</p><p><br /></p><p><span style="font-size: medium;"><b>Step 2: Configuring Servers for Oracle Grid Infrastructure and Oracle RAC</b></span></p><p>(a)<span style="white-space: pre;"> </span>Checking Server Hardware and Memory Configuration</p><p><br /></p><p>1.<span style="white-space: pre;"> </span>To determine the physical RAM size, enter the following command: </p><p># grep MemTotal /proc/meminfo</p><p>If the size of the physical RAM installed in the system is less than the required size, then you must install more memory before continuing.</p><p>2. To determine the size of the configured swap space, enter the following command: </p><p># grep SwapTotal /proc/meminfo</p><p>If necessary, see your operating system documentation for information about how to configure additional swap space.</p><p>3. To determine the amount of space available in the /tmp directory, enter the following command: </p><p># df -h /tmp</p><p>4. To determine the amount of free RAM and disk swap space on the system, enter the following command: </p><p># free </p><p>5. To determine if the system architecture can run the software, enter the following command: </p><p># uname -m</p><p>Verify that the processor architecture matches the Oracle software release to install. For example, you should see the following for a x86-64 bit system: </p><p>x86_64 If you do not see the expected output, then you cannot install the software on this system.</p><p>6. Verify that shared memory (/dev/shm) is mounted properly with sufficient size using the following command: </p><p># df -h /dev/shm</p><p><br /></p><p>(b)<span style="white-space: pre;"> </span>Supported Oracle Linux 7 and Red Hat Enterprise Linux 7 Distributions for x86-64</p><p>Use the following information to check supported Oracle Linux 7 and Red Hat Linux 7 distributions: Oracle Linux 7 </p><p>1.<span style="white-space: pre;"> </span>Supported distributions: </p><p>•<span style="white-space: pre;"> </span>Oracle Linux 7 with the Unbreakable Enterprise kernel: 3.8.13-33.el7uek.x86_64 or later </p><p>•<span style="white-space: pre;"> </span>Oracle Linux 7 with the Red Hat Compatible kernel: 3.10.0-54.0.1.el7.x86_64 or later Red Hat Enterprise Linux 7 Supported distribution: </p><p>•<span style="white-space: pre;"> </span>Red Hat Enterprise Linux 7: 3.10.0-54.0.1.el7.x86_64 or later </p><p><br /></p><p><b><span style="font-size: medium;">Step3: Packages for Oracle Linux 7 and Red Hat Enterprise Linux 7</span></b></p><p>binutils-2.23.52.0.1-12.el7.x86_64 </p><p>compat-libcap1-1.10-3.el7.x86_64 </p><p>gcc-4.8.2-3.el7.x86_64 </p><p>gcc-c++-4.8.2-3.el7.x86_64 </p><p>glibc-2.17-36.el7.i686 </p><p>glibc-2.17-36.el7.x86_64 </p><p>glibc-devel-2.17-36.el7.i686 </p><p>glibc-devel-2.17-36.el7.x86_64 </p><p>ksh libaio-0.3.109-9.el7.i686 </p><p>libaio-0.3.109-9.el7.x86_64 </p><p>libaio-devel-0.3.109-9.el7.i686 </p><p>libaio-devel-0.3.109-9.el7.x86_64 </p><p>libgcc-4.8.2-3.el7.i686 </p><p>libgcc-4.8.2-3.el7.x86_64 </p><p>libstdc++-4.8.2-3.el7.i686 </p><p>libstdc++-4.8.2-3.el7.x86_64 </p><p>libstdc++-devel-4.8.2-3.el7.i686 </p><p>libstdc++-devel-4.8.2-3.el7.x86_64 </p><p>libXi-1.7.2-1.el7.i686 </p><p>libXi-1.7.2-1.el7.x86_64 </p><p>libXtst-1.2.2-1.el7.i686 </p><p>libXtst-1.2.2-1.el7.x86_64 </p><p>make-3.82-19.el7.x86_64 </p><p>sysstat-10.1.5-1.el7.x86_64 </p><p><br /></p><p>The following command can be run on the system to list the currently installed packages: </p><p>rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' binutils \ </p><p>compat-libstdc++-33 \ </p><p>elfutils-libelf \ </p><p>elfutils-libelf-devel \ </p><p>gcc \ </p><p>gcc-c++ \ </p><p>glibc \ </p><p>glibc-common \ </p><p>glibc-devel \ </p><p>glibc-headers \ </p><p>ksh \ </p><p>libaio \ </p><p>libaio-devel \ </p><p>libgcc \ </p><p>libstdc++ \ </p><p>libstdc++-devel \ </p><p>make \ </p><p>sysstat \ </p><p>unixODBC \ </p><p>unixODBC-devel</p><p><br /></p><p>Any missing RPM from the list above should be added using the "--aid" of "/bin/rpm" option to ensure all dependent packages are resolved and installed as well. </p><p> </p><p>NOTE: Be sure to check on all nodes that the Linux Firewall and SE Linux is disabled</p><p><br /></p><p><b><span style="font-size: medium;">Step 4: Prepare the cluster nodes for Oracle RAC</span></b></p><p>(a)<span style="white-space: pre;"> </span>User Accounts</p><p>NOTE: Oracle recommends different users for installing the Grid Infrastructure (GI) and the Oracle RDBMS home. The GI will be installed in a separate Oracle base, owned by the user 'grid.' After the grid install the GI home will be owned by root, and inaccessible to unauthorized users. </p><p> </p><p>1.<span style="white-space: pre;"> </span>Create OS groups using the command below Enter commands as the root user: </p><p>#/usr/sbin/groupadd oinstall </p><p>#/usr/sbin/groupadd dba </p><p>#/usr/sbin/groupadd asmadmin </p><p>#/usr/sbin/groupadd asmdba </p><p>#/usr/sbin/groupadd asmoper </p><p> </p><p>2.<span style="white-space: pre;"> </span>Create the users that will own the Oracle software using the commands:</p><p> #/usr/sbin/useradd -g oinstall -G asmadmin,asmdba,asmoper -d /home/grid -m grid </p><p>#/usr/sbin/useradd -g oinstall -G dba,asmdba -d /home/oracle -m oracle </p><p> </p><p>3.<span style="white-space: pre;"> </span>Set the password for the oracle account using the following command. Replace password with your own password. </p><p><br /></p><p># passwd oracle </p><p>Changing password for user oracle. </p><p>New UNIX password: password </p><p>retype new UNIX password: password </p><p>passwd: all authentication tokens updated successfully. </p><p><br /></p><p> # passwd grid </p><p>Changing password for user oracle. </p><p>New UNIX password: password </p><p>retype new UNIX password: password </p><p>passwd: all authentication tokens updated successfully</p><p>Repeat Step 1 through Step 3 on each node in your cluster.</p><p><br /></p><p>(b)<span style="white-space: pre;"> </span>Configuring Kernel Parameters</p><p>As the root user add the following kernel parameter settings to /etc/sysctl.conf. If any of the parameters are already in the /etc/sysctl.conf file, the higher of the 2 values should be used. </p><p>kernel.shmmni = 4096</p><p> kernel.sem = 250 32000 100 128 </p><p>fs.file-max = 6553600 </p><p>net.ipv4.ip_local_port_range = 9000 65500 </p><p>net.core.rmem_default = 262144 </p><p>net.core.rmem_max = 4194304 </p><p>net.core.wmem_default = 262144 </p><p>net.core.wmem_max = 1048576 </p><p><br /></p><p>1.<span style="white-space: pre;"> </span>Add the following lines to the /etc/security/limits.conf file:</p><p>grid soft nproc 2047 </p><p>grid hard nproc 16384 </p><p>grid soft nofile 1024 </p><p>grid hard nofile 65536 </p><p>oracle soft nproc 2047 </p><p>oracle hard nproc 16384 </p><p>oracle soft nofile 1024 </p><p>oracle hard nofile 65536</p><p>2.<span style="white-space: pre;"> </span>Add or edit the following line in the /etc/pam.d/login file, if it does not already exist:</p><p>session required pam_limits.so</p><p><br /></p><p>(c)<span style="white-space: pre;"> </span> Create the Oracle Inventory Directory </p><p>To create the Oracle Inventory directory, enter the following commands as the root user: </p><p># mkdir -p /u01/app/oraInventory </p><p># chown -R grid:oinstall /u01/app/oraInventory </p><p># chmod -R 775 /u01/app/oraInventory </p><p>2.7. Creating the Oracle Grid Infrastructure Home Directory </p><p> </p><p>To create the Grid Infrastructure home directory, enter the following commands as the root user: </p><p># mkdir -p /u01/app/19c/grid </p><p># chown -R grid:oinstall /u01/app/19c/grid </p><p># chmod -R 775 /u01/app/19c/grid </p><p><br /></p><p>2.8. Creating the Oracle Base Directory </p><p> </p><p>To create the Oracle Base directory, enter the following commands as the root user: </p><p># mkdir -p /u01/app/oracle </p><p># chown -R oracle:oinstall /u01/app/oracle </p><p># chmod -R 775 /u01/app/oracle </p><p><br /></p><p>2.9. Creating the Oracle RDBMS Home Directory </p><p> </p><p>To create the Oracle RDBMS Home directory, enter the following commands as the root user: </p><p># mkdir -p /u01/app/oracle/product/19c/db_1 </p><p># chown -R oracle:oinstall /u01/app/oracle/product/19c/db_1 </p><p># chmod -R 775 /u01/app/oracle/product/19c/db_1</p><p><br /></p><p>(d)<span style="white-space: pre;"> </span>Environment Profile Setup for Grid and Oracle User</p><p><br /></p><p>1.<span style="white-space: pre;"> </span>Grid user environment setup</p><p>export ORACLE_SID=+ASM1</p><p>export ORACLE_BASE=/u01/app/19c</p><p>export ORACLE_HOME=/u01/app/19c/grid</p><p>export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin:/usr/local/bin</p><p>export TEMP=/tmp</p><p>export TMP=/tmp</p><p>export TMPDIR=/tmp</p><p>export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib</p><p>export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib</p><p><br /></p><p>2.<span style="white-space: pre;"> </span>Oracle User Environment Setup</p><p>export ORACLE_SID=DBTEST</p><p>export ORACLE_BASE=/u01/app/oracle</p><p>export ORACLE_HOME=/u01/app/oracle/product/19c/db_1</p><p>export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin:/usr/local/bin</p><p>export TEMP=/tmp</p><p>export TMP=/tmp</p><p>export TMPDIR=/tmp</p><p>export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib</p><p>export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib</p><p><br /></p><p><span style="font-size: medium;"><b>Step 5: Partition the Shared Disks</b></span></p><p>Once the LUNs have been presented from the SAN to ALL servers in the cluster, partition the LUNs from one node only.</p><p>fdisk /dev/sda </p><p>Command (m for help): u </p><p>Changing display/entry units to sectors </p><p>Command (m for help): n </p><p>Command action </p><p>e extended </p><p>p primary partition (1-4) p </p><p>Partition number (1-4): 1 </p><p>First sector (61-1048575, default 61): 2048 </p><p>Last sector or +size or +sizeM or +sizeK (2048-1048575, default 1048575): </p><p>Using default value 1048575 Command (m for help): w </p><p>The partition table has been altered!</p><p>Calling ioctl() to re-read partition table. </p><p>Syncing disks. </p><p>Following above procedure, we will partition more share disk</p><p><br /></p><p>Load the updated block device partition tables by running the following on ALL servers participating in the cluster: </p><p># /sbin/partprobe</p><p><br /></p><p><b><span style="font-size: medium;">Step 6: Installing and Configuring ASMLib</span></b></p><p>The ASMLib is highly recommended for those systems that will be using ASM for shared storage within the cluster due to the performance and manageability benefits that it provides. Perform the following steps to install and configure ASMLib on the cluster nodes:</p><p>(a)<span style="white-space: pre;"> </span>ASMLib Packages Installe</p><p>be sure to download the set of RPMs which pertain to your platform architecture, in our case this is x86_64.</p><p>oracleasm-support-2.1.3-1.el5x86_64.rpm </p><p>oracleasmlib-2.0.4-1.el5.x86_64.rpm </p><p>oracleasm-2.6.18-92.1.17.0.2.el5-2.0.5-1.el5.x86_64.rpm </p><p> </p><p>Install the RPMs by running the following as the root user: </p><p># rpm -ivh oracleasm-support-2.1.3-1.el5x86_64.rpm \ </p><p>oracleasmlib-2.0.4-1.el5.x86_64.rpm \ </p><p>oracleasm-2.6.18-92.1.17.0.2.el5-2.0.5-1.el5.x86_64.rpm </p><p><br /></p><p>(b)<span style="white-space: pre;"> </span>Configure ASMLib by running the following as the root user:</p><p>NOTE: If using user and group separation for the installation (as documented here), the ASMLib driver interface owner is 'grid' and the group to own the driver interface is 'asmadmin'. If a more simplistic installation using only the Oracle user is performed, the owner will be 'oracle' and the group owner will be 'dba'.</p><p><br /></p><p># /etc/init.d/oracleasm configure -i</p><p>Configuring the Oracle ASM library driver. </p><p>This will configure the on-boot properties of the Oracle ASM library driver. The following questions will determine whether the driver is loaded on boot and what permissions it will have. The current values will be shown in brackets ('[]'). Hitting <ENTER> without typing an answer will keep that current value. Ctrl-C will abort. </p><p>Default user to own the driver interface []: grid </p><p>Default group to own the driver interface []: asmadmin </p><p>Start Oracle ASM library driver on boot (y/n) [n]: y </p><p>Scan for Oracle ASM disks on boot (y/n) [y]: y </p><p>Writing Oracle ASM library driver configuration: done </p><p>Initializing the Oracle ASMLib driver: [ OK ] </p><p>Scanning the system for Oracle ASMLib disks: [ OK ]</p><p><br /></p><p>(c)<span style="white-space: pre;"> </span>Using ASMLib to Mark the Shared Disks as Candidate Disks </p><p> </p><p>To create ASM disks using ASMLib: 1. As the root user, use oracleasm to create ASM disks using the following syntax: </p><p># oracleasm createdisk OCR_VOTE01 /dev/sdb1</p><p>Writing disk header: done </p><p>Instantiating disk: done</p><p># oracleasm createdisk FLASH_VOTE01 /dev/sdc1</p><p>Writing disk header: done </p><p>Instantiating disk: done</p><p># oracleasm createdisk DATA_VOTE01 /dev/sdd1</p><p>Writing disk header: done </p><p>Instantiating disk: done</p><p># oracleasm createdisk DATA_VOTE02 /dev/sde1</p><p>Writing disk header: done </p><p>Instantiating disk: done</p><p><br /></p><p>If you need to unmark a disk that was used in a createdisk command, you can use the following syntax as the root user: </p><p># /usr/sbin/oracleasm deletedisk disk_name </p><p> </p><p>2. Repeat step 1 for each disk that will be used by Oracle ASM. </p><p>3. After you have created all the ASM disks for your cluster, use the listdisks command to verify their availability:</p><p> # /usr/sbin/oracleasm scandisks </p><p>Reloading disk partitions: done </p><p>Cleaning any stale ASM disks... </p><p>Scanning system for ASM disks... </p><p># /usr/sbin/oracleasm listdisks </p><p>OCR_VOTE01 </p><p>FLASH_VOTE01 </p><p>DATE_VOTE01 </p><p>DATA_VOTE02 </p><p><br /></p><p>3.<span style="white-space: pre;"> </span>On all the other nodes in the cluster, use the scandisks command as the root user to pickup the newly created ASM disks. You do not need to create the ASM disks on each node, only on one node in the cluster</p><p><br /></p><p># /usr/sbin/oracleasm scandisks </p><p>Reloading disk partitions: done </p><p>Cleaning any stale ASM disks... </p><p>Scanning system for ASM disks... </p><p>Instantiating disk "DATA_VOTE01" </p><p>Instantiating disk "DATA_VOTE02" </p><p>Instantiating disk "OCR_VOTE01" </p><p>Instantiating disk "FLASH_VOTE01" </p><p>5. After scanning for ASM disks, display the available ASM disks on each node to verify their availability: </p><p> # /usr/sbin/oracleasm listdisks </p><p>OCR_VOTE01 </p><p>FLASH_VOTE01 </p><p>DATE_VOTE01 </p><p>DATA_VOTE02 </p><p><br /></p><p><b><span style="font-size: medium;">Step 7: Make ssh setup on both nodes & Verify the preinstall check</span></b></p><p><b><span style="font-size: medium;"><br /></span></b></p><p>cd /orasoft/ultimus/19c/grid/deinstall</p><p><span style="color: red;"># ./sshUserSetup.sh -user grid -hosts "dc-dg1 dc-dg2" -noPromptPassphrase -confir m -advanced</span></p><p>Verify the preinstall check </p><p><span style="color: red;"># ./runcluvfy.sh stage -pre crsinst -n node1_hostname, node2_hostname -verbose -fixup</span></p><p><span style="color: red;"># ./runcluvfy.sh stage -pre crsinst -n node1_hostname, node2_hostname -method root</span></p><p><br /></p><p><b><span style="font-size: medium;">Step 8. Oracle Grid Infrastructure Install</span></b></p><p>Basic Grid Infrastructure Install (without GNS and IPMI) </p><p>As the grid user (Grid Infrastructure software owner) start the installer by running " gridSetup.sh " from the staged installation media. </p><p>NOTE: Be sure the installer is run as the intended software owner, the only supported method to change the software owner is to reinstall.</p><p>cd into the folder where you staged the Grid Infrastructure software </p><p># unzip LINUX.X64_193000_grid_home.zip -d $GRID_HOME</p><p><b><span style="color: red;"># ./gridSetup.sh</span></b></p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1IqW55aFymTWyx5Sc5fxgM1UvXEhU1yeieDu2Psk4hSetVlaGWsy43SdimMvC8sTi90N7iE2qjLwwzC_5rQsdFc4jPFk73GtLYhZbk5_xqYX5hJFWmy-6eE9vG5UqZNWmFfzCStXbCJycO0TBl6RH-SuSWUVe4D5rqTcReVazC3OG4cEl7atWKIXY/s801/1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="632" data-original-width="801" height="474" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1IqW55aFymTWyx5Sc5fxgM1UvXEhU1yeieDu2Psk4hSetVlaGWsy43SdimMvC8sTi90N7iE2qjLwwzC_5rQsdFc4jPFk73GtLYhZbk5_xqYX5hJFWmy-6eE9vG5UqZNWmFfzCStXbCJycO0TBl6RH-SuSWUVe4D5rqTcReVazC3OG4cEl7atWKIXY/w640-h474/1.png" width="640" /></a></div><br /><p></p><p>Action: </p><p>Select the radio button 'Configure oracle grid Infrastructure for a New Cluster’ and click ' Next> '</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXdxLxxZk4vQNPohO_U7_-bG6L1hZJBBXN2YnILNPcQmGq5QiCPUBo3ZCmMHTimz8CUJkJdyK6CXf1xUrEdMmyB-NQoNPUfpNjRvfYs2hVwfHKDPuWSCVswbHykux1dqdjEz7HlekatC9kHq0X0eALMgjovopYqdEbrSYJvgUg6WqVEBdzCHOuszpo/s800/2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="633" data-original-width="800" height="485" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXdxLxxZk4vQNPohO_U7_-bG6L1hZJBBXN2YnILNPcQmGq5QiCPUBo3ZCmMHTimz8CUJkJdyK6CXf1xUrEdMmyB-NQoNPUfpNjRvfYs2hVwfHKDPuWSCVswbHykux1dqdjEz7HlekatC9kHq0X0eALMgjovopYqdEbrSYJvgUg6WqVEBdzCHOuszpo/w640-h485/2.png" width="640" /></a></div><p>Action: </p><p>Select the radio button ‘Configuration and Oracle Standalone Cluster’ and click ' Next> '</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7KuaXYGqzzYs3oVdfNy7DjQOdndigwvIl9X2cNHqmtExNwFzF27I2RMmXECPCaPYkTBIoAYk5ee9MhAaNXuu2bP6H6I_sncvGjpVVqZRh5opkuexOYJAtF7LUOgNMgt2E31Uxr__MQlMFRr_5WkYke3ddhByjtnoA93-7U8bYBWJ23kFXNdR5DSV-/s803/3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="629" data-original-width="803" height="469" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7KuaXYGqzzYs3oVdfNy7DjQOdndigwvIl9X2cNHqmtExNwFzF27I2RMmXECPCaPYkTBIoAYk5ee9MhAaNXuu2bP6H6I_sncvGjpVVqZRh5opkuexOYJAtF7LUOgNMgt2E31Uxr__MQlMFRr_5WkYke3ddhByjtnoA93-7U8bYBWJ23kFXNdR5DSV-/w640-h469/3.png" width="640" /></a></div><p>Action: </p><p>Select the radio button ‘Create Local SCAN insert Cluster Name & SCAN Name and click ' Next> '</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ4efoJDqURjHdUlFCdXsZKCL-Dz_W6rMeUVtrCLIIsd8YcZgZ-VRb7WienL3eE9BNXqONDVOMzcjvns9qFLWWHNccU5xQ2XW_edh-zEKAUYehcZAURftJNl906zFqj2RHqCd4OcRD7YdLCIKYdwa_28Itw8L_CgR_x677kNsfHfggOnKQOHLzwQ5i/s797/4.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="628" data-original-width="797" height="453" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ4efoJDqURjHdUlFCdXsZKCL-Dz_W6rMeUVtrCLIIsd8YcZgZ-VRb7WienL3eE9BNXqONDVOMzcjvns9qFLWWHNccU5xQ2XW_edh-zEKAUYehcZAURftJNl906zFqj2RHqCd4OcRD7YdLCIKYdwa_28Itw8L_CgR_x677kNsfHfggOnKQOHLzwQ5i/w640-h453/4.png" width="640" /></a></div><p>Action: </p><p>Use the Edit and Add buttons to specify the node names and virtual IP addresses you configured previously in your /etc/hosts file. Use the 'SSH Connectivity' button to configure/test the passwordless SSH connectivity between your nodes.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaKKmLd2_yqI8s6mO9Xhx3sic7_-pTRiTyr_yt4nshl3u0qhYxadTyipyErTRIasxb03GDVpD3bh7g5sgR7hN2kbF9ZkB194sfKcSfrO4uIDCmZeifP7DaZZkhGqi7iQQhQEC_SvLsb654M83WDCHyf1fLnHh2HTjkuQiSWYxeSMBlZpfOn1BWW85z/s515/4.1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="175" data-original-width="515" height="202" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaKKmLd2_yqI8s6mO9Xhx3sic7_-pTRiTyr_yt4nshl3u0qhYxadTyipyErTRIasxb03GDVpD3bh7g5sgR7hN2kbF9ZkB194sfKcSfrO4uIDCmZeifP7DaZZkhGqi7iQQhQEC_SvLsb654M83WDCHyf1fLnHh2HTjkuQiSWYxeSMBlZpfOn1BWW85z/w640-h202/4.1.png" width="640" /></a></div><p>ACTION: </p><p>Type in the OS password for the user 'grid' and press 'Setup'</p><p>After clicking ‘OK’</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglP9_Dyx2jO4EwCWo1Gnggvo7MbDLGu5KeosrR7-X0HhfKAdaK3dhR_Abh0HLafemF7ju6ISrTrXk3ugfL1fsgyfK0eBm5OZMiNYayMAAzd5uGUrsqewZgGtUC80E5oaDLt8bRkJEFvCoGgeY_MAWvw6k-5cEnLd6DTrHdeG67RS8AY9HWlKJKp0Ob/s796/5.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="624" data-original-width="796" height="439" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglP9_Dyx2jO4EwCWo1Gnggvo7MbDLGu5KeosrR7-X0HhfKAdaK3dhR_Abh0HLafemF7ju6ISrTrXk3ugfL1fsgyfK0eBm5OZMiNYayMAAzd5uGUrsqewZgGtUC80E5oaDLt8bRkJEFvCoGgeY_MAWvw6k-5cEnLd6DTrHdeG67RS8AY9HWlKJKp0Ob/w640-h439/5.png" width="640" /></a></div><p>Action: </p><p>Click on 'Interface Type' next to the Interfaces you want to use for your cluster and select the correct values for 'Public' and 'Private '. When finished click ' Next> '</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz2Vo1Evn0Y1iG3QWOeI1Opx_Ecd8L-G9tAO4wa6hgdMN2jS6pSitEQ0PARvnajdB3XyWYb1tevNeNnl_cCzQJLJWP92-z6wjLroMJ-hNVODju4thgfFx3VwCphxfPbsYBz7_MkrzhhAYyGhfbf2m7Gfnl3yvU1J56lHQom1CPYSPl68H7hrWIT2qc/s801/6.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="633" data-original-width="801" height="450" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz2Vo1Evn0Y1iG3QWOeI1Opx_Ecd8L-G9tAO4wa6hgdMN2jS6pSitEQ0PARvnajdB3XyWYb1tevNeNnl_cCzQJLJWP92-z6wjLroMJ-hNVODju4thgfFx3VwCphxfPbsYBz7_MkrzhhAYyGhfbf2m7Gfnl3yvU1J56lHQom1CPYSPl68H7hrWIT2qc/w640-h450/6.png" width="640" /></a></div><p>Action: </p><p>Select the radio button 'Use Oracle Flex ASM for storage’ and click ' Next> '</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqvCxT996H9o66vAObnif1wv7DGXW-JF5Q1yAs3gKBYe9xXFW7sU3eHgOi0-z-rB587C1yhHcZWbQVAXvI4aB1kMKkQjixM4R3XRkQUa_lJM4jGu9kNvgq-HFk4NrFP2__p-ybaDu-C_hrF-HjdvOPbacuqnyccsctYTdpBLVMX8bgGgn1hZ25EjpU/s798/7.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="627" data-original-width="798" height="440" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqvCxT996H9o66vAObnif1wv7DGXW-JF5Q1yAs3gKBYe9xXFW7sU3eHgOi0-z-rB587C1yhHcZWbQVAXvI4aB1kMKkQjixM4R3XRkQUa_lJM4jGu9kNvgq-HFk4NrFP2__p-ybaDu-C_hrF-HjdvOPbacuqnyccsctYTdpBLVMX8bgGgn1hZ25EjpU/w640-h440/7.png" width="640" /></a></div><p></p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEoQwv40GSkvS6zbDFJVJWjSc1d2UwDo6Mm53vJfiam2PpVbXhMc5OmU4CJKFFWGbn4JRcYV2AnQNMwExC7nRwKOx7M-jCUkU55K68k43IsPIOL-X1zOPsiqPu5SUIXDy5zcSBGeQqCqMjt-Rf2rtvV8UzrnkRkrI8fXekF5hybgLlYUFs6e4IbDEX/s792/8.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="629" data-original-width="792" height="453" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEoQwv40GSkvS6zbDFJVJWjSc1d2UwDo6Mm53vJfiam2PpVbXhMc5OmU4CJKFFWGbn4JRcYV2AnQNMwExC7nRwKOx7M-jCUkU55K68k43IsPIOL-X1zOPsiqPu5SUIXDy5zcSBGeQqCqMjt-Rf2rtvV8UzrnkRkrI8fXekF5hybgLlYUFs6e4IbDEX/w640-h453/8.png" width="640" /></a></div><p>Action: </p><p>Select the 'DiskGroup Name' specify the 'Redundancy' and tick the disks you want to use, when done click ' Next> ' </p><p>NOTE: The number of voting disks that will be created depend on the redundancy level you specify: </p><p>EXTERNAL will create 1 voting disk, NORMAL will create 3 voting disks, HIGH will create 5 voting disks. </p><p>NOTE: If you see an empty screen for your candidate disks it is likely that ASMLib has not been properly configured. If you are sure that ASMLib has been properly configured click on 'Change Discovery Path' and provide the correct destination.</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgybabx4E81Gq4vn3U9D_VMsEW_qvEue-eulN_IyphklP4OHNdiXbRxUaWLVJgpgt_-Vg6uY8OgpUY8GZKkT1QyDOtMR2zBSHXDcfY9POSFHxQhotl88gzyndcvPs8yRNnyHxdrIXTurE5FezDjpqKZEtNEUtCFAY75gfTlPJ6taZAVP0AVNjyRY9Q5/s796/9.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="630" data-original-width="796" height="452" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgybabx4E81Gq4vn3U9D_VMsEW_qvEue-eulN_IyphklP4OHNdiXbRxUaWLVJgpgt_-Vg6uY8OgpUY8GZKkT1QyDOtMR2zBSHXDcfY9POSFHxQhotl88gzyndcvPs8yRNnyHxdrIXTurE5FezDjpqKZEtNEUtCFAY75gfTlPJ6taZAVP0AVNjyRY9Q5/w640-h452/9.png" width="640" /></a></div><p></p><p>Action: </p><p>Select NOT to use IPMI and click ' Next> '</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFxO1mtg-5wpURXzVKCn7AiODZGACtIq6d5PqJyTNeHmFw7KQa1EfpMzyaUJLhOPXT78koq8Q7DmWSmogmJ_JJRYcIzXcaGdyRvIY8nuv5bMOL7wiBCm-BPcA3OL5X3nTSdAHnL71CLloBAHflGYOHlLAbRHojTZzoPMiH1YQnN7lE48f3zq8b97Zd/s799/10.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="633" data-original-width="799" height="473" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFxO1mtg-5wpURXzVKCn7AiODZGACtIq6d5PqJyTNeHmFw7KQa1EfpMzyaUJLhOPXT78koq8Q7DmWSmogmJ_JJRYcIzXcaGdyRvIY8nuv5bMOL7wiBCm-BPcA3OL5X3nTSdAHnL71CLloBAHflGYOHlLAbRHojTZzoPMiH1YQnN7lE48f3zq8b97Zd/w640-h473/10.png" width="640" /></a></div><br /><p></p><p>Action: </p><p>Select if you wish to Register with EM Cloud control and click ' Next> '</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmvwTlaUT1zss8yzKhfCfjq1yQUkLgK5ut_Nk_m2WGeOHmq1kY4ng8KZi_HO0ONgHQtODaVUNZxzPyUTNkiyJQNCMeFUgzln4tv-eJ0ANVRsUmaYWv7tSOjYLPy-wQpkleMi1nTGHEjeZ2S_OVnALND0qJh8KhaEGv6BI8367t8lGSIU3GBa9B86dX/s798/12.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="632" data-original-width="798" height="430" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmvwTlaUT1zss8yzKhfCfjq1yQUkLgK5ut_Nk_m2WGeOHmq1kY4ng8KZi_HO0ONgHQtODaVUNZxzPyUTNkiyJQNCMeFUgzln4tv-eJ0ANVRsUmaYWv7tSOjYLPy-wQpkleMi1nTGHEjeZ2S_OVnALND0qJh8KhaEGv6BI8367t8lGSIU3GBa9B86dX/w640-h430/12.png" width="640" /></a></div><br /><p></p><p>Action: </p><p>Assign the correct OS groups for OS authentication and click ' Next> '</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuCfz1ZkfMKO9oV_4lb-FwaMDBpwp6er5Y2tQq57bPGBVjcJdChppYKG5lEXZ9IzOHS6RTxMB5s52AA8hGdygRat8wm1jrBPgeNWNUt9KGf6VETgYo0wLxmF8AF3DoQTS0npjqmle7_0ExNOkSAl2U0HR-d22q7xjZcjmJn0BOseUEaWApwRkqqvWK/s794/13.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="631" data-original-width="794" height="457" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuCfz1ZkfMKO9oV_4lb-FwaMDBpwp6er5Y2tQq57bPGBVjcJdChppYKG5lEXZ9IzOHS6RTxMB5s52AA8hGdygRat8wm1jrBPgeNWNUt9KGf6VETgYo0wLxmF8AF3DoQTS0npjqmle7_0ExNOkSAl2U0HR-d22q7xjZcjmJn0BOseUEaWApwRkqqvWK/w640-h457/13.png" width="640" /></a></div><br /><p></p><p>Action: </p><p>Specify the locations for your ORACLE_BASE and for the Software location and click ' Next> '</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgi01jhBUzx3JIsL7W2vmJ8_1gU9pDpiAEVYTL5NZlCHpHQD-EvKCbd5_15QloDlHNOjo5n5OLgz2Gyu3ytGjqx2bbmLYAXGFnZWWdAbR5h7m35D_XBWB9ypx7nSvo6D3vvryJhgx7U83wfAUDz99bRyfy4U-KlDM3oLK6Ks29sJ-xL-yYUic_97vFr/s803/14.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="636" data-original-width="803" height="506" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgi01jhBUzx3JIsL7W2vmJ8_1gU9pDpiAEVYTL5NZlCHpHQD-EvKCbd5_15QloDlHNOjo5n5OLgz2Gyu3ytGjqx2bbmLYAXGFnZWWdAbR5h7m35D_XBWB9ypx7nSvo6D3vvryJhgx7U83wfAUDz99bRyfy4U-KlDM3oLK6Ks29sJ-xL-yYUic_97vFr/w640-h506/14.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><p></p><p>Action: </p><p>Specify the required credential if you wish to automatically run configuration scripts and click 'Next> '</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvhekbmVxR8vwWVEZbBg5E7ljvmsr8p6qFQAWTb4uK3fiB-cpS9fVG28Vty-3EmQ1TbAl1CL8rb1WbmwfPVhSdJnqSo-mzHQFeZJY9ciHfLw0eRsa4U-_DH5s2SQffCFWedIGxo0mWX-7P1XbhAgYREGLQrcs6vthCZuMLUq221F2ncX-jTEO03QTT/s797/15.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="631" data-original-width="797" height="506" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvhekbmVxR8vwWVEZbBg5E7ljvmsr8p6qFQAWTb4uK3fiB-cpS9fVG28Vty-3EmQ1TbAl1CL8rb1WbmwfPVhSdJnqSo-mzHQFeZJY9ciHfLw0eRsa4U-_DH5s2SQffCFWedIGxo0mWX-7P1XbhAgYREGLQrcs6vthCZuMLUq221F2ncX-jTEO03QTT/w640-h506/15.png" width="640" /></a></div><br /><p></p><p>Action: </p><p>Check that status of all checks is Succeeded and click ' Next> ' </p><p>Note: </p><p>If you have failed checks marked as 'Fixable' click 'Fix & Check again'. This will bring up the window </p><p>Action: </p><p>Execute the runfixup.sh script as described on the screen as root user</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkyOJ_51jmfX-kn62SDSR16U3jWvnq33sHCE7zyBbbBwUjZWn7QvCgR5MV_Pa7MwSlk1AdLd4_chghU2Hqv80P9kTc73vxpCMFVvBIU_k9BgGyOvlwKP88cIfdLWDEARfUIMmLX1SOLKAJIlnJjx1PtGKQjRp6TJ4SV9J5lqoLqlzTGHV3QTBHG8-d/s794/16.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="634" data-original-width="794" height="440" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkyOJ_51jmfX-kn62SDSR16U3jWvnq33sHCE7zyBbbBwUjZWn7QvCgR5MV_Pa7MwSlk1AdLd4_chghU2Hqv80P9kTc73vxpCMFVvBIU_k9BgGyOvlwKP88cIfdLWDEARfUIMmLX1SOLKAJIlnJjx1PtGKQjRp6TJ4SV9J5lqoLqlzTGHV3QTBHG8-d/w640-h440/16.png" width="640" /></a></div><p></p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh27owE3sV4nv7znLV94d75FVCb_iHiJMTM8aLyb2jFm5DKENNJq0ASuytHoiA0IIbMQWgTJ7UhpY8S0Wa0PZmVH_LlM_6f_vhn44-Z-ZwbnckxzxNDRWblN4OTGif7fq3fNzXlHFOGy2n8j6q3IlmoltzuuKM7GE--6IMd2Yxnim4tZXB9fPNWZ-RX/s794/17.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="632" data-original-width="794" height="442" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh27owE3sV4nv7znLV94d75FVCb_iHiJMTM8aLyb2jFm5DKENNJq0ASuytHoiA0IIbMQWgTJ7UhpY8S0Wa0PZmVH_LlM_6f_vhn44-Z-ZwbnckxzxNDRWblN4OTGif7fq3fNzXlHFOGy2n8j6q3IlmoltzuuKM7GE--6IMd2Yxnim4tZXB9fPNWZ-RX/w640-h442/17.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8wL7LN0igEc_ptP9zu3Me6ejSt1o30RfDwc8hj5_Gc9qkoRpVQcvUjU5DPL2UYXZyuHFbDoKQD8ppnk1ibHw-jKqHT5BYVWl8wpI1HVbJwWIVDQLQvR9HP7ZRQg9zW0QOkrOtQ4rR_7UHOS0jfmQ8GeLxf0_G3LA8uhAPEMJ0W3atFcTQ_a-kEpZX/s814/17.1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="626" data-original-width="814" height="448" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8wL7LN0igEc_ptP9zu3Me6ejSt1o30RfDwc8hj5_Gc9qkoRpVQcvUjU5DPL2UYXZyuHFbDoKQD8ppnk1ibHw-jKqHT5BYVWl8wpI1HVbJwWIVDQLQvR9HP7ZRQg9zW0QOkrOtQ4rR_7UHOS0jfmQ8GeLxf0_G3LA8uhAPEMJ0W3atFcTQ_a-kEpZX/w640-h448/17.1.png" width="640" /></a></div><p>Action:</p><p>Click ‘Yes’</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiZ77ds7tTzgtix-eBo9UJnPptE4IrB3a8NUaeReYxfI6YflBQyQw7C-gP-EOjIDG_UeLxve7VX44ZeXZGYaj3IdsiKugRKPGT3YeGqw6P23Dx-Upd6V4XOVSGYuwslwy2apn5BlUVV0OvkfT9CSYQwpKOc0ljxx2xLxiivGR0jSoRdZeM3UJ0yf8-/s800/19.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="627" data-original-width="800" height="470" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiZ77ds7tTzgtix-eBo9UJnPptE4IrB3a8NUaeReYxfI6YflBQyQw7C-gP-EOjIDG_UeLxve7VX44ZeXZGYaj3IdsiKugRKPGT3YeGqw6P23Dx-Upd6V4XOVSGYuwslwy2apn5BlUVV0OvkfT9CSYQwpKOc0ljxx2xLxiivGR0jSoRdZeM3UJ0yf8-/w640-h470/19.png" width="640" /></a></div><p>Action: </p><p>You should see the confirmation that installation of the Grid Infrastructure was successful. Click 'Close' to finish the install. </p><p>Check cluster resource status executing following command</p><p># cd $GRID_HOME/bin</p><p># ./crsctl stat res -t</p><p>--------------------------------------------------------------------------------</p><p>Name Target State Server State details</p><p>--------------------------------------------------------------------------------</p><p>Local Resources</p><p>--------------------------------------------------------------------------------</p><p>ora.LISTENER.lsnr</p><p> ONLINE ONLINE dc-vt-testdb1 STABLE</p><p> ONLINE ONLINE dc-vt-testdb2 STABLE</p><p>ora.chad</p><p> ONLINE ONLINE dc-vt-testdb1 STABLE</p><p> ONLINE ONLINE dc-vt-testdb2 STABLE</p><p>ora.net1.network</p><p> ONLINE ONLINE dc-vt-testdb1 STABLE</p><p> ONLINE ONLINE dc-vt-testdb2 STABLE</p><p>ora.ons</p><p> ONLINE ONLINE dc-vt-testdb1 STABLE</p><p> ONLINE ONLINE dc-vt-testdb2 STABLE</p><p>ora.proxy_advm</p><p> OFFLINE OFFLINE dc-vt-testdb1 STABLE</p><p> OFFLINE OFFLINE dc-vt-testdb2 STABLE</p><p>--------------------------------------------------------------------------------</p><p>Cluster Resources</p><p>--------------------------------------------------------------------------------</p><p>ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)</p><p> 1 ONLINE ONLINE dc-vt-testdb1 STABLE</p><p> 2 ONLINE ONLINE dc-vt-testdb2 STABLE</p><p> 3 OFFLINE OFFLINE STABLE</p><p>ora.LISTENER_SCAN1.lsnr</p><p> 1 ONLINE ONLINE dc-vt-testdb2 STABLE</p><p>ora.LISTENER_SCAN2.lsnr</p><p> 1 ONLINE ONLINE dc-vt-testdb1 STABLE</p><p>ora.LISTENER_SCAN3.lsnr</p><p> 1 ONLINE ONLINE dc-vt-testdb1 STABLE</p><p>ora.OCR.dg(ora.asmgroup)</p><p> 1 ONLINE ONLINE dc-vt-testdb1 STABLE</p><p> 2 ONLINE ONLINE dc-vt-testdb2 STABLE</p><p> 3 OFFLINE OFFLINE STABLE</p><p>ora.asm(ora.asmgroup)</p><p> 1 ONLINE ONLINE dc-vt-testdb1 Started,STABLE</p><p> 2 ONLINE ONLINE dc-vt-testdb2 Started,STABLE</p><p> 3 OFFLINE OFFLINE STABLE</p><p>ora.asmnet1.asmnetwork(ora.asmgroup)</p><p> 1 ONLINE ONLINE dc-vt-testdb1 STABLE</p><p> 2 ONLINE ONLINE dc-vt-testdb2 STABLE</p><p> 3 OFFLINE OFFLINE STABLE</p><p>ora.cvu</p><p> 1 ONLINE ONLINE dc-vt-testdb1 STABLE</p><p>ora.dc-vt-testdb1.vip</p><p> 1 ONLINE ONLINE dc-vt-testdb1 STABLE</p><p>ora.dc-vt-testdb2.vip</p><p> 1 ONLINE ONLINE dc-vt-testdb2 STABLE</p><p>ora.qosmserver</p><p> 1 ONLINE ONLINE dc-vt-testdb1 STABLE</p><p>ora.scan1.vip</p><p> 1 ONLINE ONLINE dc-vt-testdb2 STABLE</p><p>ora.scan2.vip</p><p> 1 ONLINE ONLINE dc-vt-testdb1 STABLE</p><p>ora.scan3.vip</p><p> 1 ONLINE ONLINE dc-vt-testdb1 STABLE</p><p>-----------------------------------------------------------------------------</p><p><br /></p><p><b><span style="font-size: medium;">Step 9: Create Disk Group using ASMCA Utility </span></b></p><p>As the grid user starts the ASM Configuration Assistant (ASMCA) </p><p>$ cd /u01/app/12.1.0/grid/bin </p><p><span style="color: red;">./asmca </span></p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmO9HJnc3WtYLoXRh8a660p7TbWuTR2PD4fbc2k-FLH0Rb1ryy8OkzriRP5vkY4I6Gew2QsGOLYuwQ3ubc1IrIu65jKTvKES_mAKlfgPfpMMc-iIQb8xqg6QYGKJMPSdk7J-amxkbcWHR7wUV9aSP_2Z0L5c-lg8i2YuvOog9ra_8cqldUTwxMGiBo/s944/1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="627" data-original-width="944" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmO9HJnc3WtYLoXRh8a660p7TbWuTR2PD4fbc2k-FLH0Rb1ryy8OkzriRP5vkY4I6Gew2QsGOLYuwQ3ubc1IrIu65jKTvKES_mAKlfgPfpMMc-iIQb8xqg6QYGKJMPSdk7J-amxkbcWHR7wUV9aSP_2Z0L5c-lg8i2YuvOog9ra_8cqldUTwxMGiBo/w640-h426/1.png" width="640" /></a></div><br /><p></p><p>Action: </p><p>Click 'Create' to create a new diskgroup</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKPliQgXM0I1SiYoEwOjvAJbk86aMtbThQEPb2kYBdvPdYsX9ER3lHl2TdT5Hy0Zn2S9dxNt8zy8d6HlOs23SsnHxv_O-56NB7op_hN0Eo4gHumm3nl24jeGTMxUW8YTsfX1FrEiKreLWfh3Ts8uHzDlq1FFtAZcmu1AI15f8FQ8oi62qVXBCWWqNX/s952/2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="632" data-original-width="952" height="402" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKPliQgXM0I1SiYoEwOjvAJbk86aMtbThQEPb2kYBdvPdYsX9ER3lHl2TdT5Hy0Zn2S9dxNt8zy8d6HlOs23SsnHxv_O-56NB7op_hN0Eo4gHumm3nl24jeGTMxUW8YTsfX1FrEiKreLWfh3Ts8uHzDlq1FFtAZcmu1AI15f8FQ8oi62qVXBCWWqNX/w640-h402/2.png" width="640" /></a></div><br /><p></p><p>Type in a name for the disk group, select the redundancy you want to provide, and mark the tick box for the disks you want to assign to the new disk group.</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRwQsq9Dtl-4y0agH8f_i2FphtdeXlpim_CWRA2RkkEL-3N_0cNBYZazZCZKd3fpCVOnLcb0QHygF2Eo3Ql8t9xvu-sgpl7WI3J9SbmFjfyfMlUwYjkZOhbu19H36wMSPhCyLXbRMGusIYLwm-AyTX9TyUHIK_dPoUyDtmgFr9Vkdy_m5F9pm3Ovhc/s950/3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="624" data-original-width="950" height="389" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRwQsq9Dtl-4y0agH8f_i2FphtdeXlpim_CWRA2RkkEL-3N_0cNBYZazZCZKd3fpCVOnLcb0QHygF2Eo3Ql8t9xvu-sgpl7WI3J9SbmFjfyfMlUwYjkZOhbu19H36wMSPhCyLXbRMGusIYLwm-AyTX9TyUHIK_dPoUyDtmgFr9Vkdy_m5F9pm3Ovhc/w640-h389/3.png" width="640" /></a></div><p></p><p>It is Oracle's Best Practice to have an OCR mirror stored in a second disk group. To follow these recommendations add an OCR mirror. Mind that you can only have one OCR in a disk group.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFPhuwCjsoywkCq7EKNm-PqbGHvJR43WLdp19hyplpD0KC0SisKj1ek_kv4x6U34Dzl-puwbY6bmelGdaH2smd2zMfTaR7yGbchgLwmFYtWVvij4PDI1Mq21gVOxtwnTZz3Zpa4lKx9zEb06fkIM5gYNFTik8F9dO4cNhMRwld6-7WSM78MX01BUdO/s946/4.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="630" data-original-width="946" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFPhuwCjsoywkCq7EKNm-PqbGHvJR43WLdp19hyplpD0KC0SisKj1ek_kv4x6U34Dzl-puwbY6bmelGdaH2smd2zMfTaR7yGbchgLwmFYtWVvij4PDI1Mq21gVOxtwnTZz3Zpa4lKx9zEb06fkIM5gYNFTik8F9dO4cNhMRwld6-7WSM78MX01BUdO/w640-h426/4.png" width="640" /></a></div><p><br /></p><p><b><span style="font-size: medium;">Step 10: RDBMS Software Only Installation Steps</span></b></p><p>As the oracle user (RDBMS software owner) start the installer by running "runInstaller" from the staged installation media. </p><p>Before database installation run the below command from the grid user</p><p># su - grid</p><p># cd $ORACLE_HOME/deinstall</p><p># ./sshUserSetup.sh -user oracle -hosts "dc-dg1 dc-dg2" -noPromptPassphrase -confir m -advanced</p><p>NOTE: Be sure the installer is run as the intended software owner, the only supported method to change the software owner is to reinstall. Change into the directory where you staged the RDBMS software</p><p>Go to the software backup location and issue the below command</p><p># unzip Oracle_19.3_Linux_x86-64_DB_V982063-01.zip -d $ORACLE_HOME</p><p># cd $ORACLE_HOME</p><p># ./runInstaller</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEXhlWBO-ZMiyhica8QJK1gcMv-DG7hgkYgOBnzi8SgQdK76mWoBdGJNdwt650M1pPAGXbb5LFxM68-0BRZvTjZo428bVY93hW09tdX1H4EPAUf48AE5ZK1uCwOAeUKRcoqksClFifGUmIwA-rkUXS0uwUGUBGzz2S_WuLPAWZsoCB9LJnbtlXwDGH/s795/1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="631" data-original-width="795" height="508" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEXhlWBO-ZMiyhica8QJK1gcMv-DG7hgkYgOBnzi8SgQdK76mWoBdGJNdwt650M1pPAGXbb5LFxM68-0BRZvTjZo428bVY93hW09tdX1H4EPAUf48AE5ZK1uCwOAeUKRcoqksClFifGUmIwA-rkUXS0uwUGUBGzz2S_WuLPAWZsoCB9LJnbtlXwDGH/w640-h508/1.png" width="640" /></a></div><br /><p></p><p>Action: </p><p>Select the option 'Install Database software only' and click ' Next> '</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5RHSbFCvLzOx8J_ftBl_9i7IBvCr1x4Jws8HHHYa7CKCoSsapAHS7JLg2HqOdWDZFWqSNZ8A4W9jGSqJFv3SQSkjt6mY75sbKIF_r6ZX0MwW4hoNZI4Grwa1Z4fLFgXg3HzKZB27RnscWKmfRUwNVJ1WlCSu6CXKQ3mGN6Bx5ziQNNggblApot-8p/s799/2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="635" data-original-width="799" height="407" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5RHSbFCvLzOx8J_ftBl_9i7IBvCr1x4Jws8HHHYa7CKCoSsapAHS7JLg2HqOdWDZFWqSNZ8A4W9jGSqJFv3SQSkjt6mY75sbKIF_r6ZX0MwW4hoNZI4Grwa1Z4fLFgXg3HzKZB27RnscWKmfRUwNVJ1WlCSu6CXKQ3mGN6Bx5ziQNNggblApot-8p/w640-h407/2.png" width="640" /></a></div><br /><p></p><p>Action: </p><p>Select the option Oracle Real Application Clusters database Installation' and click ' Next> '</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFGmY_QZJJCVlL6bRFhqBoZ2MKn9cVv4KEojeN_x1T5WWRDaYA0NV82P2to0C5LW46NlRP_1DUoFX_EmUeWZyQNXP2G3aoqvX7-XFux4mlYLWN2NQT_vQD2LFPtvcvKUKHEKjpRMSX3nDUBp0kMntIdEO4RA0lBLvGPfqp_VyLM-dK8w1CRRljHvx6/s799/3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="642" data-original-width="799" height="460" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFGmY_QZJJCVlL6bRFhqBoZ2MKn9cVv4KEojeN_x1T5WWRDaYA0NV82P2to0C5LW46NlRP_1DUoFX_EmUeWZyQNXP2G3aoqvX7-XFux4mlYLWN2NQT_vQD2LFPtvcvKUKHEKjpRMSX3nDUBp0kMntIdEO4RA0lBLvGPfqp_VyLM-dK8w1CRRljHvx6/w640-h460/3.png" width="640" /></a></div><br /><p></p><p>Action: </p><p>Select all nodes. </p><p>Use the 'SSH Connectivity' button to configure/test the passwordless SSH connectivity between your nodes ' </p><p>Type in the OS password for the oracle user and click 'Setup'</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCPnryYNMNgvxHri9-zk2BSJ7FbHTn_vrgqIvqODEsteIjp42B03cJsDZpNB1WvM61kbGv9-RYeE207zGA7d2Q82_4zc2JN2vl_mLc9vXORHIDlOHsfUzYBNmhqHl6UvOFAw6jiV7P_RCXpCARhAFK980jqksK2X7FM3Sgp_HoJH_tSARHHB3BHsRt/s800/4.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="635" data-original-width="800" height="449" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCPnryYNMNgvxHri9-zk2BSJ7FbHTn_vrgqIvqODEsteIjp42B03cJsDZpNB1WvM61kbGv9-RYeE207zGA7d2Q82_4zc2JN2vl_mLc9vXORHIDlOHsfUzYBNmhqHl6UvOFAw6jiV7P_RCXpCARhAFK980jqksK2X7FM3Sgp_HoJH_tSARHHB3BHsRt/w640-h449/4.png" width="640" /></a></div><p></p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFrnO4Bv7_OUQgNmNZF5XXPsZbvdbiYCUBy3PKGKM5Y8qVDQXIeXY2atW38p8hk00DmidjsIwyo9JBFvsNDeErk1UGJxCcR0NWgxOwe9NpOkMWbNNMVkO-5-gywKgoeYogMI1G9bjJ34aDUUrnjSlp7jx4gXRK4WVJLx5WN3LcMh1n3iXOqQA0qaxd/s803/5.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="633" data-original-width="803" height="460" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFrnO4Bv7_OUQgNmNZF5XXPsZbvdbiYCUBy3PKGKM5Y8qVDQXIeXY2atW38p8hk00DmidjsIwyo9JBFvsNDeErk1UGJxCcR0NWgxOwe9NpOkMWbNNMVkO-5-gywKgoeYogMI1G9bjJ34aDUUrnjSlp7jx4gXRK4WVJLx5WN3LcMh1n3iXOqQA0qaxd/w640-h460/5.png" width="640" /></a></div><p>Action: </p><p>Specify the path to your Oracle Base and below to the location where you want to store the software (Oracle home). Click ' Next> '</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM3AleETp31qGZxG-RhAYSCIIZpWrBu4RjDUcQiFGrqJFu1Z3f9NzHjjsV-JkVNVh2oZjKUxdq97jcVTCBaQ5Y-vZ9x3e2Lg-tH_U5ea7bRo4hOlxR5-xMeqTrTpdpMV22NFUxh5Iqq-8hYvzP7FFZ2q3SxWw_l_lpyMLKbNDej60Zeg79CsemJ8ZN/s801/6.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="636" data-original-width="801" height="479" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM3AleETp31qGZxG-RhAYSCIIZpWrBu4RjDUcQiFGrqJFu1Z3f9NzHjjsV-JkVNVh2oZjKUxdq97jcVTCBaQ5Y-vZ9x3e2Lg-tH_U5ea7bRo4hOlxR5-xMeqTrTpdpMV22NFUxh5Iqq-8hYvzP7FFZ2q3SxWw_l_lpyMLKbNDej60Zeg79CsemJ8ZN/w640-h479/6.png" width="640" /></a></div><br /><p></p><p>Action: </p><p>Use the drop-down menu to select the names of the Database Administrators and Database Operators group and click ' Next> '</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiVmBR0J3-0g9LMAWOxUM8DGNOfL8SkeJf4vWWcLjfVCB18sHY_NF4oDtPvRo9PlZTB6arYz93_K9PQjKR3NjCOFtrW8D7kgmTQzm50HqdN3DXALn9TsMwpZ8iAMCrubwYEbhIvpE2v-yqaZlXxyTVffZ-khG7dmaE8HgF4QpdQnrI4S-PBvGShsS4/s797/7.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="628" data-original-width="797" height="476" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiVmBR0J3-0g9LMAWOxUM8DGNOfL8SkeJf4vWWcLjfVCB18sHY_NF4oDtPvRo9PlZTB6arYz93_K9PQjKR3NjCOFtrW8D7kgmTQzm50HqdN3DXALn9TsMwpZ8iAMCrubwYEbhIvpE2v-yqaZlXxyTVffZ-khG7dmaE8HgF4QpdQnrI4S-PBvGShsS4/w640-h476/7.png" width="640" /></a><span style="text-align: left;"> </span></div><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiogLFO3ET4o7MQdHp8GBkJgb46Enc8W8agEQhP1rhWRHOzpfn4gIYyu4ELIRSGCxV60xzmyTc49x4xQ7VofCZ0h08q3FGmz9PsLbXgRYbgFGiJQnTrygkwL2f5Xy6kGtQB_NK2BNseJmr5D_YYTt5rnYz7o-raMkOLvH2nfKK0Wdw0HFeAhoxMBLI7/s795/8.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="628" data-original-width="795" height="403" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiogLFO3ET4o7MQdHp8GBkJgb46Enc8W8agEQhP1rhWRHOzpfn4gIYyu4ELIRSGCxV60xzmyTc49x4xQ7VofCZ0h08q3FGmz9PsLbXgRYbgFGiJQnTrygkwL2f5Xy6kGtQB_NK2BNseJmr5D_YYTt5rnYz7o-raMkOLvH2nfKK0Wdw0HFeAhoxMBLI7/w640-h403/8.png" width="640" /></a></div><p>Action: </p><p>Check that the status of all checks is 'Succeeded' and click ' Next> ' </p><p>Note: </p><p>If you are sure the unsuccessful checks can be ignored tick the box 'Ignore All' before you click ' Next> '</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhL-AUA31E4i_xYzC8QAa0Ul6icpOpMmzjM3641LnrbRZZ-M-LyIPR6kLzGFTSrvDOSICbBNlLX2v1r30vq9bv6A_NI8FKgEGWKOXJ03jYPBLcM9FekOStKRXfOwFuHW_gnoGVF13Co1Abnp9SzTIyCOktXgRxm-v1Sn1RZSiTbCbu8TjE4GTVHBaoC/s791/9.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="634" data-original-width="791" height="468" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhL-AUA31E4i_xYzC8QAa0Ul6icpOpMmzjM3641LnrbRZZ-M-LyIPR6kLzGFTSrvDOSICbBNlLX2v1r30vq9bv6A_NI8FKgEGWKOXJ03jYPBLcM9FekOStKRXfOwFuHW_gnoGVF13Co1Abnp9SzTIyCOktXgRxm-v1Sn1RZSiTbCbu8TjE4GTVHBaoC/w640-h468/9.png" width="640" /></a></div><p></p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTSSrls_U6aAy5scFOGiiWK9nFVDHVmpDTlNQekVuwLWyU2S9EElTuH-d4jU6DTDfOnKeZCRqPzUB3Clod0VxRrZezBElKjwYLhvbW2epH1boAPub0NEzf-JQXl5Oj1FPR12pLnKPdri0md11ybb4uwCIqpP8MeEBNFTsRUIuKNf7DG7DmX8jzO3Zg/s800/11.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="631" data-original-width="800" height="420" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTSSrls_U6aAy5scFOGiiWK9nFVDHVmpDTlNQekVuwLWyU2S9EElTuH-d4jU6DTDfOnKeZCRqPzUB3Clod0VxRrZezBElKjwYLhvbW2epH1boAPub0NEzf-JQXl5Oj1FPR12pLnKPdri0md11ybb4uwCIqpP8MeEBNFTsRUIuKNf7DG7DmX8jzO3Zg/w640-h420/11.png" width="640" /></a></div><p>Action: </p><p>Click ' Close ' to finish the installation of the RDBMS Software.</p><p><br /></p><p><b><span style="font-size: medium;">Step 11. Create Database Using DBCA Utility</span></b></p><p>As the oracle user starts the Database Configuration Assistant (DBCA)</p><p># cd $ORACLE_HOME/bin</p><p># dbca </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx_t7tcXR3HwQ15eglPWisTloanuG1f8XFtwo5Z25wE2y6mRzErE-THIpFDjQ8T1cIYUJkvbRoeBtUgQwlrAxN-HDV2Y2n1VZSsHskbjFOCz0QxSMmFR0B2m0v7EqjDXJDlMqcaXLmsVScz4Jh0R9W-2isEPWE5hQj13suQgPs49dnAMSRDzlcKLD6/s802/1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="637" data-original-width="802" height="479" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx_t7tcXR3HwQ15eglPWisTloanuG1f8XFtwo5Z25wE2y6mRzErE-THIpFDjQ8T1cIYUJkvbRoeBtUgQwlrAxN-HDV2Y2n1VZSsHskbjFOCz0QxSMmFR0B2m0v7EqjDXJDlMqcaXLmsVScz4Jh0R9W-2isEPWE5hQj13suQgPs49dnAMSRDzlcKLD6/w640-h479/1.png" width="640" /></a></div><p>Action: </p><p>Choose the option 'Create a Database' and click 'Next'</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLm5Ms1-BJ6oTIUd3UehiWfSzdeE-TDzMfNAvvM0PyR1YL71SJvr4UwRRg--_P7W3Z2fcJDS9SkGfZ9dKT3iU6l0A-GdrMw8C7_fPIblREldu_Cck_Cdhk8LO5-Mwpueh2ynr2hkKexqzVxDEALtUTP8f6OqSYoToTDPnG_b-qNRcWeAHVC5eRnuJZ/s794/2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="626" data-original-width="794" height="449" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLm5Ms1-BJ6oTIUd3UehiWfSzdeE-TDzMfNAvvM0PyR1YL71SJvr4UwRRg--_P7W3Z2fcJDS9SkGfZ9dKT3iU6l0A-GdrMw8C7_fPIblREldu_Cck_Cdhk8LO5-Mwpueh2ynr2hkKexqzVxDEALtUTP8f6OqSYoToTDPnG_b-qNRcWeAHVC5eRnuJZ/w640-h449/2.png" width="640" /></a></div><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZPs0ChBC2XK8wcXSdA5ojlDTEvc6ux1IGT4xO7kYenQl7AJ9ycXFniByORBhdA7JvXATIm6IMXVXeR22KoiQU5PBmqzPChapWkAio2dcFQr6cdQSJMamydeV1F_A49RZQkYWklo1xlRx787MZkfukbVk_PuPtTINjfs2dfEvRU_OcgvL7pHVsVxFL/s797/3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="630" data-original-width="797" height="506" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZPs0ChBC2XK8wcXSdA5ojlDTEvc6ux1IGT4xO7kYenQl7AJ9ycXFniByORBhdA7JvXATIm6IMXVXeR22KoiQU5PBmqzPChapWkAio2dcFQr6cdQSJMamydeV1F_A49RZQkYWklo1xlRx787MZkfukbVk_PuPtTINjfs2dfEvRU_OcgvL7pHVsVxFL/w640-h506/3.png" width="640" /></a></div><p>Action: </p><p>Select 'Oracle Real Application Clusters (RAC) database' and ‘Admin Managed’ and click 'Next'</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAbHhZnRAT4QMUqjnGRfuUnRuf0i_YMiFOfMW6TgOYf9rV5mql5mooMMWsiPX3vPEkLaQ7pKVRGPgz6OOwFbme7RCSZzwnnPKNRfExuCc-xq_jgye2WiMQIHBmupt-qBsMRAOCs1jlRLXP7G7Avg9MpunYVp5M4x-iFLwbeekBqvQYhISalAYxsWxC/s785/4.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="622" data-original-width="785" height="508" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAbHhZnRAT4QMUqjnGRfuUnRuf0i_YMiFOfMW6TgOYf9rV5mql5mooMMWsiPX3vPEkLaQ7pKVRGPgz6OOwFbme7RCSZzwnnPKNRfExuCc-xq_jgye2WiMQIHBmupt-qBsMRAOCs1jlRLXP7G7Avg9MpunYVp5M4x-iFLwbeekBqvQYhISalAYxsWxC/w640-h508/4.png" width="640" /></a></div><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibLgzWpCNGezuWKqEoRI63rVm50iw8RP6wjdkldbzz-rU1jBi_7VjQhMt6firg2AQSy7ulSdEc06EWwBF6_w3vzuMDxMC2-kn1yBDDoUSTETnl58nB-qVwlrJQf1M64KNp89mYX57fg0OuBKVYNk_GsN-z_sSDhhipu-2LNMWYj_aihMviGGLBvnGs/s794/5.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="627" data-original-width="794" height="506" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibLgzWpCNGezuWKqEoRI63rVm50iw8RP6wjdkldbzz-rU1jBi_7VjQhMt6firg2AQSy7ulSdEc06EWwBF6_w3vzuMDxMC2-kn1yBDDoUSTETnl58nB-qVwlrJQf1M64KNp89mYX57fg0OuBKVYNk_GsN-z_sSDhhipu-2LNMWYj_aihMviGGLBvnGs/w640-h506/5.png" width="640" /></a></div><p>Action: </p><p>Type in the name you want to use for your database and select “Create as Container Database” if you want to create a container database otherwise unselect and click 'Next >'</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiid3GzDnbh0n2rxWbJlfyyOaP86wOYK6_JjCZ7tjCoXvZg3NIy52NGyHvp-7TSitUNzq7WFIiZMp6t1skm-E_NJQqIicZGTgosrdfgZ5_kq8w4WmicJP6mf2Lv9gYBffQNCF6zBgWhQkFgG7siVQ8glZgAQ8qRVC1vm76gZHnXcTz9Qi6h1lRW12r_/s795/6.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="630" data-original-width="795" height="508" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiid3GzDnbh0n2rxWbJlfyyOaP86wOYK6_JjCZ7tjCoXvZg3NIy52NGyHvp-7TSitUNzq7WFIiZMp6t1skm-E_NJQqIicZGTgosrdfgZ5_kq8w4WmicJP6mf2Lv9gYBffQNCF6zBgWhQkFgG7siVQ8glZgAQ8qRVC1vm76gZHnXcTz9Qi6h1lRW12r_/w640-h508/6.png" width="640" /></a></div><br /><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiB2_ZB7ZEWlChgIBHHSL5F16G04CQlmNEcC0j6BOSaNxWyW2BEv2LQglg_ByK4osPXfBpK66PjCQP11F64sFsjb_8tgrgdE22fP2ojNoe2kSUh-oXl1pmJ0WSzhUrz19swuvXUA-Lo4pq0orDIjXIrheYvsRX-7D-zserPEZoima1CWBB5m0K_4zkj/s808/7.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="631" data-original-width="808" height="500" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiB2_ZB7ZEWlChgIBHHSL5F16G04CQlmNEcC0j6BOSaNxWyW2BEv2LQglg_ByK4osPXfBpK66PjCQP11F64sFsjb_8tgrgdE22fP2ojNoe2kSUh-oXl1pmJ0WSzhUrz19swuvXUA-Lo4pq0orDIjXIrheYvsRX-7D-zserPEZoima1CWBB5m0K_4zkj/w640-h500/7.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr3yiedZLYuMS2w1jj5ZH5080voAlBo24fcrXRyrLe1jE7xEA9lGlg04jyrQL8DhAV2P1i-rmiYAn_KqOOFQwpqRv3uvKNs8AICn6WYD26pOrlwHV7JifcIXtbpwlsaAoYkeR4ADIMRJ_-JgNJcUpW8zkLJLa41OsdybIlzN0tFnegviQJRQt98zkH/s791/8.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="626" data-original-width="791" height="506" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr3yiedZLYuMS2w1jj5ZH5080voAlBo24fcrXRyrLe1jE7xEA9lGlg04jyrQL8DhAV2P1i-rmiYAn_KqOOFQwpqRv3uvKNs8AICn6WYD26pOrlwHV7JifcIXtbpwlsaAoYkeR4ADIMRJ_-JgNJcUpW8zkLJLa41OsdybIlzN0tFnegviQJRQt98zkH/w640-h506/8.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWjGBCF-fyQLAQswWkidKsqtqYOo3pqAO2OOA1trD9Iam5Umi_-_WZ_gseMhvEmkMje1n5IYw7ago45QI-_TDQ9Rcfxb_E2q51je2aksTmkMxcj-aSI6KIngRlI8rkvutANtrh6oEvSRHa_VJqTWT6Q_BRgWQrEgNY3co3XRnyFx7aerATtaozRyOP/s797/9.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="632" data-original-width="797" height="508" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWjGBCF-fyQLAQswWkidKsqtqYOo3pqAO2OOA1trD9Iam5Umi_-_WZ_gseMhvEmkMje1n5IYw7ago45QI-_TDQ9Rcfxb_E2q51je2aksTmkMxcj-aSI6KIngRlI8rkvutANtrh6oEvSRHa_VJqTWT6Q_BRgWQrEgNY3co3XRnyFx7aerATtaozRyOP/w640-h508/9.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTyvi2weP-LyfUoYOgFXAZuE1DIcj4RZhEd9sliuKuagiUfj4cqYsrDzOrMdpCpF8F4hVrFCFzw2KBAviK9t39w2cO9MD1VsW8miV3zSoggEnfe83wn7GJN1yRD8DJhAUloltMGyknuhTF-O2gs6LN_UFemB6Fid8ovmP8ucf5SondD1X36gbEnurh/s798/10.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="630" data-original-width="798" height="506" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTyvi2weP-LyfUoYOgFXAZuE1DIcj4RZhEd9sliuKuagiUfj4cqYsrDzOrMdpCpF8F4hVrFCFzw2KBAviK9t39w2cO9MD1VsW8miV3zSoggEnfe83wn7GJN1yRD8DJhAUloltMGyknuhTF-O2gs6LN_UFemB6Fid8ovmP8ucf5SondD1X36gbEnurh/w640-h506/10.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2vjblA51Fn4Z5IqMYubPa2WuA8uCDpL6z8rdJEWDxReksqMGvpz5s3bKTmZg1T9oxadU5eLRfrndIBAtUo5QRoY-OeAZ5jVm-sed10eIGhUlmSdSHqoGNXS_hld55T0Jc1jpinR9g4HFhyQ44H2XEy3DbEgkQmOGcy_KwglpvgYezKLgU40J0qQCE/s797/11.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="629" data-original-width="797" height="506" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2vjblA51Fn4Z5IqMYubPa2WuA8uCDpL6z8rdJEWDxReksqMGvpz5s3bKTmZg1T9oxadU5eLRfrndIBAtUo5QRoY-OeAZ5jVm-sed10eIGhUlmSdSHqoGNXS_hld55T0Jc1jpinR9g4HFhyQ44H2XEy3DbEgkQmOGcy_KwglpvgYezKLgU40J0qQCE/w640-h506/11.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNBbVHF5DHIOuzWP9sxyyiduKrMyUx3mHn-j5eyZQQWfv5LgiS5cBNfJFHbAi9pgKHjECe5DsDPtuT51AcKP__AXlK9Pk-9lWljm74EVHrPLBelbloHBsG2f4uvy8dvejJftFgIpq0O_bKe2kQxKETpDVBr0Ggft0so6kLdmaBacdczwGgQOOWHFtG/s797/12.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="630" data-original-width="797" height="506" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNBbVHF5DHIOuzWP9sxyyiduKrMyUx3mHn-j5eyZQQWfv5LgiS5cBNfJFHbAi9pgKHjECe5DsDPtuT51AcKP__AXlK9Pk-9lWljm74EVHrPLBelbloHBsG2f4uvy8dvejJftFgIpq0O_bKe2kQxKETpDVBr0Ggft0so6kLdmaBacdczwGgQOOWHFtG/w640-h506/12.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibhV2rfMroMAJ3it9b9w1M4e4D2xqEf0GS07LH6VeFFsu7sUKHZszC5JMDZ54bN_SU06DgBCvbcBwjElPhwYZ9PP_5E-3PydMw1o7Jg9IgR-PCPb2T2-LoTNpVKrvSAkiqeOk8GGlz1Q2r2SVISE2uQP7MneVUYyiRvc0BgdzJyDOpNbAUnw6MEnUQ/s791/14.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="631" data-original-width="791" height="510" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibhV2rfMroMAJ3it9b9w1M4e4D2xqEf0GS07LH6VeFFsu7sUKHZszC5JMDZ54bN_SU06DgBCvbcBwjElPhwYZ9PP_5E-3PydMw1o7Jg9IgR-PCPb2T2-LoTNpVKrvSAkiqeOk8GGlz1Q2r2SVISE2uQP7MneVUYyiRvc0BgdzJyDOpNbAUnw6MEnUQ/w640-h510/14.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVhP_PLrnVPOLBnjR_fSW4E56belO_PJ-nOx0lpa0ELKWI4gtg3cGR1brxyon5BtEoJzx99_DR7bPu0KLYbEfPCLfckbJWkTGnqzkK1sC06TjZm-OTl55-6DdhpyUBGZytKC3uvHZg1BNEbaSFzt62BwB1w0REFX7Erzl-56XYz1OIeNtLPyPRAMvH/s800/15.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="627" data-original-width="800" height="502" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVhP_PLrnVPOLBnjR_fSW4E56belO_PJ-nOx0lpa0ELKWI4gtg3cGR1brxyon5BtEoJzx99_DR7bPu0KLYbEfPCLfckbJWkTGnqzkK1sC06TjZm-OTl55-6DdhpyUBGZytKC3uvHZg1BNEbaSFzt62BwB1w0REFX7Erzl-56XYz1OIeNtLPyPRAMvH/w640-h502/15.png" width="640" /></a></div><br /><p>Action: </p><p>The database is now created, you can either change or unlock your passwords or just click Exit to finish the database creation.</p><p><br /></p><p><br /></p><div><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br />dbatutorial.comhttp://www.blogger.com/profile/13969648514293009119noreply@blogger.com0tag:blogger.com,1999:blog-7125033335107872703.post-23897625203054417972022-10-26T11:57:00.014+06:002023-01-17T21:32:04.842+06:00Physical Standby Switchover Best Practices for 18c & 19c <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3terlcHodjXh4KisP5dwK-3oVNPEf8WXWpzwVVejiFIRp8Mu0R6tdHxRQvVPFj9XTFYxw4iFv62fsycKPR7oqe2uhCoNW45TRJOPWgqj7dYB2cg9hINn83Yj1cGcWoV-HZnAXSAw2YLszFH6J0YEPAVMtfbTWvF2bNKLxRwGpbR8m9w3LwiSBtffY/s1566/Switchover.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="839" data-original-width="1566" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3terlcHodjXh4KisP5dwK-3oVNPEf8WXWpzwVVejiFIRp8Mu0R6tdHxRQvVPFj9XTFYxw4iFv62fsycKPR7oqe2uhCoNW45TRJOPWgqj7dYB2cg9hINn83Yj1cGcWoV-HZnAXSAw2YLszFH6J0YEPAVMtfbTWvF2bNKLxRwGpbR8m9w3LwiSBtffY/w640-h310/Switchover.png" width="640" /></a></div><p>In this article, we are going to show the best practices of physical standby databases 18c & 19c switchover using SQL*PLUS.</p><span><a name='more'></a></span><p><br /></p><p><b><span style="font-size: medium;">Step 1: Prerequisites check before performing switchover activities</span></b></p><p><b>a.<span style="white-space: pre;"> </span>Setup/configuration verification</b></p><p>-<span style="white-space: pre;"> </span>Primary & Standby should be running with the same version of RDBMS </p><p>-<span style="white-space: pre;"> </span>Verify the alert log files and make sure there are no errors </p><p>-<span style="white-space: pre;"> </span>Run select on v$database_block_corruption & v$nonlogged_block from primary and standby and make sure there are no corruptions </p><p>-<span style="white-space: pre;"> </span>Make sure primary and physical standby configurations are good and there are no errors in redo transport and redo apply</p><p><br /></p><p>You can also optionally use the below queries to check the redo transport and apply status.</p><p><u><b>On Primary Database:</b></u></p><p>SQL> col DEST_NAME for a20 </p><p>SQL> col DESTINATION for a25 </p><p>SQL> col ERROR for a15 </p><p>SQL> col ALTERNATE for a20 </p><p>SQL> set lines 1000 </p><p>SQL> select DEST_NAME, DESTINATION, ERROR, ALTERNATE, TYPE, status, VALID_TYPE, VALID_ROLE from V$ARCHIVE_DEST where STATUS <>'INACTIVE';</p><p><br /></p><p>Check the last archivelog created at the primary.</p><p>SQL> select thread#, max(sequence#) "Last Primary Seq Generated" from gv$archived_log val, gv$database vdb where val.resetlogs_change# = vdb.resetlogs_change# group by thread# order by 1;</p><p><br /></p><p><b><u>On Standby Database:</u></b></p><p>Using the below query, check the last received archivelog from primary database (RAC database result will be displayed for each thread).</p><p>SQL> select thread#, max(sequence#) "Last Standby Seq Received" from gv$archived_log val, gv$database vdb where val.resetlogs_change# = vdb.resetlogs_change# group by thread# order by 1;</p><p><br /></p><p>Check the last archive log sequence applied at standby.</p><p>SQL> select thread#, max(sequence#) "Last Standby Seq Applied" from gv$archived_log val, gv$database vdb where val.resetlogs_change# = vdb.resetlogs_change# and val.applied in ('YES','IN-MEMORY') group by thread# order by 1;</p><p><br /></p><p><b>b.<span style="white-space: pre;"> </span>Verify Initialization Parameters</b></p><p>The below parameter should have been configured correctly. </p><p><b><span style="color: #990000;">log_archive_config:</span></b> <span style="white-space: pre;"> </span>should include primary and standby database (if multiple standby databases are existing, then all the standby database details should be included) </p><p><span style="color: #990000;"><b>fal_server: </b></span><span style="white-space: pre;"> </span>remote server from where archivelog can be fetched </p><p><span style="color: #990000;"><b>db_unique_name:</b></span> <span style="white-space: pre;"> </span>unique name under this configuration</p><p><b><span style="color: #990000;">log_archive_dest_n: </span></b><span style="white-space: pre;"> </span>for remote database to send archives</p><p><span style="color: #990000;">Note: Ensure the 'compatible' parameter is set to the same value at primary and standby</span>.</p><p><br /></p><p><b><span style="font-size: medium;">Step 2: Pre-Switchover Check</span></b></p><p>Ensure Prerequisites are completely verified and these steps should be executed before the real planned outage starts and ensure no issues.</p><p><br /></p><p><b>a.<span style="white-space: pre;"> </span>Verify Redo/Archive log apply is good and that there are no gaps</b></p><p><u><b>On Standby Database:</b></u></p><p>Run the below query in physical standby to check the last archive log sequence received and applied from all the threads. This will not include a current sequence of the primary database as the SQL is extracting details from v$archived_log.</p><p><br /></p><p>SQL> select thread#, max(sequence#) "Last Standby Seq Applied"</p><p>from gv$archived_log val, gv$database vdb</p><p>where val.resetlogs_change# = vdb.resetlogs_change#</p><p>and val.applied in ('YES','IN-MEMORY')</p><p>group by thread# order by 1; </p><p><br /></p><p>Check the MRP(Managed Recovery Process) process status (it should be started, running, and applying the logs). </p><p>SQL> select * from gv$dataguard_process; </p><p><br /></p><p>Commands to stop & start the managed recovery process.</p><p>SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;</p><p>SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;</p><p><br /></p><p><span style="color: #990000;"><b>Note: </b>If standby database recovery (MRP) started with delay OR if the standby is always maintained with lag, then switchover will consume time to apply the logs to be synchronized.</span></p><p><span style="color: #990000;">Before switchover, try to maintain minimal archive log apply lag, which will reduce the total switchover time window</span></p><p><br /></p><p><b>b.<span style="white-space: pre;"> </span>Check the datafiles & Tempfiles status</b></p><p>Expected all the datafiles should be online in primary and standby, in case if there are files in offline (OR) NOT in online status, then restore the file and recover so standby database datafiles are same as primary database datafiles.</p><p><u><b>On Primary & Standby Database:</b></u></p><p>Check the file status and use the below command to make files online.</p><p>SQL> SELECT NAME FROM V$DATAFILE WHERE STATUS=’OFFLINE’;</p><p>SQL> ALTER DATABASE DATAFILE 'datafile-name' ONLINE;</p><p><br /></p><p>For tempfiles:</p><p>SQL> select tf.name filename, bytes, ts.name tablespace from v$tempfile tf, v$tablespace ts where tf.ts#=ts.ts#;</p><p><br /></p><p><b>c.<span style="white-space: pre;"> </span>Online and standby redo logfile configuration</b></p><p>Check the online redo and standby redo logs in the primary and standby database using the below queries.</p><p>SQL> set linesize 1000</p><p>SQL> set pagesize 2000</p><p>SQL> select group#, status, type, member from v$logfile;</p><p>Note: Make sure the below rules are followed by creating standby redo logs </p><p>i.<span style="white-space: pre;"> </span>The number of Standby redo logs will be 1 more than the number of online redo logs on the primary & standby. </p><p>ii.<span style="white-space: pre;"> </span>The size of the standby redo log should be the same as that of the online redo log on primary & standby.</p><p>Manually recreate online and standby redo log if miss the above rule in primary or standby database.</p><div><br /></div><p><u><b>Online redo logfile (ORL):</b></u></p><p><br /></p><p>SQL> set lines 150 </p><p>SQL> col member for a50 </p><p>SQL> select a.thread#, a.group#, a.bytes, a.blocksize, b.type, a.status, b.member from v$log a,v$logfile b where a.group#=b.group#;</p><p><br /></p><p><span style="color: #990000;">Note: At primary when the above command executed, we may get a.status in (INACTIVE,ACTIVE,CURRENT). Expected a.status from Standby is UNUSED, CLEARING or CLEARING_CURRENT, if output has different result, then manually clear redo logfiles.</span></p><p><br /></p><p>Command to clear ORL group: </p><p>SQL> ALTER DATABASE CLEAR LOGFILE GROUP <ORL Group#>; </p><p><br /></p><p>If ORL or SRL needs to be cleared in the standby, Managed recovery process has to be stopped.</p><p><span style="color: #990000;">Note: During switchover ORLs will be cleared if ORLs were not cleared previously, but switchover will be consuming time to complete. Switchover session will wait for 15 min to complete otherwise timeout will occur. if the switchover is terminated due to timeout, then retry again until switchover is successful.</span></p><p><br /></p><p><b><u>For Standby redo logfile(SRL):</u></b></p><p>SQL> select s.thread#,s.group#,s.status,s.bytes,l.type,l.member from v$logfile l,v$standby_log s where s.group#=l.group#;</p><p>Standby redo logfile status would be in UNASSIGNED OR ACTIVE.</p><p><br /></p><p><b>d.<span style="white-space: pre;"> </span>Checking the alert logfiles</b></p><p>Primary database alert log:</p><p>* Check for issue reported for redo transport </p><p>* Ensure there is no password file issue </p><p>* Ensure there are no TNS or connection issue</p><p>Standby database alert log:</p><p>There are no error related to Managed recovery </p><p>* Recovery is moving forward by applying the archive log / redo log </p><p>* There are no TNS or connection issue </p><p>* There are no I/O issue or corruption issue </p><p>* select * from v$database_block_corruption; -- it should return no rows </p><p>* select * from v$nonlogged_block; -- it should return no rows</p><p><br /></p><p><b>e.<span style="white-space: pre;"> </span>Check Archive log GAP & Redo Delay apply</b></p><p>You must configure the LOG_ARCHIVE_DEST_n and LOG_ARCHIVE_DEST_STATE_n parameters for each standby database. When a switchover or failover occurs, all standby databases continues to receive redo logs / Archivelogs from the new primary database.</p><p><b><u> On Primary Database:</u></b></p><p>Considering log_archive_dest_2 is configured for the redo shipping.</p><p>SQL> SELECT STATUS, GAP_STATUS FROM V$ARCHIVE_DEST_STATUS WHERE DEST_ID = 2;</p><p>Note: STATUS should be Valid GAP_STATUS should be NO GAP. If different result is reported, then switchover should NOT be tried.</p><p><br /></p><p><b><span style="font-size: medium;">Step 3: Switchover Activities</span></b></p><p><b><u><br /></u></b></p><p><b>a.<span style="white-space: pre;"> </span>Verify the switchover</b></p><p><b><u>On Primary Database:</u></b></p><p>If the below command executes successfully, then "Database Altered" message should be returned (Execute the below SQL in the primary).</p><p><br /></p><p><span style="color: #990000;">SQL> ALTER DATABASE SWITCHOVER TO <standby db_name> VERIFY;</span></p><p>In case of an error, fix an issue and then rerun switchover verify command.</p><p><br /></p><p><b>b.<span style="white-space: pre;"> </span>Switchover steps</b></p><p>If the switchover verify is successful, then execute the command to switchover the database.</p><p>1)<span style="white-space: pre;"> </span>Execute in the current primary </p><p><span style="color: #990000;">SQL> ALTER DATABASE SWITCHOVER TO <standby db_name>; </span></p><p>if step 1 is successful, then follow step 2 to open the new primary database in open mode. </p><p><br /></p><p>2)<span style="white-space: pre;"> </span>Execute in the new primary database </p><p><span style="color: #990000;">SQL> ALTER DATABASE OPEN; </span></p><p>3)<span style="white-space: pre;"> </span>Old primary (current/new standby) should be mounted OR opened depends on the case If standby is Oracle Active data guard physical standby: </p><p><br /></p><p><span style="color: #990000;">SQL> STARTUP;</span> </p><p>If the standby is NOT Oracle Active data guard physical standby: </p><p><span style="color: #990000;">SQL> STARTUP MOUNT; </span></p><p><br /></p><p>4)<span style="white-space: pre;"> </span>Start redo apply in the new standby </p><p>SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;</p><p><br /></p><p><b><span style="font-size: medium;">Step 4: Post-Switchover Activities</span></b></p><p><u><b><br /></b></u></p><p><u><b>In primary:</b></u></p><p>In primary:</p><p>Check, if the archive logs are being transferred to the standby and getting applied?</p><p>SQL> alter system archive log current; </p><p>SQL>select dest_id,error,status from v$archive_dest where dest_id=>; </p><p>SQL>select max(sequence#),thread# from v$log_history group by thread#;</p><p>Incase remote archivelog destination 2 is set in primary (log_archive_dest_2 ), we can use the below query to check the maximum sequence transferred and applied in the standby.</p><p><br /></p><p>SQL>select max(sequence#) from v$archived_log where applied='YES' and dest_id=2;</p><p><u><b><br /></b></u></p><p><u><b>In standby:</b></u></p><p>Verify the archivelog availability and the application of the archive log files.</p><p>SQL>select max(sequence#),thread# from v$archived_log group by thread#; </p><p>SQL> select name,role,instance,thread#,sequence#,action from gv$dataguard_process;</p><p><br /></p><p>Additionally, Alert logfiles can be viewes to confirm the archivelog transfer and archivelog apply in standby.</p><p><br /></p>dbatutorial.comhttp://www.blogger.com/profile/13969648514293009119noreply@blogger.com0tag:blogger.com,1999:blog-7125033335107872703.post-56871079997163938602022-08-08T12:02:00.004+06:002023-01-17T21:32:20.980+06:00Install Oracle 19c Grid Infrastructure on AIX Step by Step Tutorial<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijno4RgG_u-PRMGy3-JJcslHHphf4MX3CywDQNlireuwhS-0bOzAlw6Vkf6zaXeEohcNo5QB52E4nhjRwSjmAxGj5rmoZPHn3KNXeOVZAVnrAcDZWqTqxnlqBiBb1UpJFS2mVzmgPz0wORDxrHOT5_x0IeDra4ZZ_wUWNC_ku2IKqIKLspp9sni6VZ/s1566/Oracle%2019c%20Grid%20Installation.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="839" data-original-width="1566" height="171" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijno4RgG_u-PRMGy3-JJcslHHphf4MX3CywDQNlireuwhS-0bOzAlw6Vkf6zaXeEohcNo5QB52E4nhjRwSjmAxGj5rmoZPHn3KNXeOVZAVnrAcDZWqTqxnlqBiBb1UpJFS2mVzmgPz0wORDxrHOT5_x0IeDra4ZZ_wUWNC_ku2IKqIKLspp9sni6VZ/s320/Oracle%2019c%20Grid%20Installation.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><p>In this article, we are going to briefly describe the step to installing oracle 19c grid infrastructure on the AIX server. </p><span><a name='more'></a></span><p><br /></p><p><b>Step 1: Checking Server Hardware and Memory Configuration</b></p><p>1. To determine physical RAM size on the server:</p><p># /usr/sbin/lsattr -E -l sys0 -a realmem</p><p>2. To determine the available RAM and swap space</p><p># /usr/sbin/lsps -s</p><p>3. To determine the size of the configured swap space:</p><p># /usr/sbin/lsps -a</p><p>4. Determine the amount of space available in the /tmp directory</p><p># df -m /tmp</p><p>If the free space available in the /tmp directory is less than what is required, then complete one of the following steps:</p><p>i. <span style="white-space: pre;"> </span>Delete unnecessary files from the /tmp directory to meet the disk space requirement.</p><p>ii. <span style="white-space: pre;"> </span>When you set the Oracle user's environment, also set the TMP and TMPDIR environment variables to the directory you want to use instead of /tmp.</p><p>iii. <span style="white-space: pre;"> </span>Extend the file system that contains the /tmp directory.</p><p>5. Determine the amount of free disk space on the system</p><p># df -g</p><p># df -m</p><p>6. Determine if the system architecture can run the software:</p><p># /usr/bin/getconf HARDWARE_BITMODE</p><p><b>Note: </b>The expected output of this command is 64. If you do not see the expected output, you cannot install the software on this system.</p><p>To determine if the system is started in 64-bit mode:</p><p># /usr/sbin/bootinfo -K</p><p><b>Note:</b> The result of this command must be 64, indicating that the 64-bit kernel is enabled.</p><p>7. To determine the run level:</p><p># /usr/bin/who -r</p><p><br /></p><p><b>Step 2: Checking the Software Requirements</b></p><p>1. To determine the distribution and version of IBM AIX installed:</p><p># oslevel -s</p><p>If the operating system version is lower than what is required, then upgrade your</p><p>operating system accordingly to the currently supported or later version and level.</p><p>2. To determine if the required filesets are installed and committed enter a command similar</p><p>to the following:</p><p># lslpp -l bos.adt.base bos.adt.lib bos.adt.libm bos.perf.perfstat \</p><p>bos.perf.libperfstat bos.perf.proctools</p><p># AIX 7.2 Operating System Filesets. The following operating system filesets are required:</p><p>• bos.adt.base</p><p>• bos.adt.lib</p><p>• bos.adt.libm</p><p>• bos.perf.libperfstat</p><p>• bos.perf.perfstat</p><p>• bos.perf.proctools</p><p>• xlC.aix61.rte:13.1.0.1 or later</p><p>• xlC.rte:13.1.0.1 or later</p><p>• xlfrte.aix61-15.1.0.9 or later</p><p>The following filesets are required for Oracle Real Application Clusters</p><p>(Oracle RAC) Installations only:</p><p>• rsct.basic.rte</p><p>• rsct.compat.clients.rte</p><p>3. To determine the supported kernel mode:</p><p># getconf KERNEL_BITMODE</p><p>• The expected output of this command is 64. I</p><p><br /></p><p>4. To determine if an APAR is installed:</p><p># /usr/sbin/instfix -i -k "IV16716 IV20880 IV21128 IV28319"</p><p><br /></p><p><b>Step 3: Enabling I/O Completion Ports</b></p><p>On IBM AIX on POWER Systems (64-Bit), enable I/O completion ports (IOCP) to ensure successful database and grid infrastructure installation.</p><p>To check if the IOCP module is enabled, run the lsdev command:</p><p># lsdev | grep iocp</p><p>The following sample output shows the IOCP status is set to Defined and hence not enabled:</p><p>iocp0 Defined I/O Completion Ports</p><p>By default, IOCP is set to Defined. To enable IOCP, set IOCP to Available using the following procedure:</p><p>1. Log in as root and run the following command:</p><p># smitty iocp</p><p>2. Select Change / Show Characteristics of I/O Completion Ports.</p><p>3. Change configured state at system restart from Defined to Available.</p><p>4. Run the lsdev command to confirm the IOCP status is set to Available:</p><p>$ lsdev | grep iocp</p><p>iocp0 Available I/O Completion Ports</p><p>Restart the system to make the changes permanent.</p><p><br /></p><p><b>Step 4: Checking Resource Limits for AIX</b></p><p>On AIX platforms, the /etc/security/login.cfg file controls and limits resources for users on the system. On login, set control and limit resources for users on the system so that authentication is carried out through the pam.conf file. By default, resource limits are set to std_auth for AIX operating systems.</p><p>1. Edit the file /etc/security/login.cfg file to change auth_type under the usw stanza from std_auth to pam_auth.</p><p>2. To ensure that these resource limits are honored, confirm that the line login session required /usr/lib/security/pam_aix is set in /etc/pam.conf.</p><p>For example:</p><p>dtsession auth required /usr/lib/security/pam_aix</p><p>dtlogin session required /usr/lib/security/pam_aix</p><p>ftp session required /usr/lib/security/pam_aix</p><p>imap session required /usr/lib/security/pam_aix</p><p>login session required /usr/lib/security/pam_aix</p><p>rexec session required /usr/lib/security/pam_aix</p><p>rlogin session required /usr/lib/security/pam_aix</p><p>rsh session required /usr/lib/security/pam_aix</p><p>snapp session required /usr/lib/security/pam_aix</p><p>su session required /usr/lib/security/pam_aix</p><p>swrole session required /usr/lib/security/pam_aix</p><p>telnet session required /usr/lib/security/pam_aix</p><p>xdm session required /usr/lib/security/pam_aix</p><p>OTHER session required /usr/lib/security/pam_prohibit</p><p>websm_rlogin session required /usr/lib/security/pam_aix</p><p>websm_su session required /usr/lib/security/pam_aix</p><p>wbem session required /usr/lib/security/pam_aix</p><p><br /></p><p><b>Step 5: Tuning Virtual Memory Manager (VMM)</b></p><p>Recommended Values for Virtual Memory Manager</p><p>Parameter <span style="white-space: pre;"> </span>Value</p><p>minperm% <span style="white-space: pre;"> </span>3</p><p>maxperm% <span style="white-space: pre;"> </span>90</p><p>maxclient% = 90 <span style="white-space: pre;"> </span>90</p><p>lru_file_repage <span style="white-space: pre;"> </span>0</p><p>strict_maxclient <span style="white-space: pre;"> </span>1</p><p>strict_maxperm <span style="white-space: pre;"> </span>0</p><p><br /></p><p><b>For example:</b></p><p>vmo -p -o minperm%=3</p><p>vmo -p -o maxperm%=90</p><p>vmo -p -o maxclient%=90</p><p>vmo -p -o lru_file_repage=0</p><p>vmo -p -o strict_maxclient=1</p><p>vmo -p -o strict_maxperm=0</p><p><b>Note:</b> You must restart the system for these changes to take effect.</p><p><br /></p><p><b>Step 6: Tuning Virtual Processor Manager (VPM)</b></p><p>Oracle recommends that you use the vpm_xvcpus command to tune virtual processor.</p><p>When you enable CPU folding with only one CUP, your system may reboot and face performance problems.</p><p>1. Check if CPU folding is enabled:</p><p># schedo -L| grep "vpm_xvcpus" |cut -d " " -f 17</p><p>The above command returns 0 if CPU folding is enabled.</p><p>2. Set value of the vpm_xvcpus parameter to at least 2:</p><p># schedo -o vpm_xvcpus=2</p><p>3. Increase the space allocated for ARG/ENV list to 128. The size is specified by number of 4K blocks.</p><p><b>For example:</b></p><p># /usr/sbin/chdev -l sys0 -a ncargs='1024'</p><p><br /></p><p><b>Step 7: Configuring SSH LoginGraceTime Parameter for AIX</b></p><p>On AIX systems, configure the OpenSSH parameter to avoid timeout errors.</p><p>On AIX systems, the OpenSSH parameter LoginGraceTime by default is commented out, and the default behavior of OpenSSH on AIX can sometimes result in timeout errors. </p><p>To avoid these errors, complete the following procedure:</p><p>1. Log in as root.</p><p>2. Using a text editor, open the OpenSSH configuration file /etc/ssh/sshd_config.</p><p>3. Locate the comment line #LoginGraceTime 2m.</p><p>4. Uncomment the line, and change the value to 0 (unlimited).</p><p>For example:</p><p> LoginGraceTime 0</p><p>5. Save /etc/ssh/sshd_config.</p><p>6. Restart SSH.</p><p><br /></p><p><b>Step 8: Configuring User Process Parameters</b></p><p>Verify that the maximum number of processes allowed for each user is set to 16384 or greater.</p><p>1. Enter the following command:</p><p># smit chgsys</p><p>2. Verify that the value shown for Maximum number of PROCESSES allowed for each user is greater than or equal to 16384. If necessary, edit the existing value.</p><p>3. When you have finished making changes, press Enter, then Esc+0 (Exit) to exit.</p><p>For production systems, this value should be at least 128 plus the sum of the PROCESSES and PARALLEL_MAX_SERVERS initialization parameters for each database running on the system.</p><p><br /></p><p><b>Step 9: Configuring Network Tuning Parameters</b></p><p>View the current value specified for network tuning parameters, and change them if necessary.</p><p>1. To check the current values of the network tuning parameters, enter commands similar to</p><p>the following:</p><p># no -a | more</p><p>2. If you must change the value of any parameter, then enter the following command to determine whether the system is running in compatibility mode:</p><p># lsattr -E -l sys0 -a pre520tune</p><p>If the system is running in compatibility mode, then the output is similar to the following, showing that the value of the pre520tune attribute is enabled:</p><p>pre520tune enable Pre-520 tuning compatibility mode True</p><p>3. If the system is running in compatibility mode, then follow these steps to change the parameter values:</p><p>a. Enter commands similar to the following to change the value of each parameter:</p><p># no -o parameter_name=value</p><p>For example:</p><p># no -o udp_recvspace=655360</p><p>b. Add entries similar to the following to the /etc/rc.net file for each parameter that you changed in the previous step:</p><p>if [ -f /usr/sbin/no ] ; then</p><p> /usr/sbin/no -o udp_sendspace=65536</p><p> /usr/sbin/no -o udp_recvspace=655360</p><p> /usr/sbin/no -o tcp_sendspace=65536</p><p> /usr/sbin/no -o tcp_recvspace=65536</p><p> /usr/sbin/no -o rfc1323=1</p><p> /usr/sbin/no -o sb_max=4194304</p><p> /usr/sbin/no -o ipqmaxlen=512</p><p>fi</p><p>By adding these lines to the /etc/rc.net file, the values persist when the system restarts.</p><p>c. You can also use the chdev command to change the characteristics of a device or interface. For example, set the RFC1323 value for the network</p><p>interface en5 without restarting the system as follows:</p><p># chdev -l en5 -a rfc1323=1</p><p>4. If the system is not running in compatibility mode, then enter commands similar to the following to change the parameter values:</p><p>ipqmaxlen parameter:</p><p># /usr/sbin/no -r -o ipqmaxlen=512</p><p>Other parameter:</p><p>/usr/sbin/no -p -o parameter=value</p><p>If you modify the ipqmaxlen parameter, then you must restart the system. These commands change the /etc/tunables/nextboot file, causing the attribute values to persist when the system restarts.</p><p>5. If you need to change parameters, and you do not restart your system, then use the ifconfig command to check each network parameter after you change the no global setting.</p><p>For example:</p><p># ifconfig en0</p><p>en0:</p><p>flags=1e080863,2c0<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUP</p><p>RT,6</p><p>4BIT,CHECKSUM_OFFLOAD(ACTIVE),LARGESEND,CHAIN,MONITOR></p><p>inet 192.0.2.1 netmask 0xfffff800 broadcast 192.0.2.0</p><p> inet 192.0.2.2 netmask 0xfffff800 broadcast 192.0.2.0</p><p> inet 192.0.2.3 netmask 0xfffff800 broadcast 192.0.2.0</p><p> inet 192.0.2.4 netmask 0xfffff800 broadcast 192.0.2.0</p><p> tcp_sendspace 131072 tcp_recvspace 65536 rfc1323 0</p><p><br /></p><p>For the ISNO parameter tcp_sendspace, use the following command to set it:</p><p># ifconfig en0 tcp_sendspace 65536</p><p><br /></p><p>6. Running the rootpre.sh Script</p><p>Run the rootpre.sh script only the first time you install Oracle Database on IBM AIX on POWER Systems (64-Bit). Use the following procedure to run the rootpre.sh script:</p><p>1. Download the Oracle Database installation image files (db_home.zip) and extract</p><p>the files into a new Oracle home directory. For example:</p><p># mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1</p><p># chgrp oinstall /u01/app/oracle/product/19.0.0/dbhome_1</p><p># cd /u01/app/oracle/product/19.0.0/dbhome_1</p><p># unzip -q /tmp/db_home.zip</p><p>2. Switch the user to root:</p><p># su - root</p><p>password:</p><p>#</p><p>3. Run the rootpre.sh script using the following command:</p><p># $ORACLE_HOME/clone/rootpre.sh</p><p>4. Exit from the root account:</p><p># exit</p><p><br /></p><p><b>Step 10: Creating the Oracle Home and Oracle Base Directory</b></p><p># mkdir -p /u01/app/19.0.0/grid<span style="white-space: pre;"> </span>- Grid home directory</p><p># mkdir -p /u01/app/grid<span style="white-space: pre;"> </span>- Grid base directory</p><p># mkdir -p /u01/app/oracle/19c/db_1<span style="white-space: pre;"> </span>- Oracle home directory</p><p># mkdir -p /u01/app/oracle<span style="white-space: pre;"> </span>- Oracle base directory </p><p># chown -R grid:oinstall /u01</p><p># chown oracle:oinstall /u01/app/oracle</p><p># chmod -R 775 /u01/</p><p><br /></p><p><b>Step 11: Creating Identical Database Users and Groups on Other Cluster Nodes</b></p><p>1. Log in to the node as root</p><p>Use the id option to specify the correct group ID for each group.</p><p># mkgroup -A id=54421 oinstall</p><p># mkgroup -A id=54322 dba</p><p># mkgroup -A id=54323 oper</p><p># mkgroup -A id=54327 asmdba</p><p># mkgroup -A id=54328 asmoper</p><p># mkgroup -A id=54329 asmadmin</p><p># mkuser id='54321' pgrp='oinstall' groups='dba,oper,asmdba,asmoper' home='/home/oracle' oracle</p><p># mkuser id='54322' pgrp='oinstall' groups='asmadmin, asmdba,dba' home='/home/grid' grid</p><p>• The pgrp option specifies the primary group for the Grid user, which must be the Oracle Inventory group (OINSTALL), which grants the OINSTALL system privileges.</p><p>In this example, the OINSTALL group is oinstall.</p><p>2. Set the password of the user.</p><p>For example:</p><p># passwd grid</p><p># passwd oracle</p><p><br /></p><p><b>12: Host file configuration on both nodes</b></p><p>1. Log in to the node as root</p><p># vi /etc/hosts</p><p>127.0.0.1 loopback localhost # loopback (lo0) name/address</p><p>::1 loopback localhost # IPv6 loopback (lo0) name/address</p><p># Public IP</p><p>192.168.56.10 <span style="white-space: pre;"> </span> rac1 rac1.oracle.com</p><p>192.168.56.20 <span style="white-space: pre;"> </span> rac2 rac2.oracle.com</p><p># Private IP</p><p>10.0.0.1 <span style="white-space: pre;"> </span> rac1-priv</p><p>10.0.0.2 <span style="white-space: pre;"> </span> rac2-priv</p><p># Virtual IP</p><p>192.168.56.11 <span style="white-space: pre;"> </span> rac1-vip</p><p>192.168.56.21 <span style="white-space: pre;"> </span> rac2-vip</p><p># Scan IP</p><p>192.168.56.51 <span style="white-space: pre;"> </span> rac-scan</p><p>192.168.56.52 <span style="white-space: pre;"> </span> rac-scan</p><p>192.168.56.53 <span style="white-space: pre;"> </span> rac-scan</p><p><br /></p><p><b>Step 13: Disable firewall & Bash profile change for both node</b></p><p>1. Disable firewall</p><p>systemctl stop firewalld</p><p>systemctl disable firewalld</p><p>2. Bash profile entry for oracle user</p><p>su - oracle</p><p>mv .bash_profile .bash_profile_orig</p><p># vi .bash_profile</p><p>export PATH=/usr/bin:/usr/sbin</p><p>export AIXTHREAD_SCOPE=S</p><p>ORACLE_HOSTNAME=rac1.oracle.com; export ORACLE_HOSTNAME</p><p>ORACLE_BASE=/u01/app/oracle/19c/db_1; export ORACLE_BASE</p><p>ORACLE_HOME=/u01/app/oracle/19c/db_1; export ORACLE_HOME</p><p>ORACLE_SID=RACDB1; export ORACLE_SID</p><p>ORACLE_TERM=xterm; export ORACLE_TERM</p><p>PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:/usr/java7_64/jre/bin:.</p><p>PATH=$ORACLE_HOME/bin:$PATH; export PATH</p><p>if [ -f /usr/bin/less ]; then</p><p> export PAGER="/usr/bin/less -ins"</p><p>elif [ -f /usr/bin/more ]; then</p><p> export PAGER="/usr/bin/more -s"</p><p>fi</p><p>#/usr/bin/bash</p><p>PS1="\u@\h$ "</p><p>export PS1</p><p>/usr/bin/bash</p><p>if [ -s "$MAIL" ] # This is at Shell startup. In normal</p><p>then echo "$MAILMSG" # operation, the Shell checks</p><p>fi # periodically.</p><p><br /></p><p><br /></p><p>3. Bash profile entry for grid user</p><p>su - grid</p><p>mv .bash_profile .bash_profile_orig</p><p># vi .bash_profile</p><p>export PATH=/usr/bin:/usr/sbin</p><p>export ORACLE_HOSTNAME=rac1.oracle.com</p><p>export ORACLE_BASE=/u01/app/grid</p><p>export ORACLE_HOME=/u01/app/19c/grid</p><p>export ORACLE_SID=+ASM1</p><p>PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:.</p><p>export PATH=$ORACLE_HOME/bin:/u01/app/19c/grid/OPatch/:$PATH</p><p>LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH</p><p>CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH</p><p>TEMP=/tmp</p><p>TMPDIR=/tmp</p><p>export TEMP TMPDIR</p><p>#/usr/bin/bash</p><p>PS1="\u@\h$ "</p><p>export PS1</p><p>/usr/bin/bash</p><p><br /></p><p><b>Step 14: Installing Oracle Grid Infrastructure for a New Cluster</b></p><p><b>Note: </b>following activities have to perform only one node of the cluster</p><p>1. As the grid user, download the Oracle Grid Infrastructure image files and extract the files into the Grid home. For example:</p><p>chown grid:oinstall /u01/app/19c/grid</p><p>cd /u01/app/19c/grid</p><p>unzip -q download_location/grid.zip</p><p>Note: grid.zip is the name of the Oracle Grid Infrastructure image zip file</p><p>2. Create passwordless ssh connectivity between nodes using the following command</p><p># cd /u01/app/19c/grid/deinstall</p><p><b># ./sshUserSetup.sh -user grid -hosts "hostname1 hostname2" -noPromptPassphrase -confir m -advanced</b></p><p><br /></p><p>3. Pre-Check for CRS(Oracle Clusterware) installation run the following command</p><p><b># ./runcluvfy.sh stage -pre crsinst -n dc-dg1,dc-dg2 -fixup -verbose</b></p><p><b># ./runcluvfy.sh stage -pre crsinst -n dc-dg1,dc-dg2 -method root</b></p><p>4. Log in as the grid user, and start the Oracle Grid Infrastructure installer by running the</p><p>following command:</p><p># /u01/app/19c/grid</p><p><b># ./gridSetup.sh</b></p><p><br /></p><p><b>@ Install Grid Software with latest RU patch</b></p><p># Opatch version upgrade as per RU patch requirment</p><p># Unzip the patch file (Ex. unzip patch location is /backup/patch/33509923/) </p><p><b># ./gridSetup.sh -applyRU /backup/patch/33509923/</b></p><p><br /></p><p><br /></p>dbatutorial.comhttp://www.blogger.com/profile/13969648514293009119noreply@blogger.com0tag:blogger.com,1999:blog-7125033335107872703.post-42675491277185103122022-03-20T13:08:00.030+06:002023-01-18T07:45:00.905+06:00GI Release Update Rolling Patch apply Step by Step Tutorial<div style="text-align: left;"><span style="font-weight: normal; line-height: 1.6;">In this article, we are going to show the procedure to apply the January-2022 GI Release Update patch in the oracle 19c RAC environment. Here, we briefly describe the GI RU patch apply step for both the Oracle 19c Grid Infrastructure home and Oracle 19c Database home that will be applied in a rolling fashion.</span></div><p>Patch Information: <b>Patch 33509923 - GI Release Update 19.14.0.0.220118</b></p><p>Let’s see the step to apply GI Release Update in the oracle 19c grid and database home. </p><span><a name='more'></a></span><p><br /></p><p><b><span style="font-size: medium;">Step 1: Patch Information</span></b></p><p>The Oracle Grid Infrastructure patches are cumulative and include the database CPU program security content. The latest RU patch will be applied in Grid home and all Oracle homes. Patch download details are as follows.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVuE20UhirMrhvlLNG3Ik8xib_3GXK8306Wi8pQVcPXhvZCNFrRPYdWJn0fUuamKu_PSk5Zod6rA5JgFsvGTuP2EG4KWNlxWpdad7A0-2VS53kZnAH-Xzjm8d9oj6Vx7Wf4DgiRiJtfTpRV7zoYVrJBWtcOFvH8kiJq9u88eUTtssSXslesk-GIUoC/s735/Patchdownload.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="190" data-original-width="735" height="166" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVuE20UhirMrhvlLNG3Ik8xib_3GXK8306Wi8pQVcPXhvZCNFrRPYdWJn0fUuamKu_PSk5Zod6rA5JgFsvGTuP2EG4KWNlxWpdad7A0-2VS53kZnAH-Xzjm8d9oj6Vx7Wf4DgiRiJtfTpRV7zoYVrJBWtcOFvH8kiJq9u88eUTtssSXslesk-GIUoC/w640-h166/Patchdownload.jpg" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div><div><b><span style="font-size: medium; line-height: 1.6;">Step 2: OPatch Utility Information</span></b></div><div><br /></div><div style="line-height: 1.6;">You must use the OPatch utility version 12.2.0.1.28 or later to apply this patch. Oracle recommends that you use the latest released OPatch version for 12.2 which is available for download from My Oracle Support note 6880880 by selecting the ARU link for the 12.2.0.1.0 OPatch release.</div><div> </div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEXjolrfRQenFqVL_a4DYr7ojvG43Mp9eBzLvPX3bl_du9Wvrq0Uewexgp3lGAr-HLeMQ4TsY6fX3nWvJ3T9anFgIeSwAWXuYRyOf-6h7BSflTi2BMnmo2IDHbdodrmWGtQYOtPtjulpW6-ikzrnQ6WsTtjHHIni9SP4EGmt6jyh0No9Sg5J3w8pSz/s600/patchversion.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="331" data-original-width="600" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEXjolrfRQenFqVL_a4DYr7ojvG43Mp9eBzLvPX3bl_du9Wvrq0Uewexgp3lGAr-HLeMQ4TsY6fX3nWvJ3T9anFgIeSwAWXuYRyOf-6h7BSflTi2BMnmo2IDHbdodrmWGtQYOtPtjulpW6-ikzrnQ6WsTtjHHIni9SP4EGmt6jyh0No9Sg5J3w8pSz/w640-h308/patchversion.jpg" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div><br /></div><div>Download the patch <b>p6880880_122010_Linux-x86-64.zip</b></div><div><b><br /></b></div><div>If grid and oracle opatch version is lower than 12.2.0.1.28 we must upgrade the opatch version following below steps.</div><div><br /></div><div><b>Upgradation Opatch utility for the grid is as follows.</b></div><div><br /></div><div><div>@ Check opatch version using the following command.</div><div># cd $GRID_HOME/OPatch</div><div># opatch version</div></div><div><br /></div><div>@ Opatch version update steps</div><div><br /></div><div>Take opatch backup and unzip the latest downloaded patch in the grid home location</div><div><br /></div><div># cd $GRID_HOME</div><div># tar -pcvf Opatch_bkp.tar Opatch (backup the current opatch directory)</div><div># unzip p6880880_122010_Linux-x86-64.zip -d $GRID_HOME</div><div><br /></div><div><b>Note: </b>Using root user perform both activities like opatch backup and unzip opatch in grid home after unzip opatch in grid home change the permission for opatch directory.</div><div><br /></div><div># cd $GRID_HOME</div><div># chown -R grid:oinstall Opatch</div><div># chmod -R 775 OPatch</div><div><br /></div><div><b>@ Upgradation Opatch utility for oracle home:</b></div><div><b><br /></b></div><div># cd $ORACLE_HOME</div><div># tar -pcvf OPatch_bkp.tar OPatch (backup the current opatch directory)</div><div># chown oracle:oinstall p6880880_122010_Linux-x86-64.zip</div><div># chmod 775 p6880880_122010_Linux-x86-64.zip</div><div># unzip p6880880_122010_Linux-x86-64.zip -d $ORACLE_HOME</div><div><br /></div><div><b><span style="font-size: medium;">Step 3: Validation of Oracle Inventory</span></b></div><div><b><span style="font-size: medium;"><br /></span></b></div><div>Before beginning patch application, check the consistency of inventory information for Grid home and each Oracle home to be patched. </div><div><br /></div><div><b>@ Run this command as the respective Oracle home owner to check the consistency:</b> </div><div># su - oracle</div><div># cd $ORACLE_HOME/Opatch</div><div># <span style="color: #cc0000;">./opatch lsinventory -detail -oh $ORACLE_HOME</span></div><div><br /></div><div><b>@ Run below command from grid </b></div><div># su – grid</div><div># cd $ORACLE_HOME/Opatch</div><div># <span style="color: #cc0000;">./opatch lsinventory -detail -oh $ORACLE_HOME</span></div><div><br /></div><div><b><span style="font-size: medium;">Step 4: Download and Unzip the Patch</span></b></div><div><br /></div><div>Download the patch and unzip it to a shared location or locate in each node.</div><div>cd <UNZIPPED_PATCH_LOCATION></div><div><br /></div><div>Unzip the patch as the Grid home owner except for installations that do not have any Grid homes. For installations where this patch is applied to the Oracle home only, the patch must be unzipped as the Oracle home owner:</div><div><b><br /></b></div><div><b>@ For Grid: </b></div><div># chown grid:oinstall p33509923_190000_Linux-x86-64.zip</div><div># chmod 775 p33509923_190000_Linux-x86-64.zip</div><div># unzip p33509923_190000_Linux-x86-64.zip</div><div><br /></div><div><b><span style="font-size: medium;">Step 5: Run OPatch Conflict Check</span></b></div><div><b><span style="font-size: medium;"><br /></span></b></div><div>Determine whether any currently installed one-off patches conflict with this patch 33509923 as follows:</div><div><br /></div><div><b>@As the Grid home user:</b></div><div><b><br /></b></div><div>Here unzip patch location is: /backup/Patch_Jan_22</div><div><br /></div><div># cd $GRID_HOME/OPatch</div><div><br /></div><div># opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /backup/Patch_Jan_22/33509923/33515361</div><div><br /></div><div># opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /backup/Patch_Jan_22/33509923/33529556</div><div><br /></div><div># opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /backup/Patch_Jan_22/33509923/33534448</div><div><br /></div><div># opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /backup/Patch_Jan_22/33509923/33239955</div><div><br /></div><div># opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /backup/Patch_Jan_22/33509923/33575402</div><div><br /></div><div><b>@ For Oracle home, as home user:</b></div><div><b><br /></b></div><div># cd $ORACLE_HOME/Opatch</div><div><br /></div><div># opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /backup/Patch_Jan_22/33509923/33515361</div><div><br /></div><div># opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /backup/Patch_Jan_22/33509923/33529556</div><div><br /></div><div><b>Note: </b>When OPatch starts, it validates the patch and ensures that there are no conflicts with the software already installed in the ORACLE_HOME.</div><div><br /></div><div><b><span style="font-size: medium;">Step 6: Run OPatch System Space Check</span></b></div><div><b><span style="font-size: medium;"><br /></span></b></div><div><b>@ For Grid Infrastructure home, as home user:</b></div><div><b><br /></b></div><div><b>a.</b><span style="white-space: pre;"> </span><b>Create file /tmp/patch_list_gihome.txt with the following content:</b></div><div>Our patch unzip location: /backup/Patch_Jan_22</div><div><br /></div><div># touch /tmp/patch_list_gihome.txt</div><div># vi /tmp/patch_list_gihome.txt</div><div>/backup/Patch_Jan_22/33509923/33515361</div><div>/backup/Patch_Jan_22/33509923/33529556</div><div>/backup/Patch_Jan_22/33509923/33534448</div><div>/backup/Patch_Jan_22/33509923/33239955</div><div>/backup/Patch_Jan_22/33509923/33575402</div><div><br /></div><div><b>b.</b><span style="white-space: pre;"> </span>Run the OPatch command to check if enough free space is available in the Grid Infrastructure home:</div><div><br /></div><div># cd $GRID_HOME/Opatch</div><div># <span style="color: #cc0000;">opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_gihome.txt</span></div><div><br /></div><div><b>@ For Oracle home, as home user:</b></div><div><br /></div><div>a.<span style="white-space: pre;"> </span>Create file /tmp/patch_list_dbhome.txt with the following content:</div><div><br /></div><div># touch /tmp/patch_list_dbhome.txt</div><div># vi /tmp/patch_list_dbhome.txt</div><div> /backup/Patch_Jan_22/33509923/33515361</div><div> /backup/Patch_Jan_22/33509923/33529556</div><div><br /></div><div>b.<span style="white-space: pre;"> </span>Run OPatch command to check if enough free space is available in the Oracle home:</div><div><br /></div><div># cd $ORACL_HOME/Opatch</div><div><br /></div><div># <span style="color: #cc0000;">opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_dbhome.txt</span></div><div><br /></div><div>The command output reports pass and fail messages as per the system space availability:</div><div><br /></div><div>•<span style="white-space: pre;"> </span>If OPatch reports Prereq "checkSystemSpace" failed., then cleanup the system space as the required amount of space is not available.</div><div>•<span style="white-space: pre;"> </span>If OPatch reports Prereq "checkSystemSpace" passed., then no action is needed. Proceed with patch installation.</div><div><br /></div><div><b><span style="font-size: medium;">Step 7: One-off Patch Conflict Detection and Resolution</span></b></div><div><b><span style="font-size: medium;"><br /></span></b></div>The following commands check for conflicts in both the 19c Grid home and the 19c DB homes.</div><div> <br />• In case you are applying the patch, run this command:</div><div> <br /># cd $GRID_HOME/OPatch/<br /># <span style="color: #cc0000;">opatchauto apply /backup/Patch_Jan_22/33509923 -analyze</span></div><div><br />• In case you are rolling back the patch, run this command:</div><div><br /># cd $GRID_HOME/OPatch/<br /># <span style="color: #cc0000;">opatchauto rollback /backup/Patch_Jan_22/33509923 -analyze</span><br /><div><br /></div><div><b><span style="font-size: medium;">Step 8. Patch Installation Checks</span></b></div><div><br /></div><div>The Cluster Verification Utility (CVU) command line interface (CLUVFY) may be used to verify the readiness of the Grid_Home to apply the patch.</div><div><br /></div><div>Before applying the patch, the readiness of the Grid_Home can be verified by issuing the <b>cluvfy stage -pre patch</b> command from any one of the cluster nodes.</div><div><br /></div><div>After applying the patch, the sanity of the patching operation can be verified by issuing the <b>cluvfy stage -post patch</b> command from any of the cluster nodes upon completion of the patch application process.</div><div><br /></div><div><b><span style="font-size: medium;">Step 9. Apply Patch using Opatchauto </span></b></div><div><br /></div><div>The OPatch utility has automated the patch application for the Oracle Grid Infrastructure (Grid) home and the Oracle RAC database homes. It operates by querying existing configurations and automating the steps required for patching each Oracle RAC database home of same version and the Grid home.</div><div><br /></div><div>The utility must be executed by an operating system (OS) user with root privileges, and it must be executed on each node in the cluster if the Grid home or Oracle RAC database home is in non-shared storage.</div><div><br /></div><div><span style="color: red;"><b>Connect as root</b></span></div><div>Add the directory containing the OPatchAuto to the $PATH environment variable. </div><div><br /></div><div>For example:</div><div># <b>export PATH=$PATH:<GI_HOME>/OPatch</b></div><div><br /></div><div>To patch the Grid home and all Oracle RAC database homes of the same version. Oracle RAC, where the Grid home and the Oracle homes are not shared and Oracle ACFS file system is not configured. </div><div><br /></div><div>As root user, execute the following command on each node of the cluster:</div><div><br /></div><div><span># cd $GRID_HOME/Opatch/</span></div><div><span>#</span><span style="color: red;"> </span><span style="color: #cc0000;">opatchauto apply /backup/Patch_Jan_22/33509923</span></div><div><br /></div><div>To roll back the patch from the Grid home and each Oracle RAC database home:</div><div><br /></div><div># <span style="color: #cc0000;">opatchauto rollback /backup/Patch_Jan_22/33509923 </span></div><div><br /></div><div><br /></div><div><b><span style="font-size: medium;">Step 10. Patch Post Installation Instructions</span></b></div><div><b><span style="font-size: medium;"><br /></span></b></div><div>Any databases that have invalid objects after the execution of data patch should have utlrp.sql run to revalidate those objects.</div><div><br /></div><div><span style="color: #cc0000;"><b>Recompile invalid Objects</b></span></div><div><br /></div><div>cd $ORACLE_HOME/rdbms/admin</div><div><br /></div><div># sqlplus /nolog</div><div><br /></div><div>SQL> CONNECT / AS SYSDBA</div><div>SQL> @utlrp.sql</div><div><br /></div><div><span style="color: #cc0000;"><b>Check the DBA_REGISTRY_SQLPATCH</b></span></div><div><br /></div><div><div>SET LINESIZE 500</div><div>SET PAGESIZE 1000</div><div>SET SERVEROUT ON</div><div>SET LONG 2000000</div><div>COLUMN action_time FORMAT A12</div><div>COLUMN action FORMAT A10</div><div>COLUMN patch_type FORMAT A10</div><div>COLUMN description FORMAT A32</div><div>COLUMN status FORMAT A10</div><div>COLUMN version FORMAT A10</div><div><br /></div><div>Select TO_CHAR(action_time, 'YYYY-MM-DD') as Action_Date, PATCH_ID, PATCH_TYPE, ACTION, DESCRIPTION, SOURCE_VERSION, TARGET_VERSION from CDB_REGISTRY_SQLPATCH order by CON_ID, patch_id;</div></div><div><br /></div><div><br /></div><div><span style="color: #cc0000;"><b>Output: </b></span></div><div>ACTION_DAT PATCH_ID PATCH_TYPE ACTION SOURCE_VERSION TARGET_VERSION</div><div>---------- ---------- ---------- ---------- --------------- ---------------</div><div>2022-03-08 29517242 RU APPLY 19.1.0.0.0 <span style="white-space: pre;"> </span>19.3.0.0.0</div><div>2022-03-16 33515361 RU APPLY 19.3.0.0.0 <span style="white-space: pre;"> </span>19.14.0.0.0</div><div><br /></div><div><br /></div></div>dbatutorial.comhttp://www.blogger.com/profile/13969648514293009119noreply@blogger.com0tag:blogger.com,1999:blog-7125033335107872703.post-52437916279401746982022-02-22T12:28:00.011+06:002023-01-18T07:46:08.143+06:00Why Standby Redo Logs is Required in Oracle Data Guard? <p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjHpYI189WTIUKHvGoN0Rli41oiQkIva5ivE4gqNQhAtf5RF2xH8-LgtaGkOOcVV3jCkWMq8ZjCjh_Z9-xba2KwcC-m4UMBygm88e6a0TTFzqaERWg2RecY0y1pcZ11iWLzn7HXZvbsNNqYjOJm94-Gh0Jn-fOldmlAdOjNq_AqwMMqrBJr1RtJrJxd=s1280" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1280" data-original-width="1280" height="283" src="https://blogger.googleusercontent.com/img/a/AVvXsEjHpYI189WTIUKHvGoN0Rli41oiQkIva5ivE4gqNQhAtf5RF2xH8-LgtaGkOOcVV3jCkWMq8ZjCjh_Z9-xba2KwcC-m4UMBygm88e6a0TTFzqaERWg2RecY0y1pcZ11iWLzn7HXZvbsNNqYjOJm94-Gh0Jn-fOldmlAdOjNq_AqwMMqrBJr1RtJrJxd=w320-h283" width="320" /></a></div><p></p><p>This article will help one understand why a standby redo log is required in an oracle data guard and what will happen if we don’t use a standby redo log in an oracle data guard. Our discussion will give you a clear idea of how to redo the transfer from the oracle Primary database to the standby database as well as it will assist you in troubleshooting real-time log apply as well as the log transfer issues. </p><span><a name='more'></a></span><p><br /></p><p><b>a)<span style="white-space: pre;"> </span>Now we are going to briefly describe how to redo transport work when Standby Redo Log doesn’t use in the oracle data guard database.</b></p><p><b>Step 1:</b> A transaction writes the redo record into the buffer log in the System Global Area (SGA)</p><p><b>Step 2:</b> The Log Writer Process (LGWR) writes the undo record from Buffer Log to the Online Redo Log</p><p><b>Step 3:</b> When the Online Redo Log fills up or manually issue log switch command Online Redo Log switch to the next log sequence, and the Archive Process (ARC0) will copy the online redo log to the Archive Redo Log.</p><p></p><p><b>Step 4:</b> As standby database exists, another archive process (ARC1) will read the complete Archive log and transfer the redo over the network to the Remote File Server (RFS) process, RFS process is running in Standby Database Instance. </p><p><b>Step 5:</b> The RFS process sends the redo stream to the local archive process (ARCn) </p><p><b>Step 6: </b> The Archive process (ARCn) will write the redo into the Archived Redo Log location on the standby server</p><p><b>Step 7:</b> Once the archive redo log is completed, the Management Recovery Process (MRP0) sends the redo to the standby database instance for applying the transaction. </p><p><br /></p><p><b>b)<span style="white-space: pre;"> </span>Here, we would like to explain briefly another scenario if we use standby redo log in oracle data guard database.</b></p><div><div><b>Step 1:</b> A transaction writes the redo record into the buffer log in the System Global Area (SGA)</div><div><br /></div><div><b>Step 2:</b> The Log Writer Process (LGWR) writes the undo record from Buffer Log to the Online Redo Log</div><div><br /></div><div><b>Step 3:</b> If use configured Max performance mode, then ASYNC redo transport is used. The Network Server ASYNC process (NSAn) read the redo from Online Redo Log and transport the redo to the Remote File Server (RFS) process on the standby instance.</div></div><div><br /></div><div><div><b>Step 4:</b> The Remote File Server (RFS) process on the standby instance simply writes the redo stream directly to the Standby Redo Logs.</div><div><br /></div><div><b>Step 5:</b> If we use real-time apply, the MRP0 process will read the redo from Standby Redo Log and apply the redo to the standby database.</div><div><br /></div><div><b>Step 6:</b> If we don’t use real-time apply, then MRP0 process will wait for the standby redo log to be archived, and once archived and once the delay has elapsed, the MRP0 process will start to apply the redo to the standby database. </div></div><div><br /></div><div><br /></div><div><b style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; border: 0px; color: red; font-family: "Open Sans", serif; font-size: 14px; outline: 0px; padding: 0px; vertical-align: baseline;">Keep learning… Have a great day!!!</b></div><div><br /></div><div><br /></div><div><br /></div><p><br /></p>dbatutorial.comhttp://www.blogger.com/profile/13969648514293009119noreply@blogger.com0tag:blogger.com,1999:blog-7125033335107872703.post-8551693918361988032022-01-30T17:38:00.005+06:002022-01-30T17:50:03.711+06:00How to Enable Flashback in Oracle 19c Database?<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgEdJMqyXNtm_8sMi35ZTkBdBJf3giPz8wE1PFZuRofkpd413cdAuBl3R2bnsP0Dali-3w_nUPrASjfI3qOtqgWcKGQvRJW2DsHOFQrSVbNTVK2z2-alo73DRl4bvfC9jy5VHR3474L2RJPeUeAZXf463Zph2-7hod0HsRGIfmrOIO4_Uy07HQ-Wn-c=s1280" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1280" data-original-width="1280" height="259" src="https://blogger.googleusercontent.com/img/a/AVvXsEgEdJMqyXNtm_8sMi35ZTkBdBJf3giPz8wE1PFZuRofkpd413cdAuBl3R2bnsP0Dali-3w_nUPrASjfI3qOtqgWcKGQvRJW2DsHOFQrSVbNTVK2z2-alo73DRl4bvfC9jy5VHR3474L2RJPeUeAZXf463Zph2-7hod0HsRGIfmrOIO4_Uy07HQ-Wn-c=w320-h259" width="320" /></a></div><p></p><p><b>@ What is Flashback Database?</b></p><p>Use the FLASHBACK DATABASE command to rewind the database to a target time, SCN or log sequence number. FLASHBACK DATABASE is usually much faster than a RESTORE operation followed by point-in-time recovery, because the time needed to perform FLASHBACK DATABASE depends on the number of changes made to the database since the desired flashback time. On the other hand, the time needed to do a traditional point-in-time recovery from restored backups depends on the size of the database.</p><p>You cannot use FLASHBACK DATABASE to return to a point in time before the restore or re-creation of a control file. If the database control file is restored from backup or re-created, then all existing flashback log information is discarded.</p><p>The fast recovery area must be configured to enable flashback logging. Flashback logs are stored as Oracle-managed files in the fast recovery area and cannot be created if no fast recovery area is configured. You must have enabled the flashback logging before the target time for flashback using the SQL statement ALTER DATABASE ... FLASHBACK ON.</p><p>After FLASHBACK DATABASE completes, you may want to open the database read-only and run queries to ensure that you achieved the intended result. If you are not satisfied, then you can use RECOVER DATABASE to recover the database to its state when you started the flashback. You can then rerun FLASHBACK DATABASE.</p><p>If you are satisfied with the results of the flashback, then you can OPEN RESETLOGS to abandon all changes after the target time. Alternatively, you can use Data Pump to export lost data, use RECOVER DATABASE to return the database to its state before the flashback operation, and then use Data Pump to reimport the lost data.</p><p><b>@ To enable Flashback Database, do the following:</b></p><p>Step 1: Shut down the database and start up the database in mount mode in SQL*Plus:</p><p><b>SQL> SHUTDOWN IMMEDIATE;</b></p><p> Database closed.</p><p>Database dismounted.</p><p>ORACLE instance shut down.</p><p><br /></p><p><b>SQL> STARTUP MOUNT;</b></p><p>ORACLE instance started.</p><p>Total System Global Area 1275068016 bytes</p><p>Fixed Size 8896112 bytes</p><p>Variable Size 469762048 bytes</p><p>Database Buffers 788529152 bytes</p><p>Redo Buffers 7880704 bytes</p><p>Database mounted.</p><p>Step 2: Confirm that the database is in ARCHIVELOG mode, which is required for Flashback Database, and enable ARCHIVELOG mode if needed.</p><p><b>SQL> ARCHIVE LOG LIST;</b></p><p>Database log mode No Archive Mode</p><p>Automatic archival Disabled</p><p>Archive destination USE_DB_RECOVERY_FILE_DEST</p><p>Oldest online log sequence 11</p><p>Current log sequence 13</p><p><br /></p><p><b>SQL> ALTER DATABASE ARCHIVELOG;</b></p><p>Database altered.</p><p><br /></p><p>Now check again archive log mode and we see that Database log mode is Archive Mode.</p><p><br /></p><p><b>SQL> ARCHIVE LOG LIST;</b></p><p>Database log mode Archive Mode</p><p>Automatic archival Enabled</p><p>Archive destination USE_DB_RECOVERY_FILE_DEST</p><p>Oldest online log sequence 11</p><p>Next log sequence to archive 13</p><p>Current log sequence 13</p><p><br /></p><p>Step 3: Set the flashback retention target to the desired value (in minutes). The following example value is for a 24-hour flashback target</p><p><b>SQL> ALTER SYSTEM SET DB_FLASHBACK_RETENTION_TARGET=1440;</b></p><p>System altered.</p><p><br /></p><p>Step 4: Set or change the relevant FRA parameters for Flashback Database, as noted in the following example (these commands assume the FRA disk group is named +FRA and that you are adding 20GB to the FRA size suggested earlier, which is more than enough to accommodate the flashback logs that will be generated):</p><p><b>SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=20G;</b></p><p>System altered.</p><p><b>SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST='/u01/oracle/fast_recovery_area';</b></p><p>System altered.</p><p>Now check the db_recovery_file_dest and size using following query</p><p><b>SQL> show parameter db_recovery_file_dest</b></p><p>NAME TYPE VALUE</p><p>------------------------------------ ----------- ------------------------------</p><p>db_recovery_file_dest string /u01/oracle/fast_recovery_area</p><p>db_recovery_file_dest_size big integer 20G</p><p><br /></p><p><b>Note:</b></p><p>If DB_RECOVERY_FILE_DEST is previously unset and you want to dynamically set it, you must first set DB_RECOVERY_FILE_DEST_SIZE. If these parameters are already set, increase the FRA size to allocate space for flashback logs. The volume and rate of flashback log generation is approximately the same order of magnitude as those of redo log generation.</p><p>Step 5: Set the associated undo retention, required for certain flashback features. Here, we set a 12-hour undo retention (in seconds), equivalent to half the DB_FLASHBACK_RETENTION_TARGET, as in Step 3.</p><p><b>SQL> ALTER SYSTEM SET UNDO_RETENTION=43200;</b></p><p>System altered.</p><p>Step 6: Finally, enable Flashback Database and FORCE LOGGING while the database is mounted, then open the database:</p><p>Check the database flashback status </p><p><b>SQL> SELECT FLASHBACK_ON FROM V$DATABASE;</b></p><p>FLASHBACK_ON</p><p>------------------</p><p>NO</p><p>Enabled flashback database.</p><p><b>SQL> ALTER DATABASE FLASHBACK ON;</b></p><p>Database altered.</p><p><b>SQL> ALTER DATABASE OPEN;</b></p><p>Database altered.</p><p><b>SQL> SELECT FLASHBACK_ON FROM V$DATABASE;</b></p><p>FLASHBACK_ON</p><p>------------------</p><p>YES</p><p><br /></p><div style="background: 0px 0px rgb(255, 255, 255); border: 0px; font-family: "Open Sans", serif; font-size: 14px; outline: 0px; padding: 0px; vertical-align: baseline;"><span style="background: 0px 0px; border: 0px; color: red; outline: 0px; padding: 0px; vertical-align: baseline;"><b style="background: 0px 0px; border: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Keep learning… Have a great day!!!</b></span></div><div><span style="background: 0px 0px; border: 0px; color: red; outline: 0px; padding: 0px; vertical-align: baseline;"><b style="background: 0px 0px; border: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><br /></b></span></div><div><br /></div>dbatutorial.comhttp://www.blogger.com/profile/13969648514293009119noreply@blogger.com0tag:blogger.com,1999:blog-7125033335107872703.post-15523359667271259532022-01-18T14:18:00.005+06:002022-01-18T16:05:49.572+06:00Oracle Database Startup and Shutdown Procedure<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjZOPQ7qk0yacj6232PkGKcBokVIeZSidM047HpdpysSibhzJ22S_EXlakz9Ex4ZVVxNSCO-nvoufXu7kcTQuaY_lzo7TWSTBFfyNc6sryao8nEzxFKgM-95czR5DEUVYBTRjsuN-08qoqwuoVr-aMLoCNjN4dA_cVeHWLIf5r_DAMgdlvzJCwSa0Vt=s1280" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1280" data-original-width="1280" height="270" src="https://blogger.googleusercontent.com/img/a/AVvXsEjZOPQ7qk0yacj6232PkGKcBokVIeZSidM047HpdpysSibhzJ22S_EXlakz9Ex4ZVVxNSCO-nvoufXu7kcTQuaY_lzo7TWSTBFfyNc6sryao8nEzxFKgM-95czR5DEUVYBTRjsuN-08qoqwuoVr-aMLoCNjN4dA_cVeHWLIf5r_DAMgdlvzJCwSa0Vt=w361-h270" width="361" /></a></div>In this article, we are going to briefly describe the procedure for starting up and shutting down an oracle database. As a database administrator, startup and shutdown the database is a routine task and basic operation. Besides, a non-DBAs also have an understanding some basic database administrator activities. <div><br /><div>Let’s see the startup and shutdown modes. </div><div><b><br /></b></div><div><b>@</b> <b>Oracle database Startup Procedure:</b></div></div><div><b><br /></b></div><div><div>We can startup oracle database in three states / modes:</div><div><br /></div><div><b>i. Nomount mode:</b> In this state the control file, online redo log files and the database files are closed and are not accessible. During the nomount state, the oracle background processes are started and the oracle instance is available. Starting oracle database in nomount state to perform operations like creating a database, recreating control file. Besides, there are some types of Oracle recovery operations that require the database to be in nomount stage.</div><div><br /></div><div>SQL> startup nomount;</div><div><br /></div><div><b>ii. Mount mode:</b> When the startup command enters the mount stage, it opens the control file and reads the control file. In this stage, oracle determines the location of the datafiles, but does not yet open them. Once the datafile locations have been identified, the database is ready to be opened. </div><div>However, we have a clear idea about the oracle database startup and shutdown procedure. </div><div>There are various stages that the database undergoes before a database is opened for use. In this article, you will learn about the oracle database startup and shutdown procedure. Startup oracle database in mount state to perform operations like backup, recovery of the system or undo datafile, change the database to archive log mode etc. </div><div><br /></div><div>SQL> Startup mount;</div><div><br /></div><div>If you have already started the database instance with the startup nomount command, you might change it from the nomount to mount startup stage using the alter database command:</div><div><br /></div><div>SQL> alter database mount;</div><div><br /></div><div><b>iii. Open mode: </b>This is the last startup step for an oracle database is the open mode. In this step, the datafiles and the online redo log files are open and are ready to use. Once it has accessed the database datafiles, Oracle makes sure that all of the database datafiles are consistent. A database maybe opened in read-only mode as well as in read write mode. The database mode status found by below query.</div><div><br /></div><div>Sql>select open_mode from v$database;</div><div><br /></div><div><b>Note:</b> In the read-only mode, the database performs select query only but one cannot perform the dml operations.</div><div><br /></div><div>Moreover, there are other options available like one can start the database in a restricted mode. This is used during maintenance activities, upgrades etc.</div><div><br /></div><div><b>Opening the Oracle Database</b></div><div>To open the database, you can just use the startup command as seen in this example</div><div><br /></div><div>SQL> startup</div><div><br /></div><div>If the database is mounted, you can open it with the alter database open command as seen in this example:</div><div><br /></div><div>SQL> alter database open;</div><div><br /></div><div><b>Opening the Database in Restricted Mode</b></div><div><br /></div><div>SQL> startup restrict;</div><div><br /></div><div><br /></div><div><b>@ Oracle database Shutdown Procedure</b></div><div><br /></div><div>Oracle has three shutdown modes namely normal, immediate and abort.</div><div><br /></div><div><b>i. Normal Shutdown: </b>When a normal shutdown occurs, the database is closed in a normal manner, oracle will wait for all active users to disconnect their sessions, and all changes made in the database are flushed to the database datafiles. This makes database startup quicker because the database is in a consistent state. </div><div><br /></div><div>SQL> shutdown;</div><div><br /></div><div><b>ii. Shutdown Immediate:</b> When issue shutdown immediate mode this will prevent any new logins, rollback any uncommitted transactions and then bring down the database. Oracle will flush all the changes in memory out to the database datafiles too, just like a regular shutdown does.</div><div><br /></div><div>SQL> shutdown immediate;</div><div><br /></div><div><b>iii. Shutdown abort:</b> A shutdown abort should not be your first shutdown method of choice, there may be times when you must force the database down. When issue shutdown abort, before the oracle database is shutdown, all user sessions will be terminated immediately and all uncomitted transactions will not be rolled back. </div><div><br /></div><div>SQL> shutdown abort;</div><div><br /></div><div><br /></div><div><span style="color: red;"><b><br /></b></span></div><div><span style="color: red;"><b>Keep learning… Have a great day!!!</b></span></div><div><b><br /></b></div><div style="font-weight: bold;"><br /></div></div>dbatutorial.comhttp://www.blogger.com/profile/13969648514293009119noreply@blogger.com0tag:blogger.com,1999:blog-7125033335107872703.post-66266470620233958882021-10-27T15:13:00.034+06:002021-10-28T10:44:11.216+06:00How to Create MySQL Full and Incremental Backup Step by Step Tutorial<title> How to Create MySQL Full and Incremental Backup Step by Step Tutorial | dbatutorial </title>
<meta content="In this article we are going to discuss how to take mysql full bakup using mysqldump as well as we will learn how to create mysql incremental backup using binary logs. How to run mysql incremental backup using binary log steps are given below."/>
<div>In this article we are going to discuss how to take mysql full bakup using mysqldump as well as we will learn how to create mysql incremental backup using binary logs. How to run mysql incremental backup using binary log steps are given below.</div><div><br /></div><div><b>Step 1: Check whether binary log is enabled or disabled using below command. </b></div><div><b><br /></b></div><div>mysql> show variables like '%log_bin%';</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjjrB2C08MtHzu4GK0t7ZTi6ymKbeAcQx16WDUi6ST84ycR8drqEN6UuVArDaGSx46Wcv2ngvEixHnBb2W_GmV5LJLpD6Gttj-tlaMQZW41_Axa6qlweyCXgqB2b_qAyh8mf5CB3lywjE/s383/1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="195" data-original-width="383" height="326" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjjrB2C08MtHzu4GK0t7ZTi6ymKbeAcQx16WDUi6ST84ycR8drqEN6UuVArDaGSx46Wcv2ngvEixHnBb2W_GmV5LJLpD6Gttj-tlaMQZW41_Axa6qlweyCXgqB2b_qAyh8mf5CB3lywjE/w640-h326/1.png" width="640" /></a></div><div><br /></div><div><div>If the value of log_bin is ON, it means binary log already enable so go to the step 2. If log_bin value is OFF it means binary log is disabled so enable binary log that steps are as follow.</div><div><br /></div><div>i.<span style="white-space: pre;"> </span>Find the mysql configuration (my.cnf) file. It location in linux server is /etc/my.cnf.</div><div>ii.<span style="white-space: pre;"> </span>Edit the file my.cnf and change under the [mysqld] section and add the following lines.</div><div>vi /etc/my.cnf</div><div># log_bin=/u01/mysql/mysql/binarylog </div><div># max_binlog_size=100M</div></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaTIHR5Yc6URLUOtbk6gu-m1K0IFrJ7Scw3xAcCsa8ypFE7YALwoacovFcBe1UJ2XeO8ASo8CnVC6nJ23JqPNABUgEiSNYiqXLR6YPG5lhoQmnOhUYdZquCN-IJJoM8K_UvKGoWkoCMXk/s624/2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="148" data-original-width="624" height="152" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaTIHR5Yc6URLUOtbk6gu-m1K0IFrJ7Scw3xAcCsa8ypFE7YALwoacovFcBe1UJ2XeO8ASo8CnVC6nJ23JqPNABUgEiSNYiqXLR6YPG5lhoQmnOhUYdZquCN-IJJoM8K_UvKGoWkoCMXk/w640-h152/2.png" width="640" /></a></div><div><br /></div><div><div>iii.<span style="white-space: pre;"> </span>Now Restart MySQL server using below command</div><div>[root@srv binaylogs]# systemctl stop mysqld.service -- Stop mysql server</div><div>[root@srv binaylogs]# systemctl start mysqld.service -- Start mysql server</div><div><br /></div><div>iv.<span style="white-space: pre;"> </span>Now check the binary log status that showed log-bin= ON;</div></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA-dTkPOId9cdmIdU3WkM3LTW-DKG8z2iXtbzhkF0xYvgVoEpCca8a6hUxGDvpFdOdK_NPf3NMuODezlkQnE9I8GViW6tEgjM_gYN8GJ9EnneMcgYrPHRVQgdg4vEMhAOoEzo8ntqmyhE/s612/3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="205" data-original-width="612" height="214" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA-dTkPOId9cdmIdU3WkM3LTW-DKG8z2iXtbzhkF0xYvgVoEpCca8a6hUxGDvpFdOdK_NPf3NMuODezlkQnE9I8GViW6tEgjM_gYN8GJ9EnneMcgYrPHRVQgdg4vEMhAOoEzo8ntqmyhE/w640-h214/3.png" width="640" /></a></div><div><br /></div><div><div>Check binary logs: </div><div>mysql>show binary logs;</div></div><div><br /></div><div><div>On-demand binary log switch using below command</div><div>mysql> flush binary logs;</div></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiElrEoPiTwwPfaHxIiF6lvOTvnTBQQmwL-_fqBREpIFdmnCnm0j7EoLr93CmwGvZyMlJZOo8csXqyaKt34WVP4vd4CQ7GTBrX_ivvLjyNoo4fTvMXVF74mRFN54GirldJ-I6c2vePJGrc/s390/4.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="129" data-original-width="390" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiElrEoPiTwwPfaHxIiF6lvOTvnTBQQmwL-_fqBREpIFdmnCnm0j7EoLr93CmwGvZyMlJZOo8csXqyaKt34WVP4vd4CQ7GTBrX_ivvLjyNoo4fTvMXVF74mRFN54GirldJ-I6c2vePJGrc/w640-h212/4.png" width="640" /></a></div><div><br /></div><div><div><b>Step 2: An incremental backup should start with a full backup.</b> </div><div><br /></div><div>The very first backup must be a full backup. You need to create a full backup using mysqldump. Run the following command to take full backup.</div><div><br /></div><div><b><span style="color: red;">[root@srv dbbackup]# mysqldump -u root -p --flush-logs --delete-source-logs --all-databases > /u01/dbbackup/MySQL_FullBKP_$(date +%d-%m-%Y_%H-%M-%S).sql</span></b></div><div>Enter password:</div><div><br /></div><div><b>Notes:</b></div><div><b>--flush-logs: initialize writing a new binary log file</b></div><div><b>-- delete-source-logs: delete old binary log files</b></div><div><br /></div><div><b>Step 3: Backup binary log files:</b></div><div>After you have modified your data in MySQL database since the last full backup, you can use the cp command to copy binary log files, but copying the active binary log file (to which data is being written right now) may cause some problems. Therefore, you need to run the FLUSH BINARY LOGS command, which will start writing to a new binary log file. In this case, all the accumulated binary log files can be safely copied. After copying the binary log files, they must be deleted so that during the next copying they do not duplicate the already backed up data. The PURGE BINARY LOGS command will help with this. Below is a small script that performs these actions and also puts binary log files in the archive. you can follow the steps below to run an incremental backup.</div><div><br /></div><div>a) 3.1: Create user for backup purpose and provide required permission</div><div><br /></div><div>mysql> CREATE USER 'backup'@'localhost' IDENTIFIED BY 'Bkp@1234'; </div><div>mysql> GRANT ALL PRIVILEGES ON * . * TO 'backup'@'localhost';</div><div>Query OK, 0 rows affected (0.02 sec)</div><div><br /></div><div>mysql> FLUSH PRIVILEGES;</div><div>Query OK, 0 rows affected (0.00 sec)</div><div><br /></div><div>b) 3.2: Create backup user as password less login that steps are given below</div><div><br /></div><div># vi /etc/my.cnf</div><div><br /></div><div>[mysql]</div><div>user=backup<span style="white-space: pre;"> </span>-- user name</div><div>password=password -- Password </div><div>[mysqladmin]</div><div>user=backup<span style="white-space: pre;"> </span>-- user name</div><div>password=password -- Password</div><div>After changing my.cnf file values restart the database using following command</div><div><br /></div><div>[root@srvdb ~]# systemctl stop mysqld.service</div><div>[root@srvdb ~]# systemctl start mysqld.service</div><div><br /></div><div>c) 3.3: Binary log file backup script is given below </div><div><br /></div><div>@ Incremental backup script as follow</div><div><br /></div>
<p style="background-color: #ebedef; border-color: #808080; border-style: solid; border: 1px solid rgb(128, 128, 128); padding: 1em;">
<span>cd /u01/dbbackup</span><br />
<span>vi mysql_inc_bkp.sh</span><br />
<span>#path to directory with binary log files</span><br />
<span>binlogs_path=/u01/mysql/mysql/</span>
<span>#path to backup storage directory</span><br />
<span>backup_folder=/u01/dbbackup</span>
<span>#start writing to new binary log file</span><br />
<span>mysql -E --execute='FLUSH BINARY LOGS;' mysql</span><br />
<span>#get list of binary log files</span><br />
<span>binlogs=$(mysql -E --execute='SHOW BINARY LOGS;' mysql | grep Log_name | sed -e 's/Log_name://g' -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')</span><br />
<span>#get list of binary log for backup (all but the last one)</span><br /><span>binlogs_without_Last=`echo "${binlogs}" | head -n -1`</span><br />
<span>#get the last active binary log file (which you do not have to copy)</span><br /><span>binlog_Last=`echo "${binlogs}" | tail -n -1`</span><br />
<span>#form full path to binary log files</span><br />
<span>binlogs_fullPath=`echo "${binlogs_without_Last}" | xargs -I % echo $binlogs_path%`</span><br /><span>#compress binary logs into archive</span><br />
<span>zip $backup_folder/$(date +%d-%m-%Y_%H-%M-%S).zip $binlogs_fullPath</span><br />
<span>#delete saved binary log files</span><br />
<span>#echo $binlog_Last | xargs -I % mysql -E --execute='PURGE BINARY LOGS TO "%";' mysql</span>
</p><p style="background-color: #ebedef; border-color: #808080; border-style: solid; border: 1px solid rgb(128, 128, 128); padding: 1em;"><span style="font-family: "Open Sans", serif; font-size: 14px;"># [root@srv dbbackup]# sh mysql_inc_bkp.sh</span>
<span>adding: u01/mysql/mysql/binaylogs.000043 (deflated 50%)</span><br />
<span>adding: u01/mysql/mysql/binaylogs.000044 (deflated 42%)</span>
</p>
<div><br /></div><div>Done!</div></div>dbatutorial.comhttp://www.blogger.com/profile/13969648514293009119noreply@blogger.com0tag:blogger.com,1999:blog-7125033335107872703.post-13875584466155361382021-10-15T19:10:00.026+06:002021-10-28T10:22:27.752+06:00MySQL Installation on Linux 7 step by step tutorial<title> MySQL Installation on Linux 7 step by step tutorial | dbatutorial </title>
<meta content="In this article we are going to show mysql installation on linux 7 step by step tutorial. The MySQL Yum repository for Oracle Linux, Red Hat Enterprise Linux, CentOS, and Fedora provides RPM packages for installing the MySQL server. Steps for a Fresh Installation of MySQL as below." name="description"/>
<p>This article will help one to learn how to Install MySQL on Linux Using the MySQL Yum Repository. The MySQL Yum repository for Oracle Linux, Red Hat Enterprise Linux, CentOS, and Fedora provides RPM packages for installing the MySQL server.</p><p>Steps for a Fresh Installation of MySQL as below.</p><p><b>Step 1: Adding the MySQL Yum Repository</b></p><p>i. Go to the Download MySQL Yum Repository page (<b>https://dev.mysql.com/downloads/repo/yum/</b>) in the MySQL Developer Zone.</p><p>ii. select and download the release package for your platform.</p><p>iii. Install the downloaded release package with the following command, replacing platform-and-version-specific-package-name with the name of the downloaded RPM package.</p><p>iv. Upload the downloaded RPM to the server where we are going to install MySQL database. Here, we upload RPM (<b>mysql80-community-release-el7-3.noarch.rpm) </b>to /root directory using filezilla. </p><p><b>Step 2: Install package using yum</b></p><p>For an EL7-based system </p><p># <b>yum install mysql80-community-release-el7-3.noarch.rpm</b></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMkMb_3QMPYXfLp4KiGDbfxvo1DGG-y8Bl61MvLsXj0wOcQC0Ipef4rRjY_iGdEdcgGtYVHgZ1js60iu3BSBBTJ_HsvkUuyU-BMsWo7j8FaFLD46HUruvrYsxjkoaIRA5zPLRVLUkGWDc/s818/mysql_install_dbatutorial.com_1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="560" data-original-width="818" height="351" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMkMb_3QMPYXfLp4KiGDbfxvo1DGG-y8Bl61MvLsXj0wOcQC0Ipef4rRjY_iGdEdcgGtYVHgZ1js60iu3BSBBTJ_HsvkUuyU-BMsWo7j8FaFLD46HUruvrYsxjkoaIRA5zPLRVLUkGWDc/w640-h351/mysql_install_dbatutorial.com_1.png" width="640" /></a></div><p></p><p>You can check that the MySQL Yum repository has been successfully added by the following command</p><p><b># yum repolist enabled | grep "mysql.*-community.*"</b></p><p><b>Step 3: Edit MySQL repository as follow</b></p><p><b># vi /etc/yum.repos.d/mysql-community.repo</b></p><p><b>[mysql57-community]</b></p><p>name=MySQL 5.7 Community Server</p><p>baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/</p><p>enabled=1</p><p>gpgcheck=1</p><p>gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql</p><p># Enable to use MySQL 8.0</p><p><b>[mysql80-community]</b></p><p>name=MySQL 8.0 Community Server</p><p>baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/6/$basearch/</p><p>enabled=1</p><p>gpgcheck=1</p><p>gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql</p><p><b>Step 4: Installing MySQL</b></p><p><b><span style="color: red;"># yum install mysql-community-server</span></b></p><p><b></b></p><div class="separator" style="clear: both; text-align: center;"><b><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEy_JkGrv4Ng6h_Ab9yJMfLhgXKx6Jodumgl1hCsLGPt1PxRe7KBLXRTkK4Wf8IXDwb1vbXIj2awsVAARMq18BzdJMRXNeLwvA7dR_zx7tVVvDAavw3uJTaBRR-By6ErGRisSapeiqQcE/s1115/mysql_install_dbatutorial.com_2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="349" data-original-width="1115" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEy_JkGrv4Ng6h_Ab9yJMfLhgXKx6Jodumgl1hCsLGPt1PxRe7KBLXRTkK4Wf8IXDwb1vbXIj2awsVAARMq18BzdJMRXNeLwvA7dR_zx7tVVvDAavw3uJTaBRR-By6ErGRisSapeiqQcE/w640-h200/mysql_install_dbatutorial.com_2.png" width="640" /></a></b></div><p></p><p><b>Step 5: Starting the MySQL Server</b></p><p><b># systemctl start mysqld</b></p><p>check the status of the MySQL server with the following command</p><p><b># systemctl status mysqld</b></p><p>Stop MySQL server command as follow</p><p><b># systemctl stop mysqld</b></p><p><b>Step 6: Change the root password as soon as possible by logging</b></p><p>You can know the mysql default password using below command.</p><p><b><span style="color: red;">[root@node1 etc]# grep 'temporary password' /var/log/mysqld.log</span></b></p><p><b><span style="color: red;">2021-10-14T16:10:06.076501Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: qoHdxlZ>T0sj</span></b></p><p><b><span style="color: red;">[root@node1 etc]# mysql --user=root --password</span></b></p><p><b></b></p><div class="separator" style="clear: both; text-align: center;"><b><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhot8uFho3aPvGrUJKeKCfUXgPJZKH3MmQEGv1eJhdBexL_w9N9GX1CIZcPZxDe70OuQFH0tzqQeCK_O01W7ajCwkJVViVIycW2ePJqxxJ7eIfjfHahaMeVzxqWHS_jbtiGRoBWiDJ9rhU/s1014/mysql_install_dbatutorial.com_3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="256" data-original-width="1014" height="162" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhot8uFho3aPvGrUJKeKCfUXgPJZKH3MmQEGv1eJhdBexL_w9N9GX1CIZcPZxDe70OuQFH0tzqQeCK_O01W7ajCwkJVViVIycW2ePJqxxJ7eIfjfHahaMeVzxqWHS_jbtiGRoBWiDJ9rhU/w640-h162/mysql_install_dbatutorial.com_3.png" width="640" /></a></b></div><p></p><p>Change default password using below query.</p><p><span style="color: red;">mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'New@Mysql123';</span></p><p>Query OK, 0 rows affected (0.05 sec)</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXdwITT90eDR0C1SiAiAmJbQYbV8YRyau5gOhyphenhyphenbjESWkeEZVbUOZRW3j0jJnQ6HqArwIqlAgRPDPJGS9f7Mc-_e8oQbMSl6abzitn7XPYVKYr072_i7viefZ7REZAF20nDQPzWWmgP7rI/s649/mysql_install_dbatutorial.com_4.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="396" data-original-width="649" height="390" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXdwITT90eDR0C1SiAiAmJbQYbV8YRyau5gOhyphenhyphenbjESWkeEZVbUOZRW3j0jJnQ6HqArwIqlAgRPDPJGS9f7Mc-_e8oQbMSl6abzitn7XPYVKYr072_i7viefZ7REZAF20nDQPzWWmgP7rI/w640-h390/mysql_install_dbatutorial.com_4.png" width="640" /></a></div><div><br /></div><div>Done!</div>dbatutorial.comhttp://www.blogger.com/profile/13969648514293009119noreply@blogger.com0Dhaka, Bangladesh23.810332 90.4125181-7.0622183343271452 55.2562681 54.682882334327147 125.5687681tag:blogger.com,1999:blog-7125033335107872703.post-2923634269781319462021-09-23T12:27:00.018+06:002021-09-23T16:15:10.400+06:00Apply patch on oracle 19c database Release Update 19.12.0.0.210720<p>In this article, we will discuss how to apply the latest release update 19.12.0.0.210720 patch on oracle 19c database. We are going to show July 2021 release update patch apply steps for single instance database.</p><p>Patch installation steps divide into three sections</p><p>1.<span style="white-space: pre;"> </span>Pre-installation </p><p>2.<span style="white-space: pre;"> </span>Installation</p><p>3.<span style="white-space: pre;"> </span>Post Installation</p><p><b>Step 1: Pre-installation </b></p><p>Before apply patch highly recommended to take backup oracle home binaries and central inventory .</p><p>Take oracle home backup as following </p><p># cd /u01/oracle/product/19.0.0 (oracle home location)</p><p># <b>tar -pcvf /backup/oracle_home_bkup_07092021.tar db_1</b></p><p>Before apply RU patch check carefully opatch utility version <span style="color: red;">12.2.0.1.25</span> or later to apply the patch. If opatch version is lower than recommended version, then upgrade the opatch utility. Latest opatch utility version is available in oracle support we download the latest opatch utility selecting the <b>12.2.0.1.0</b> release and upgrade the opatch utility. </p><p>@ Check opatch version using following command</p><p>cd $ORACLE_HOME/Opatch</p><p><b><span style="color: red;"> ./opatch version</span></b></p><p><b><span style="color: red; font-size: medium;">@ Opatch utility version upgradation steps are as follow</span></b></p><p>a.<span style="white-space: pre;"> </span>Take backup opatch directory using following steps</p><p>Go to the oracle home and take backup</p><p># cd $ORACLE_HOME</p><p># <b>tar -pcvf Opatch_bkp.tar Opatch</b> (backup the current opatch directory)</p><p>b.<span style="white-space: pre;"> </span>Download latest opatch utility from oracle support</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZUFkpeMkDdYURLuQPxKozpUFJncFO3qJJUGAq62dTbY9axzVSgMBCIUde7KWSr3dErVOd1WoBrOAOvWkzQv5u7aWAevr6o9_XU1toxbHiuZUb1UtueF1KAS0WwWhE4qGuZLoDXKzfd7w/s511/dbatutorial.com_1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="265" data-original-width="511" height="269" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZUFkpeMkDdYURLuQPxKozpUFJncFO3qJJUGAq62dTbY9axzVSgMBCIUde7KWSr3dErVOd1WoBrOAOvWkzQv5u7aWAevr6o9_XU1toxbHiuZUb1UtueF1KAS0WwWhE4qGuZLoDXKzfd7w/w640-h269/dbatutorial.com_1.png" width="640" /></a></div><p></p><p>c.<span style="white-space: pre;"> </span>Downloaded latest opatch utility upload into the server in any directory of server</p><p>unzip the latest opatch utility into the Oracle Home directory</p><p># unzip p6880880_122010_Linux-x86-64.zip -d $ORACLE_HOME</p><p>d.<span style="white-space: pre;"> </span>After completing unzip check again opatch version using following command</p><p># <b>./opatch version</b></p><p><span style="color: red;">OPatch Version: 12.2.0.1.27</span></p><p>OPatch succeeded.</p><p>Now check the last apply patch list using follow command</p><p><span style="color: red;">./opatch lsinventory</span></p><p>Check oracle database version using below query</p><p>Sql> select banner from v$version;</p><p><b><span style="font-size: medium;">@ Interim Patch Conflict Detection and Resolution</span></b></p><p>use the following steps to manually discover conflicts and resolutions:</p><p>Determine whether any currently installed interim patches conflict with the patch being installed, 32904851:</p><p><span style="color: red;">export PATH=$ORACLE_HOME /OPatch:$PATH</span></p><p>unzip p32904851_190000_Linux-x86-64.zip</p><p><span style="color: red;">cd 32904851</span></p><p><span style="color: red;">opatch prereq CheckConflictAgainstOHWithDetail -ph ./</span></p><p><b>Step 2: Patch Installation </b></p><p>Below steps for single instance database environment</p><p>Step 1: download the latest Release Update patch set from http://support.oracle.com/ and unzip patch in same server which database server we want to apply patch </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCH6lpo4TSU8cslYRx0xAheWAJEl6r6KH6EGGr-OBTpx8i7FhHunsYNFMnYnwD78a61I-MH4nr5VuljYtH8_qYzGOeGnwAT40DMp0fGg25_L3mSg8NFHMJEK5rPwH5v173KXDZs9-w3a0/s820/dbatutorial.com_2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="233" data-original-width="820" height="169" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCH6lpo4TSU8cslYRx0xAheWAJEl6r6KH6EGGr-OBTpx8i7FhHunsYNFMnYnwD78a61I-MH4nr5VuljYtH8_qYzGOeGnwAT40DMp0fGg25_L3mSg8NFHMJEK5rPwH5v173KXDZs9-w3a0/w640-h169/dbatutorial.com_2.png" width="640" /></a></div><p></p><p>Step 2: Shutdown database and listener </p><p>Sqlplus / as sysdba</p><p>sql> <b>shutdown immediate</b></p><p>Stop Listener:</p><p># <b>lsnrctl stop</b> -- stop listener</p><p>check listener as follow</p><p># lsnrctl status</p><p>Step 3: Apply opatch</p><p>Upload the patch file into server any directory and unzip the patch file</p><p>Give the proper permission of patch unzip directory and set the oracle home</p><p>we upload the patch file into /backup/patch directory and unzip the patch using following command</p><p># unzip p32904851_190000_Linux-x86-64.zip it will create a new directory and unzipped patch location is</p><p> <b>/backup/patch/ 32904851 (patch unzip location)</b></p><p>Now go to opatch location and apply patch</p><p><b><span style="color: red;">export PATH=$ORACLE_HOME /OPatch:$PATH</span></b></p><p><b><span style="color: red;">cd /backup/patch/ 32904851</span></b></p><p><span style="color: red;"><b>./opatch apply </b></span></p><p>In patch apply stage below steps will ask for input value and we will insert <span style="color: red;"><b>y</b></span> as input. If all goes okay patch apply will be completed with OPatch succeeded message.</p><p>Output:</p><p>Do you want to proceed? [y|n] y</p><p>User Responded with: Y</p><p>Is the local system ready for patching? [y|n] Y</p><p>Check apply patch using following command</p><p>Now we run the following command to check whether patch is applied or not.</p><p># cd $ORACLE_HOME/Opatch</p><p><b>./opatch lsinventory</b></p><p>## Using below query we can check last applied patch number and patch apply date</p><p>SQL> s<b>elect PATCH_ID,to_char(ACTION_TIME,'DD-MON-YY'), action from sys.dba_registry_sqlpatch;</b></p><p><b>Step 3: Patch Post-Installation Step</b></p><p>After successfully apply release update patch we start the oracle database and listener using following command. </p><p>Startup the database and listener using below command</p><p>Sqlplus / as sysdba</p><p>Sql> <b>startup</b></p><p>Startup listener</p><p><b>lsnrctl start</b></p><p>Now run the datapatch which is the patching tool to complete the post-patch SQL actions for RDBMS patches</p><p>Go to the location $ORACLE_HOME/OPatch</p><p><b><span style="color: red;">./datapatch -verbose</span></b></p><p>Finally, compile the invalid object running the script utlrp.sql </p><p>cd $ORACLE_HOME/rdbms/admin</p><p>sql> sqlplus / as sysdba</p><p>@utlrp.sql</p><p> Latest release update patch apply is completed!</p><p>Now we will show how to deinstall applied patch</p><p><b>Step 1: Patch Deinstall Steps </b></p><p>Below portion we will focus on how to deinstall applied patch. </p><p>Patch deinstall steps for single database environment is given below</p><p>Shutdown the database and listener</p><p>Sqlplus / as sysdba</p><p>Sql> shutdown immediate</p><p>Lsnrctl stop</p><p>Go to the opatch directory ($ORACLE_HOME/OPatch)</p><p>./opatch rollback -id 32904851 (patch number)</p><p><br /></p><p><b>Step 2: Patch Post Deinstallation steps</b></p><p>Patch Post-Deinstallation Instructions for a Single Instance Database Environment</p><p>Startup the database and listener</p><p>Sqlplus / as sysdba</p><p>Sql> startup</p><p>Lsnrctl start</p><p>Go to the opatch directory ($ORACLE_HOME/OPatch)</p><p>./datapatch -verbose</p><p><b>Done!</b></p><div><br /></div>dbatutorial.comhttp://www.blogger.com/profile/13969648514293009119noreply@blogger.com0tag:blogger.com,1999:blog-7125033335107872703.post-16546990278575098782021-07-07T17:30:00.019+06:002021-07-08T08:05:15.004+06:00Data Guard Configuration In Oracle 19c Step by Step Tutorial <meta content="In this article we are going to show step by step configuration oracle 19c data guard physical standby. This article we will show oracle 19c data guard configuration for single instance database." name="description"></meta>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_VIjZIRUYnSXjIOdR3_QVJcX92f-_UMJ_o5hGAN5PN6yO2jzzZLdI1sPprjkUhcRC9OjNakEcepcVTI58d3QQnA3sQlE6UnLZor7ZAGdbCnfA3TkvH4TLIc9xpdN3_EAmUJAMiZYQnic/s1280/oracle+data+guard.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1016" data-original-width="1280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_VIjZIRUYnSXjIOdR3_QVJcX92f-_UMJ_o5hGAN5PN6yO2jzzZLdI1sPprjkUhcRC9OjNakEcepcVTI58d3QQnA3sQlE6UnLZor7ZAGdbCnfA3TkvH4TLIc9xpdN3_EAmUJAMiZYQnic/s320/oracle+data+guard.jpg" width="320" /></a></div><p>In this article we are going to show step by step
configuration oracle 19c data guard physical standby. This article we will show oracle 19c data
guard configuration for single instance database.</p><p class="MsoNormal">Assumptions:<o:p></o:p></p><p>
</p><table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184;">
<tbody><tr>
<td style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 239.4pt;" valign="top" width="319">
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="color: #212529;">Primary
Server<o:p></o:p></span></p>
</td>
<td style="border-left: none; border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 239.4pt;" valign="top" width="319">
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="color: #212529;">Standby
Server<o:p></o:p></span></p>
</td>
</tr>
<tr>
<td style="border-top: none; border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 239.4pt;" valign="top" width="319">
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="color: #212529;">Database
is running<o:p></o:p></span></p>
</td>
<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 239.4pt;" valign="top" width="319">
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="color: #212529;">Software
only installed<o:p></o:p></span></p>
</td>
</tr>
<tr>
<td style="border-top: none; border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 239.4pt;" valign="top" width="319">
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="color: #212529;">Database Unique Name: DBPRIMARY<o:p></o:p></span></p>
</td>
<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 239.4pt;" valign="top" width="319">
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="color: #212529;">Database Unique Name: DBSTANDBY<o:p></o:p></span></p>
</td>
</tr>
<tr>
<td style="border-top: none; border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 239.4pt;" valign="top" width="319">
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="color: #212529;">IP:
192.168.1.104<o:p></o:p></span></p>
</td>
<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 239.4pt;" valign="top" width="319">
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="color: #212529;">IP:
192.168.1.106<o:p></o:p></span></p>
</td>
</tr>
</tbody></table><br /><p class="MsoNormal"><o:p></o:p></p><div><p class="MsoNormal"><b style="mso-bidi-font-weight: normal;">@@ Primary Server
Configuration:<o:p></o:p></b></p>
<p class="MsoNormal"><b>Step 1:</b> Check primary database archive log mode whether it
is enable or disable<o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">SQL> select log_mode from v$database;<o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">LOG_MODE<o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">---------------------<o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">NOARCHIVELOG</p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">Since database is in noarchive mode, the log mode of the database needs
to be changed. <span style="mso-spacerun: yes;"> </span>Now we show the log mode
change steps.<o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt; text-indent: 0px;"><span style="text-indent: -0.5in;">i. Shutdown database</span></p><p class="MsoListParagraph" style="line-height: normal; margin-bottom: 0in; margin-left: .75in; margin-right: 0in; margin-top: 0in; margin: 0in 0in 0in 0.75in; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -0.5in;"><o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">SQL> shut immediate<o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">Database closed.<o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">Database dismounted.<o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">ORACLE instance shut down</p><p class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt; text-indent: 0px;"><span style="text-indent: -0.5in;">ii. Startup database in mount mode</span></p><p class="MsoListParagraph" style="line-height: normal; margin-bottom: 0in; margin-left: .75in; margin-right: 0in; margin-top: 0in; margin: 0in 0in 0in 0.75in; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -0.5in;"><o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">SQL> startup mount<o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">ORACLE instance started.<o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">Total System Global Area 1174404432 bytes</p><p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;"><o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">Fixed Size<span style="mso-spacerun: yes;">
</span>8895824 bytes<o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">Variable Size<span style="mso-spacerun: yes;">
</span>318767104 bytes<o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">Database Buffers<span style="mso-spacerun: yes;">
</span>838860800 bytes<o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">Redo Buffers<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>7880704 bytes<o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">Database mounted.</p><p class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt; text-indent: 0px;"><span style="text-indent: -0.5in;">iii. Change log mode from noarchive to archivelog</span></p><p class="MsoListParagraph" style="line-height: normal; margin-bottom: 0in; margin-left: .75in; margin-right: 0in; margin-top: 0in; margin: 0in 0in 0in 0.75in; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -0.5in;"><o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">SQL> alter database archivelog;<o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">Database altered.</p><p class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt; text-indent: 0px;"><span style="text-indent: -0.5in;">iv. Open database</span></p><p class="MsoListParagraph" style="line-height: normal; margin-bottom: 0in; margin-left: .75in; margin-right: 0in; margin-top: 0in; margin: 0in 0in 0in 0.75in; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -0.5in;"><o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">SQL> alter database open;<o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;"><o:p> </o:p>Database altered.</p><p class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt; text-indent: 0px;"><span style="text-indent: -0.5in;">v. Check database log mode again</span></p><p class="MsoListParagraph" style="line-height: normal; margin-bottom: 0in; margin-left: .75in; margin-right: 0in; margin-top: 0in; margin: 0in 0in 0in 0.75in; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -0.5in;"><o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">SQL> select log_mode from v$database;<o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;"><o:p> </o:p>LOG_MODE</p><p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;"><o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">------------<o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">ARCHIVELOG<o:p></o:p></p>
<p class="MsoNormal">Now, database is in archivelog mode.</p><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><b>Step 2:</b> Now check the db_name and db_unique_name using
following command<o:p></o:p></p>
<p class="MsoNormal">SQL> show parameter db_name<o:p></o:p></p>
<p class="MsoNormal">NAME<span style="mso-spacerun: yes;"> </span>TYPE<span style="mso-spacerun: yes;"> </span>VALUE<o:p></o:p></p>
<p class="MsoNormal">--------------------- -----------
--------------------------<o:p></o:p></p>
<p class="MsoNormal">db_name<span style="mso-spacerun: yes;"> </span>string<span style="mso-spacerun: yes;"> </span>DBPRIMARY<o:p></o:p></p>
<p class="MsoNormal">SQL> show parameter db_unique_name<o:p></o:p></p>
<p class="MsoNormal">NAME<span style="mso-spacerun: yes;"> </span>TYPE<span style="mso-spacerun: yes;"> </span>VALUE<o:p></o:p></p>
<p class="MsoNormal">----------------------- -----------
--------------------------<o:p></o:p></p>
<p class="MsoNormal">db_unique_name<span style="mso-spacerun: yes;"> </span>string<span style="mso-spacerun: yes;"> </span>DBPRIMARY<o:p></o:p></p>
<p class="MsoNormal"><b>Note:</b> <b>Oracle DB_NAME is same for both primary and standby
database but only difference at DB_UNIQUE_NAME.<o:p></o:p></b></p>
<p class="MsoNormal"><b>Step 3:</b> Change following parameter in primary database<o:p></o:p></p>
<p class="MsoNormal">SQL> ALTER DATABASE FORCE LOGGING;<o:p></o:p></p>
<p class="MsoNormal">Database altered.<o:p></o:p></p>
<p class="MsoNormal">SQL> alter system set standby_file_management ='AUTO'
scope=both;<o:p></o:p></p>
<p class="MsoNormal">System altered.<o:p></o:p></p>
<p class="MsoNormal">SQL> alter system set
log_archive_config='dg_config=(DBPRIMARY,DBSTANDBY)' scope=both;<o:p></o:p></p>
<p class="MsoNormal">System altered.<o:p></o:p></p>
<p class="MsoNormal"><b>Note:</b> Primary database unique_name =DBPRIMARY and Standby
database unique_name=DBSTANDBY<o:p></o:p></p>
<p class="MsoNormal">SQL> alter system set
log_archive_dest_2='service=DBSTANDBY async
valid_for=(online_logfile,primary_role) db_unique_name=DBSTANDBY' scope=both;<o:p></o:p></p>
<p class="MsoNormal">System altered.<o:p></o:p></p>
<p class="MsoNormal">SQL> alter system set fal_server=DBSTANDBY scope=both;<o:p></o:p></p>
<p class="MsoNormal">System altered.<o:p></o:p></p>
<p class="MsoNormal">Note: fal_server=dr database_unique_name<o:p></o:p></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><b>Step 4:</b> Create standby redo logs on the primary database. In
my case, the following standby redo logs must be created on both servers. <o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">Now check the existing log group and log file location using
below command.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">SQL> select group#,member from v$logfile;<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>GROUP#<span style="mso-tab-count: 2;"> </span>MEMBER<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">---------------------------------------------------------------<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">1<span style="mso-tab-count: 2;"> </span>/u01/oracle/oradata/DBPRIMARY/redo01.log<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">2<span style="mso-tab-count: 2;"> </span>/u01/oracle/oradata/DBPRIMARY/redo02.log<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">3<span style="mso-tab-count: 2;"> </span>/u01/oracle/oradata/DBPRIMARY/redo03.log<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">Now add the standby redo logs on primary database.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">SQL> alter database add standby logfile THREAD 1 group 5
('/u01/oracle/oradata/DBPRIMARY/stb_redog5.log') size 100m;<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">Database altered.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">SQL> alter database add standby logfile THREAD 1 group 6
('/u01/oracle/oradata/DBPRIMARY/stb_redog6.log') size 100m;<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">Database altered.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">SQL> alter database add standby logfile THREAD 1 group 7
('/u01/oracle/oradata/DBPRIMARY/stb_redog7.log') size 100m;<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">Database altered.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">SQL> alter database add standby logfile THREAD 1 group 8
('/u01/oracle/oradata/DBPRIMARY/stb_redog8.log') size 100m;<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">Database altered.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">Note: Standby redo log should be one extra group per thread
compared with the online redo logs.</span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><b>Step 5:</b> On primary database create static /dynamic listener <o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><b>Primary Database listener entry:</b><o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"># Listener location:
$ORACLE_HOME/network/admin/listener.ora<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"># Generated by Oracle configuration tools (netca)<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">SID_LIST_LISTENER
=<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>(SID_LIST =<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>(SID_DESC =<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>(GLOBAL_DBNAME = DBPRIMARY)<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>(ORACLE_HOME =
/u01/oracle/product/19c/dbhome_1)<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>(SID_NAME = DBPRIMARY)<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>)<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>)<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI", sans-serif" style="background-color: white; color: #212529;">LISTENER
=</span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>(DESCRIPTION_LIST =<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>(DESCRIPTION =<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.104)(PORT
= 1521))<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>)<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>)</span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><b>Primary
Server TNS:</b><o:p></o:p></span></p><p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"># TNS file location: $ORACLE_HOME/admin/tnsnames.ora<o:p></o:p></span></p><p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"></span></p><p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"># Generated by Oracle configuration tools (netca)</span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">DBPRIMARY
=<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>(DESCRIPTION =<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>(ADDRESS_LIST =<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.104)(PORT
= 1521))<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>)<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>(CONNECT_DATA =<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>(SERVICE_NAME = DBPRIMARY)<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>)<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>)<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><o:p> </o:p></span><b><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">Add Standby server TNS:</span></b></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">DBSTANDBY=<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>(DESCRIPTION =<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>(ADDRESS_LIST =<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>(ADDRESS = (PROTOCOL = TCP)(HOST =
192.168.1.106)(PORT = 1521))<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>)<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>(CONNECT_DATA =<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>(SERVICE_NAME = DBSTANDBY)<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>)<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>)</span></p>
<p class="MsoNormal"><b style="mso-bidi-font-weight: normal;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">Note:</span></b><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">
Check tnsping both primary and standby server <o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">tnsping DBPRIMARY >>Must be ok<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">tnsping DBSTANDBY >>Must be ok<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><b>Step 6:</b> Create pfile on primary database.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">sqlplus / as sysdba<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">SQL> create pfile='/tmp/init_standby.ora'
from spfile;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">File created.</span></p><p class="MsoNormal" style="line-height: normal;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><br /></span></p><p class="MsoNormal"><b><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">@@ Standby
Server Configuration:</span></b></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><b>Step 7: </b></span><span style="background-color: white; color: #212529;">Scp the listener, tns and password file from primary to
standby server and change entry as follow.</span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">scp listener.ora tnsname.ora oracle:192.168.1.106:$ORACLE_HOME/network/admin<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">scp orapwPRIMARYDB oracle:192.168.1.106:$ORACLE_HOME/dbs<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">Send pfile that was created in primary database to standby
database<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">scp init_standby.ora oracle:192.168.1.106:/tmp<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><b>Step 8:</b> Listener entry change as follow:<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">SID_LIST_LISTENER
=<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>(SID_LIST =<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>(SID_DESC =<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>(GLOBAL_DBNAME = <b style="mso-bidi-font-weight: normal;">DBSTANDBY</b>)<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>(ORACLE_HOME =
/u01/oracle/product/19c/dbhome_1)<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>(SID_NAME = <b style="mso-bidi-font-weight: normal;">DBSTANDBY</b>)<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>)<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>)<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI", sans-serif" style="background-color: white; color: #212529;">LISTENER
=</span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>(DESCRIPTION_LIST =<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>(DESCRIPTION =<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>(ADDRESS = (PROTOCOL = TCP)(HOST = <b style="mso-bidi-font-weight: normal;">192.168.1.106</b>)(PORT = 1521))<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>)<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><span style="mso-spacerun: yes;"> </span>)<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI", sans-serif" style="background-color: white; color: #212529;">@ Start listener on standby database</span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><b># lsnrctl start</b><o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"><b>Step 9:</b> Change password file and parameter file as follow.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">cd $ORACLE_HOME/dbs<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"># mv orapwDBPRIMARY orapwDBSTANDBY <o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"># Change the following entry in pfile for<span style="mso-spacerun: yes;"> </span>standby database<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">*<b>.db_unique_name='DBSTANDBY'</b> ==this parameter is needed to be
added<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">*<b>.fal_server='DBPRIMARY'</b><span style="mso-spacerun: yes;"><b> </b>
</span>==change the value<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">*.log_archive_dest_2='SERVICE=<b>DBPRIMARY</b> ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)<span style="mso-spacerun: yes;">
</span>DB_UNIQUE_NAME=<b>DBPRIMARY'</b><span style="mso-spacerun: yes;"> </span></span></p><p class="MsoNormal" style="line-height: 150%; margin-bottom: 0in;"><span style="background-color: white; color: #212529;"><b>Note:</b> change the service and db_unique_name</span></p>
<p class="MsoNormal"><b style="color: #212529; font-family: "Segoe UI", sans-serif;">Step 10:</b><span face=""Segoe UI", sans-serif" style="background-color: white; color: #212529;"> </span><span style="background-color: white; color: #212529;">Create Physical Location as per requirement for the Data
file, archive log location, Control file Location, online log location, audit
location. This log location find from standby parameter file.</span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"># mkdir -p /u01/oracle/admin/DBPRIMARY/adump<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"># mkdir -p /u01/oracle/oradata<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"># mkdir -p /u01/oracle/oradata/DBPRIMARY</span></p><p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;"># export
ORACLE_SID=DBSTANDBY<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI", sans-serif" style="background-color: white; color: #212529;"><b>Step 11:</b> Check tnsping from standby database it must be okay
from primary database also</span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">[oracle@dbstandby
~]$ tnsping dbprimary<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">TNS
Ping Utility for Linux: Version 19.0.0.0.0 - Production on 04-JUL-2021 16:04:44<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">Copyright
(c) 1997, 2019, Oracle.<span style="mso-spacerun: yes;"> </span>All rights
reserved.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">Used
parameter files:<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">Used
TNSNAMES adapter to resolve the alias<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">Attempting
to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST =
192.168.1.104)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = DBPRIMARY)))<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">OK
(30 msec)<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI", sans-serif" style="background-color: white; color: #212529;">[oracle@dbstandby
~]$ tnsping dbstandby</span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">TNS
Ping Utility for Linux: Version 19.0.0.0.0 - Production on 04-JUL-2021 16:05:31<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">Copyright
(c) 1997, 2019, Oracle.<span style="mso-spacerun: yes;"> </span>All rights
reserved.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">Used
parameter files:<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">Used
TNSNAMES adapter to resolve the alias<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">Attempting
to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST =
192.168.1.106)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = DBSTANDBY)))<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">OK
(60 msec)<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI", sans-serif" style="background-color: white; color: #212529;"><b>Step 12:</b> startup standby database in nomount mode</span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">SQL> <b>startup nomount pfile='/tmp/init_standby.ora'</b><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">ORACLE
instance started.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">Total
System Global Area<span style="mso-spacerun: yes;"> </span>838858176 bytes<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">Fixed
Size<span style="mso-spacerun: yes;"> </span>8902080 bytes<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">Variable
Size<span style="mso-spacerun: yes;"> </span>226492416 bytes<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">Database
Buffers<span style="mso-spacerun: yes;"> </span>599785472 bytes<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom: 0in;"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">Redo
Buffers<span style="mso-spacerun: yes;"> </span>3678208 bytes<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI", sans-serif" style="background-color: white; color: #212529;"><br /></span></p><p class="MsoNormal"><span face=""Segoe UI", sans-serif" style="background-color: white; color: #212529;"><b>Step 13:</b> Now run the duplicate database creation to create
standby database using following command.</span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">[oracle@dbstandby dbs]$ <b>rman target sys/sys123@dbprimary
AUXILIARy sys/sys123@dbstandby</b><o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">Recovery Manager: Release 19.0.0.0.0 - Production on Sun Jul
4 16:08:36 2021<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">Version 19.3.0.0.0<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">Copyright (c) 1982, 2019, Oracle and/or its affiliates.<span style="mso-spacerun: yes;"> </span>All rights reserved.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">connected to target database: DBPRIMAR (DBID=2199024026)<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Segoe UI","sans-serif"" style="background: white; color: #212529;">connected to auxiliary database: DBPRIMAR (not mounted)<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; margin-bottom: 0in;"><b>RMAN></b> <b>DUPLICATE TARGET DATABASE<o:p></o:p></b></p>
<p class="MsoNormal" style="line-height: 150%; margin-bottom: 0in;"><b><span style="mso-spacerun: yes;"> </span>FOR STANDBY<o:p></o:p></b></p>
<p class="MsoNormal" style="line-height: 150%; margin-bottom: 0in;"><b><span style="mso-spacerun: yes;"> </span>FROM ACTIVE DATABASE<o:p></o:p></b></p>
<p class="MsoNormal" style="line-height: 150%; margin-bottom: 0in;"><b><span style="mso-spacerun: yes;"> </span>DORECOVER<o:p></o:p></b></p>
<p class="MsoNormal" style="line-height: 150%; margin-bottom: 0in;"><b><span style="mso-spacerun: yes;"> </span>NOFILENAMECHECK;</b><o:p></o:p></p>
<p class="MsoNormal">2> 3> 4> 5><o:p></o:p></p>
<p class="MsoNormal">Starting Duplicate Db at 04-JUL-21<o:p></o:p></p>
<p class="MsoNormal">using target database control file instead of recovery
catalog<o:p></o:p></p>
<p class="MsoNormal">allocated channel: ORA_AUX_DISK_1<o:p></o:p></p>
<p class="MsoNormal">channel ORA_AUX_DISK_1: SID=427 device type=DISK<o:p></o:p></p>
<p class="MsoNormal">current log archived<o:p></o:p></p>
<p class="MsoNormal">……..<o:p></o:p></p>
<p class="MsoNormal">……….<o:p></o:p></p>
<p class="MsoNormal">released channel: ORA_DISK_1<o:p></o:p></p>
<p class="MsoNormal">released channel: ORA_AUX_DISK_1<o:p></o:p></p>
<p class="MsoNormal">allocated channel: ORA_DISK_1<o:p></o:p></p>
<p class="MsoNormal">channel ORA_DISK_1: SID=1 device type=DISK<o:p></o:p></p>
<p class="MsoNormal">deleted archived log<o:p></o:p></p>
<p class="MsoNormal">archived log file
name=/u01/oracle/oradata/DBSTANDBY/archivelog/2021_07_04/o1_mf_1_12_jg38k391_.arc
RECID=1 STAMP=1077040643<o:p></o:p></p>
<p class="MsoNormal">deleted archived log<o:p></o:p></p>
<p class="MsoNormal">archived log file
name=/u01/oracle/oradata/DBSTANDBY/archivelog/2021_07_04/o1_mf_1_13_jg38k5fv_.arc
RECID=2 STAMP=1077040645<o:p></o:p></p>
<p class="MsoNormal">Deleted 2 objects<o:p></o:p></p>
<p class="MsoNormal">Finished Duplicate Db at 04-JUL-21<o:p></o:p></p>
<p class="MsoNormal"><br /></p><p class="MsoNormal"><b>Done!</b><o:p></o:p></p><br /></div>dbatutorial.comhttp://www.blogger.com/profile/13969648514293009119noreply@blogger.com1tag:blogger.com,1999:blog-7125033335107872703.post-12712319615883807732021-06-21T15:22:00.007+06:002021-07-10T23:52:42.486+06:00Oracle Linux 7 Install Step by Step on VirtualBox<p>In this article we are going to describe how oracle Linux 7.6 install on virtualbox. Before oracle Linux 7 install we need to make sure that iso file is downloaded and virtualbox machine is created. Let's see the oracle Linux 7 installation steps as follow.</p><p>Step 1: This is the first step of oracle Linux 7 installation. Here we need to select <b>Install Oracle Linux 7.6</b> and then press enter to go the next step. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtmbxyJQX8s-V7H8OdT3GOmw6E5SLbVxzzvUsfxA-sA6Tb68jz5qzXwvDBJkH0rJj5YWQf4W8w0RbSvQ7hzPv9EhDyev5QhMfrnrOh7jh-b-Y52T2p4c9jPHKYNkXZRn-8u5TWp_Dy8xQ/s647/1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="553" data-original-width="647" height="366" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtmbxyJQX8s-V7H8OdT3GOmw6E5SLbVxzzvUsfxA-sA6Tb68jz5qzXwvDBJkH0rJj5YWQf4W8w0RbSvQ7hzPv9EhDyev5QhMfrnrOh7jh-b-Y52T2p4c9jPHKYNkXZRn-8u5TWp_Dy8xQ/w640-h366/1.jpg" width="640" /></a></div><div><br /></div>Step 2: Go to the next step keeping the default selection<div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh83e9M70kaPcsSH7BzTu_4tRZm-sXgHhvk3o2Hw_hCjWhbnDa1oJzS7Ck1VrYSr7GR5Zax458RPHoSEyKGnF8n8vsA8ovcy_i0B-rFBOE6m73Bc2iQ1trkTf03_fEzO4WV4C1La3v6e9g/s802/2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="667" data-original-width="802" height="351" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh83e9M70kaPcsSH7BzTu_4tRZm-sXgHhvk3o2Hw_hCjWhbnDa1oJzS7Ck1VrYSr7GR5Zax458RPHoSEyKGnF8n8vsA8ovcy_i0B-rFBOE6m73Bc2iQ1trkTf03_fEzO4WV4C1La3v6e9g/w640-h351/2.jpg" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div></div><div><div class="separator" style="clear: both; text-align: left;">Step 3: This is the installation summary page here we need to change configuration some section. First We will show how to change date time before installation. Click DATE & TIME button and go to the date time change windows.</div></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_Xd78nxAojBKihozXiEb4ija_sgR9zHtY4HyhoS0xjrvdjPFDJIitfb_Aif7gEOWX5FISVkvBZnjcpgOSvOuTcsJdfBiu3rAh3kE9IGtnrU6ialj5uO5jT3vgHNsZSPOit4vlm-WIqoc/s806/3.jpg" style="margin-left: 1em; margin-right: 1em;"><br /><img border="0" data-original-height="599" data-original-width="806" height="330" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_Xd78nxAojBKihozXiEb4ija_sgR9zHtY4HyhoS0xjrvdjPFDJIitfb_Aif7gEOWX5FISVkvBZnjcpgOSvOuTcsJdfBiu3rAh3kE9IGtnrU6ialj5uO5jT3vgHNsZSPOit4vlm-WIqoc/w640-h330/3.jpg" width="640" /></a></div><div><br /></div><div>a. This is the date time change window here we insert region and city as our requirement. </div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBNdCWW3_ym1Jz9hMu6nY54ErVFV7MAQ5r_-SUPUbL-t5CmGPhmQfZAxpXC_q3z1baRCJO4IWTTzSDUOlUmqaokK9dFRSBLVwtfCWG32Nhb4xDMKK_qXLuFMyPh7B1tweI4yFh1FsuC10/s803/4.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="598" data-original-width="803" height="350" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBNdCWW3_ym1Jz9hMu6nY54ErVFV7MAQ5r_-SUPUbL-t5CmGPhmQfZAxpXC_q3z1baRCJO4IWTTzSDUOlUmqaokK9dFRSBLVwtfCWG32Nhb4xDMKK_qXLuFMyPh7B1tweI4yFh1FsuC10/w640-h350/4.jpg" width="640" /></a></div><div><br /></div>b. This is the network change configuration windows here we can insert hostname as our requirement as well as change network configuration. </div><div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZCKV_MkMxkkmPqCplZ0ZN0WeSviDP2UKTrSuR12SSF7k-KIWxqSUsU_J1J8MkhkXNbdc9Y20-zkMaFm2NebPFQbgOJ4uNJFK_-zMgGhNPsJZsNDfBwBzeLGAQxOkfNKA69HpZUoWDa9s/s797/5.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="600" data-original-width="797" height="338" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZCKV_MkMxkkmPqCplZ0ZN0WeSviDP2UKTrSuR12SSF7k-KIWxqSUsU_J1J8MkhkXNbdc9Y20-zkMaFm2NebPFQbgOJ4uNJFK_-zMgGhNPsJZsNDfBwBzeLGAQxOkfNKA69HpZUoWDa9s/w640-h338/5.jpg" width="640" /></a></div><div><br /></div><div>c. This is hardware partitioning windows we can skep this step selecting automatically configure partitioning. Besides, we can manually partition hard disk here we will show how to manually partition the hard disk to enable manually partition we select <b>"I will configure partitioning"</b> button and click done button.</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghjhAbD4EWOU1ewHtnZSv1gl_ZCsPlGgU80I3POQRTXjqMdBYRDsvHJ-1MsIJjXqOfm2RfvjnhJZUmDIHcUTctC6yMfaDJBc5X5mBtRDiwwXOiazjHejl5Wn8A7LN_B2lyJMgoOnZYQ8A/s803/6.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="602" data-original-width="803" height="312" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghjhAbD4EWOU1ewHtnZSv1gl_ZCsPlGgU80I3POQRTXjqMdBYRDsvHJ-1MsIJjXqOfm2RfvjnhJZUmDIHcUTctC6yMfaDJBc5X5mBtRDiwwXOiazjHejl5Wn8A7LN_B2lyJMgoOnZYQ8A/w640-h312/6.jpg" width="640" /></a></div><div><br /></div><div>d. This is the partition windows here we click <b>+</b> button and add new mount point. </div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdT4_dRW7FMoy0DcTJ-rvKOB6zjoB8NTIu6gXAMGsNWROz9GqnQGuaAeq_Z3kag7XRp1uPT3WME96kAADtAqu_5zvdBGVtSXU7oV8TCFolgk1Lr04cFKe2zQ-WYvpT75Vq5bjLFP4EnIE/s797/7.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="668" data-original-width="797" height="349" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdT4_dRW7FMoy0DcTJ-rvKOB6zjoB8NTIu6gXAMGsNWROz9GqnQGuaAeq_Z3kag7XRp1uPT3WME96kAADtAqu_5zvdBGVtSXU7oV8TCFolgk1Lr04cFKe2zQ-WYvpT75Vq5bjLFP4EnIE/w640-h349/7.jpg" width="640" /></a></div><div><br /></div><div>e. This is the example how to add mount point with desired capacity. </div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiad_jGnWmfe5TA0mgCQV9wrHstICWDqbHkxJXXB8GbS1xEJSLc4qX69-Tm3KO2Fkh_69bw2pwqNKahF3IxM2Tnei7-Uc0-2SUtA-Iqm8wIr5ESVZFPQtVP5OV-0QcOVKuu9S1n758T5l4/s802/8.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="645" data-original-width="802" height="336" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiad_jGnWmfe5TA0mgCQV9wrHstICWDqbHkxJXXB8GbS1xEJSLc4qX69-Tm3KO2Fkh_69bw2pwqNKahF3IxM2Tnei7-Uc0-2SUtA-Iqm8wIr5ESVZFPQtVP5OV-0QcOVKuu9S1n758T5l4/w640-h336/8.jpg" width="640" /></a></div><div><br /></div><div>f. This is the example how to add mount point for swap memory with desired capacity.</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ5fJknM9SsCHInAu1fPXXdTncAzXRe3OR4IZSGyQ6MEWLN9r_t2ygBy57EPF0L0aX_p9Vvr7Mepf4MgIShPjdIHtFO0kvufcQotH7sC8ba881e5dyGmlUiaH-v2WLL1QnYBU68fn_NsM/s799/9.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="662" data-original-width="799" height="386" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ5fJknM9SsCHInAu1fPXXdTncAzXRe3OR4IZSGyQ6MEWLN9r_t2ygBy57EPF0L0aX_p9Vvr7Mepf4MgIShPjdIHtFO0kvufcQotH7sC8ba881e5dyGmlUiaH-v2WLL1QnYBU68fn_NsM/w640-h386/9.jpg" width="640" /></a></div><div><br /></div><div>g. This is the final look after partitioning with desired capacity. Now click Done button and go the next windows.</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinUOWlaKH8vQrfHAYvVNL0Px195yZNIW3U5h-bxUGR8KUhr7B8j1h6zcXP-QKalGCGSkfZ-PKBYClQ2zn0I2lyDi3X6kNjPvi6-PiaSr1579HyA_P61zmL3Gk7krZ67LL3AYHknDETWGk/s798/10.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="657" data-original-width="798" height="317" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinUOWlaKH8vQrfHAYvVNL0Px195yZNIW3U5h-bxUGR8KUhr7B8j1h6zcXP-QKalGCGSkfZ-PKBYClQ2zn0I2lyDi3X6kNjPvi6-PiaSr1579HyA_P61zmL3Gk7krZ67LL3AYHknDETWGk/w640-h317/10.jpg" width="640" /></a></div><div><br /></div><div>h. This is the software selection window here we can select the criteria which server we want to configure. </div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXL8i4gc8tk6_t2w10pcUcViyoHv_sTK0tvx9xsPjF4zbn4EHq6yYqDxuJsnwcwb8sWJq9-xEwRlgjNJNe5K0BXTF_TVhOkHNHBr3mw21s8yY6hjjqPN1eJFichKS3nN_VpDLCNYpXMo8/s801/11.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="658" data-original-width="801" height="354" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXL8i4gc8tk6_t2w10pcUcViyoHv_sTK0tvx9xsPjF4zbn4EHq6yYqDxuJsnwcwb8sWJq9-xEwRlgjNJNe5K0BXTF_TVhOkHNHBr3mw21s8yY6hjjqPN1eJFichKS3nN_VpDLCNYpXMo8/w640-h354/11.jpg" width="640" /></a></div><div><br /></div><div>Step 4: After pressing Begin Installation button in installation summary window when we check that all configuration change is okay and then OS installation will be stated. </div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxFYdQ4VG9bWop6OxldkNPhUV7t9CLg4MwvvVXzzc73btDg9hGODd1ySJwWABxYUXWQGTiMpw7rc4M2Ehx8vS8-iHEvNs3FQxsc-xD5kbk0Pvkj1fiP3ysSNSA6edKxr33-hIzOymiKpY/s798/12.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="602" data-original-width="798" height="325" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxFYdQ4VG9bWop6OxldkNPhUV7t9CLg4MwvvVXzzc73btDg9hGODd1ySJwWABxYUXWQGTiMpw7rc4M2Ehx8vS8-iHEvNs3FQxsc-xD5kbk0Pvkj1fiP3ysSNSA6edKxr33-hIzOymiKpY/w640-h325/12.jpg" width="640" /></a></div><div><br /></div><div>Step 5: This is the oracle Linux installation final stage. </div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ42Zvlf9oXDEyFh7qw6V2C-60vck4L5wKNWmhQTZI7rqWuni8Cw5gVIA4_EKsG9OgvrVwhM_XZ9d-xBZPWFXva4wxECsMVDZCqzWdszyw22do8oOPma2YD_ZUmsS0wwrXHI2BZgZtR3k/s798/13.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="564" data-original-width="798" height="272" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ42Zvlf9oXDEyFh7qw6V2C-60vck4L5wKNWmhQTZI7rqWuni8Cw5gVIA4_EKsG9OgvrVwhM_XZ9d-xBZPWFXva4wxECsMVDZCqzWdszyw22do8oOPma2YD_ZUmsS0wwrXHI2BZgZtR3k/w640-h272/13.jpg" width="640" /></a></div><div><br /></div>Done!<br /><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><p><br /></p></div>dbatutorial.comhttp://www.blogger.com/profile/13969648514293009119noreply@blogger.com0tag:blogger.com,1999:blog-7125033335107872703.post-81335445363633300582021-04-02T19:11:00.020+06:002021-04-04T02:25:21.385+06:00Oracle Delete Statement Internal Architecture<span style="font-size: medium;"><meta content="In this article we are going to learn how oracle delete statement work internally. Oracle delete statement architecture describes here briefly." name="description"/>
</span><p class="MsoNormal"><span style="font-family: "Times New Roman","serif"; font-size: medium; line-height: 115%;"></span></p><span style="font-family: "Times New Roman","serif"; font-size: medium; line-height: 115%;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_t_tuJ2zj80p5weQLhjPMRp6p1DCyr3TuOHVMW7PrwKh6SzhIk8B2rG7fNTzhNvqL8NQqdglWykofnpRegItbxB10xdGpU1SrUozb4km3oCDdjjOOFNwdXjuG6wDZkgqGzciUn5Wa8YM/s593/delete+architecture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="365" data-original-width="593" height="394" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_t_tuJ2zj80p5weQLhjPMRp6p1DCyr3TuOHVMW7PrwKh6SzhIk8B2rG7fNTzhNvqL8NQqdglWykofnpRegItbxB10xdGpU1SrUozb4km3oCDdjjOOFNwdXjuG6wDZkgqGzciUn5Wa8YM/w640-h394/delete+architecture.JPG" width="640" /></a></div><br /></span><p></p><p class="MsoNormal"><span style="font-family: "Times New Roman","serif"; font-size: medium; line-height: 115%;">In this article we are going to learn how oracle
delete statement work internally. </span></p><span style="font-size: medium;">
</span><p class="MsoNormal"><span style="font-family: "Times New Roman","serif"; font-size: medium; line-height: 115%;">We explain here how the following delete statement work internally. </span></p><span style="font-size: medium;"><span style="font-family: "Times New Roman","serif"; line-height: 115%;">DELETE FROM EMPLOYEE WHERE empid=’10004’;</span>
</span><p class="MsoNormal"><span style="font-family: "Times New Roman","serif"; font-size: medium; line-height: 115%;"><b>Step 1:</b> When user issues a delete command server process receive the delete statement from client and before executing
delete statement server process required the validation check of the delete
statement. Sever process check the syntax and semantic of the delete statement whether the statement is valid or not.</span></p><span style="font-size: medium;">
</span><p class="MsoNormal"><span style="font-family: "Times New Roman","serif"; font-size: medium; line-height: 115%;">Now we are going to explain what is the syntax and
semantic check with an example. </span></p><span style="font-size: medium;">
</span><p class="MsoNormal"><span style="font-size: medium;"><b style="mso-bidi-font-weight: normal;"><span style="font-family: "Times New Roman","serif"; line-height: 115%;">Syntax
validation:</span></b></span></p><span style="font-size: medium;">
</span><p class="MsoNormal"><span style="font-family: "Times New Roman","serif"; font-size: medium; line-height: 115%;">DELETE Employee WHERE empid= ‘10004’;</span></p><p class="MsoNormal"><span style="font-family: "Times New Roman","serif"; font-size: medium; line-height: 115%;">Output: Ora-00971: missing FROM keyword <br /></span></p><span style="font-size: medium;">
</span><p class="MsoNormal"><span style="font-family: "Times New Roman","serif"; font-size: medium; line-height: 115%;">Syntax validates check means whether the sql statement is
correct or not. Above query syntax validation check fail as <b style="mso-bidi-font-weight: normal;">FROM</b> keyword is missing of the delete
query. </span></p><span style="font-size: medium;">
</span><p class="MsoNormal"><span style="font-size: medium;"><b style="mso-bidi-font-weight: normal;"><span style="font-family: "Times New Roman","serif"; line-height: 115%;">Semantic
Validation:</span></b></span></p><span style="font-size: medium;">
</span><p class="MsoNormal"><span style="font-family: "Times New Roman","serif"; font-size: medium; line-height: 115%;">Semantic validate check means whether database object is
exist or not in database server. Following delete query semantic validation
check fail as table name is incorrect (Correct Table: Employee).</span></p><span style="font-size: medium;">
</span><p class="MsoNormal"><span style="font-family: "Times New Roman","serif"; font-size: medium; line-height: 115%;">DELETE FROM Employee1 WHERE empid= ‘10004’;</span></p><span style="font-size: medium;">
</span><p class="MsoNormal"><span style="font-family: "Times New Roman","serif"; font-size: medium; line-height: 115%;">Output: ORA-00942: table or view does not exist</span></p><span style="font-size: medium;">
</span><p class="MsoNormal"><span style="font-family: "Times New Roman","serif"; font-size: medium; line-height: 115%;"><b>Step 2:</b> After pass the syntax / Semantic check then
server process go to the library cache and server process will search the
delete statement in library cache for match the statement. If delete statement
match in library cache server process use this statement and didn’t generate an
execution plan this is called soft parse. On the other hand if delete statement
don’t match in library cache then server process will generate multiple
execution plan and this process is called hard parse. Server process will picked
up the best possible and cost effective execution plan and go the next step. </span></p><span style="font-size: medium;">
</span><p class="MsoNormal"><span style="font-family: "Times New Roman","serif"; font-size: medium; line-height: 115%;"> </span></p><span style="font-size: medium;">
</span><p class="MsoNormal"><span style="font-family: "Times New Roman","serif"; font-size: medium; line-height: 115%;"><b>Step 3:</b> After parsing phase server process execution
of the delete will began. Server process will bring the requested data block from
corresponding datafile of the table into database buffer cache whose rows must
be deleted.</span></p><span style="font-size: medium;">
</span><p class="MsoNormal"><span style="font-family: "Times New Roman","serif"; font-size: medium; line-height: 115%;"><b>Step 4:</b> Blocks will contain the original data of the
table. As the same time server process bring same number of empty block from the
rollback/undo tablespace into the database buffer cache. Server process will
copy the original data block from the userdata block into the empty
rollback/undo block and create a before image. This rollback/undo block will be
reserve for the current transaction and no other server process can’t use the
rollback/undo block until current transaction is completed. Besides, userdata
block in database cache will be lock no other server process can’t perform
delete, update operation until current statement is being completed. This
scenario is called row level lock. </span></p><span style="font-size: medium;">
</span><p class="MsoNormal"><span style="font-family: "Times New Roman","serif"; font-size: medium; line-height: 115%;"><b>Step 5: </b>Server process will bring the set of user
data blocks into PGA. Once filter process perform selected rows will be deleted
that means data will be removed from original data blocks. This process will
continue till all the userdata blocks has been checked and removed.</span></p><span style="font-size: medium;">
</span><p class="MsoNormal"><span style="font-family: "Times New Roman","serif"; font-size: medium; line-height: 115%;"><b>Step 6:</b> Now user have two options commit/rollback if
user issue commits oracle background process logwriter immediately writes all
changes redo log buffer to disk and SCN number will generate. At the same time
database buffer cache and rollback/undo will be release. During the next
checkpoint dbwriter will write the data back to the respective datafile. If
user issue rollback original data will be copy from rollback/undo into database buffer cache and userdata will be same as before. <br /></span></p><p class="MsoNormal"><span style="font-family: "Times New Roman","serif"; font-size: medium; line-height: 115%;"><span style="mso-spacerun: yes;"> </span></span></p><p class="MsoNormal"><span style="font-family: "Times New Roman","serif"; font-size: medium; line-height: 115%;"><span style="mso-spacerun: yes;"><b>Done!</b><br /></span></span></p>dbatutorial.comhttp://www.blogger.com/profile/13969648514293009119noreply@blogger.com3tag:blogger.com,1999:blog-7125033335107872703.post-29827740022471357922021-02-24T16:48:00.025+06:002021-03-04T17:15:46.151+06:00Oracle Update Statement Internal Working Mechanism<div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjONG-jRL2Po24S4FUVQfT3RDR4nWiFuIqzhJIgra14n2BRrUH2Z4oBdVlJDzehJtJlbm56Y2YdrZehmAZlcWH_NbkyNCL_cTmFoT0m1qBneSuSqHazRaW5Pgtd7xxsXjqiDCQjHIwZO3E/s538/update_statement2.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="533" data-original-width="538" height="634" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjONG-jRL2Po24S4FUVQfT3RDR4nWiFuIqzhJIgra14n2BRrUH2Z4oBdVlJDzehJtJlbm56Y2YdrZehmAZlcWH_NbkyNCL_cTmFoT0m1qBneSuSqHazRaW5Pgtd7xxsXjqiDCQjHIwZO3E/w640-h634/update_statement2.JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><p>In this article we are going to discuss how oracle update statement work internally. Here, we try to explain oracle update statement architecture with an example. We assume update a value "Sarker" from "Masud" for EmpName column of Employees table.</p><p>Update Statement: </p><p>UPDATE EMPLOYEES SET EMPNAME='Sarker' WHERE EMPID=1001;</p><p>Let's explain oracle update statement architecture briefly. </p><p>Step 1: Oracle server process first receive the update statement from client and before starting the update server process require the validation check of the update statement. Server process validate the syntax and semantic of the update statement whether the update statement is valid or not. </p><p>Syntax validation means check the statement whether it is valid or not.</p><p>For example: update Employee Empname='Sarker' where empid=1001;</p><p>Output: ORA-00971: missing SET keyword </p><p>Above query syntax validation fail because SET keyword is missing.</p><p>Semantic validation means check the statement whether it is meaningful or not</p><p>For example: update Employee1 set Empname='Sarker' where empid=1001;</p><p>Output: ORA-00942: table or view does not exist</p><p>Above query semantic validation fail because EMPLOYEE1 table doesn't exist. Moreover, in data dictionary of shared pool, the server process checks the semantic of the sql statement and in this stage server process check the definition of the object.</p><p><br /></p><p> Step 2: After syntax/Semantic check pass then server process will go to the library cache and in library cache server process will search the statement for match the sql statement. If the update sql statement match in library cache sql statement don't generate execution plan this is called soft parse on the other hand if don't match the update statement server process will generate multiple execution this is called hard parse. </p><p>Step 3: After completing the statement parsing process the update statement execution job will began. In this stage server process bring the original data blocks into database buffer cache from respective data file of the table which has to be updated. Blocks contain original data of the table.</p><p><br /></p><p>Step 4: Server process will bring the same number of blocks from undo tablespace into database buffer cache. At this time old value will be stored in undo block and undo block that contain the old value of update statement will be reserved no other transaction will not be able to reuse this undo block until the current query complete as well as original data block in database buffer cache will be lock. During this update process when other transaction like update, delete issues on the same data block it will be waiting until the current transaction issues rollback/commit. This scenario is called row level lock and this is one of the oracle features that ensure consistence of the data. A copy of the old, new data and sql id will be stored in the redo log buffer.</p><p><br /></p><p>Step 5: The user will now have two options rollback/commit. However, if the user issues a rollback it means no data will be updated in the original block. As the undo has the old data so old value bring from undo block and original block will be replaced by the old value in the database buffer cache. </p><p>Another scenario, now if the user issues a commit statement, then undo block will be release for reuse by other transaction and the original block value has been changed in the database buffer cache as well as row level lock will be released. At this time original blocks of the database buffer cache will be declared as the dirty buffer. After issues the commit statement the transaction is assigned a system change number (SCN) number and oracle background process LGWR puts a commit record in the redo log buffer and writes it to disk immediately, along with the transaction's redo entries. Oracle guarantees that all changes will be written to redo Log immediate commit is run, but oracle does not guarantee that changes will be written to the data file immediate commit is run. Recover database change data from Redo Logs if database crash before writing changes to data files. During the next checkpoint, Oracle background process database writer will write all the dirty buffer of database buffer cache in the physical data file.</p><p>Thanks </p><div><br /></div>dbatutorial.comhttp://www.blogger.com/profile/13969648514293009119noreply@blogger.com0tag:blogger.com,1999:blog-7125033335107872703.post-74497363842651737692021-02-17T14:32:00.007+06:002021-03-03T15:02:28.026+06:00How oracle select statement work internally<p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBesXnRv1n_T8GIZvGzcZlpI7VQ107OR4fjypCpgfonMopzrJg68MQztxoMd1zQhyphenhyphennnFhBmtD6m26m3Vc7-eOpJewL7XyVCGtetYp8VhbxJnlv-PiaSVwxKoDDkYlx2aREFFTZ2MFJETU/s593/select.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="365" data-original-width="593" height="394" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBesXnRv1n_T8GIZvGzcZlpI7VQ107OR4fjypCpgfonMopzrJg68MQztxoMd1zQhyphenhyphennnFhBmtD6m26m3Vc7-eOpJewL7XyVCGtetYp8VhbxJnlv-PiaSVwxKoDDkYlx2aREFFTZ2MFJETU/w640-h394/select.JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><p>In this article we are going to clarify how select statement work in oracle database. Here, we will discuss about oracle select statement internal mechanism along with example.</p><p>When oracle database receives sql statement from client oracle database perform some pre-tasks before run the sql statement which steps are given below.</p><p><b>Step 1:</b> When oracle receive sql statement first of all oracle server process check the query syntax whether sql statement is valid or not.</p><p>For example,</p><p>Select * employees; </p><p>ORA-00923: FROM keyword not found where expected</p><p>above query generate an error message because <b>FROM</b> keyword is missing and this types of check are called syntax check. In this stage database validate the syntax of the sql statement whether is valid or not.</p><p>select * from employees; </p><p>Above statement syntax check is valid</p><p><b>Step 2:</b> This step database validates the semantic of the sql statement whether the statement is meaningful or not. </p><p>For example,</p><p>Select * from test;</p><p>ORA-00942: table or view does not exist</p><p>It means test table doesn't exist this check is called semantic check. In semantic check whether the object or column of the sql statement is exist or not. Server process perform this check in the data dictionary cache of shared pool. Server process will check the definition of the object.</p><p><b>Step 3:</b> If the sql statement pass the syntax and semantic than server process will go the library cache. In library cache server process will search from the mru (most recently used) end to the lru (least recently used) end for a match for the sql statement. It does this by using a hash algorithm that returns a hash value. If the hash value of the query we have written matches with that of the query in library cache, then server process need not generate an execution plan (this is called soft parsing) but if no match is found then server process has to proceed with the generation of execution plan (this is called hard parsing).</p><p><b>Step 4 (Soft Parse): </b>If the submitted sql statement hash value match of the query in library cache, then oracle database reuses the existing code and execution plan this is called soft parsing. </p><p><b>Step 4 (Hard Parse): </b>If the submitted sql statement hash value don't match then server process generate execution plan for the sql statement and this process is called hard parsing. In this stage database optimizer generate multiple execution plans for this sql statement during parsing. Server process will take the best and cost effective execution plan of the query and go to the library cache. In library cache will keep the execution plan along with the sql statement for further reuse. </p><p><b>Step 5:</b> After completing the sql statement parsing process the sql statement execution will began. Server process will go to database buffer cache and whether required data is already available in cache or not in cache. If query data find in cache it will returned to the client otherwise it brings the data from the database files.</p><p><br /></p><p><b>Done! </b></p><div><br /></div>dbatutorial.comhttp://www.blogger.com/profile/13969648514293009119noreply@blogger.com1tag:blogger.com,1999:blog-7125033335107872703.post-40924410929278574472021-02-08T14:21:00.008+06:002021-02-09T22:20:45.464+06:00How to Take Data Pump Backup Using Network Link<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvgQjCAEruFct4v4qgcZneYtYueO1cw8g3FDctOdVB4Hwbn9PaeLelzSGFoFCE1AMFiob5m_EBe3TfmQ8L73GHEBSGxxIPkTFNfYQPcIFq5lThDCiSt4UnI8cu1ur0iE-cTCpmzXkUqI4/s1280/dpbackup.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="500" data-original-width="1280" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvgQjCAEruFct4v4qgcZneYtYueO1cw8g3FDctOdVB4Hwbn9PaeLelzSGFoFCE1AMFiob5m_EBe3TfmQ8L73GHEBSGxxIPkTFNfYQPcIFq5lThDCiSt4UnI8cu1ur0iE-cTCpmzXkUqI4/w640-h250/dpbackup.jpg" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><p>In this article we have a discussion how to take oracle database backup using data pump through network link. Oracle Data Pump technology enables very high-speed movement of data and metadata from one database to another. Oracle Data Pump is available only on Oracle Database 10g release 1 (10.1) and later. </p><p>Oracle data pump export support a network mode in which job's is remote oracle instance. Here we are going to show data pump export through network link where source and destination are different server. </p><p>Let's source database server IP address (192.168.105.3) and destination server IP address (192.168.105.4)</p><p># Destination server (192.168.105.4) activities</p><p>==================================</p><p>1. Create user and grant full export permission</p><p>create user dpback identified by dpback;</p><p>grant create session,connect,resource to dpback;</p><p>grant EXP_FULL_DATABASE to dpback;</p><p>grant dba to dpback;</p><p>2. Create public link in destination server using source database user </p><p>create public database link source connect to dpback identified by dpback using 192.168.105.3:1521/TESTDB';</p><p>3. Create physical backup directory and grant permission</p><p>create or replace directory db_rback as '/u01/backup';</p><p>grant read,write on directory db_rback to dpback;</p><div><div># Source server (192.168.105.3) Activities</div><div>===================================</div><div>1. Create a backup user and grant full export permission to user</div><div>create user dpback identified by dpback;</div><div>grant create session,connect,resource to dpback;</div><div>grant EXP_FULL_DATABASE to dpback;</div><div><br /></div><div># Full database backup export script run in destination server (192.168.105.4)</div><div>expdp dpback/dpback full=y network_link=SOURCE directory=db_rback dumpfile=Fulldb_Export_08022021.dmp logfile= Fulldb_Export_08022021.log</div><div><br /></div><div>Note: Here expdb command user destination server user and password</div><div># For Table export following script run in destination server (192.168.105.4)</div><div>expdp dpback/dpback tables=TBTEST network_link=SOURCE directory=db_rback dumpfile=TBTEST_Export_08022021.dmp logfile= TBTEST_Export_08022021.log</div><div><br /></div><div># Export schema script as follow</div><div>expdp dpback/dpback SCHEMAS=TESTSCHEMA network_link=SOURCE directory=db_rback dumpfile=TEST_Schema_Export_08022021.dmp logfile= TEST_Schema_Export_08022021.log</div></div><div class="separator" style="clear: both; text-align: center;"><br /></div><b>Done!</b>dbatutorial.comhttp://www.blogger.com/profile/13969648514293009119noreply@blogger.com0tag:blogger.com,1999:blog-7125033335107872703.post-63717132361917580032021-01-25T16:51:00.004+06:002021-01-25T17:29:26.724+06:00Apply Latest Release Update (January-2021) Patch on Oracle Database 19c Step by Step Tutorial<p> In this article we have a discussion about how to apply latest Release Update (RU) patch on oracle database 19c. Here, we are going to show the latest (January-2021) Release update (RU) patch apply steps. </p><p>Patch installation steps divide into four section</p><p><b>1.<span style="white-space: pre;"> </span>Pre-installation </b></p><p><b>2.<span style="white-space: pre;"> </span>Installation</b></p><p><b>3.<span style="white-space: pre;"> </span>Post Installation</b></p><p><b>4.<span style="white-space: pre;"> </span>Deinstallation</b></p><p><b><br /></b></p><p><b><span style="font-size: medium;">1. Pre-installation </span></b></p><p>Before apply patch highly recommended to take backup oracle home.</p><p>Take oracle home backup as following </p><p><b># cd /u01/oracle/product/19.0.0</b> (oracle home location)</p><p><b># tar -pcvf /backup/oracle_home_bkup_210120.tar db_1 </b>(db_1 is the home directory)</p><p>Before apply RU patch check carefully opatch utility version 12.2.0.1.23 or later to apply the patch. If opatch version is lower than recommended version, then upgrade the opatch utility. Latest opatch utility version is available in oracle support we download the latest opatch utility selecting the 12.2.0.1.0 release and upgrade the opatch utility. </p><p><br /></p><p>Check opatch version using following command</p><p><b># cd $ORACLE_HOME/Opatch</b></p><p><b># ./opatch version</b></p><p>Opatch utility version upgradation steps are as follow</p><p>a.<span style="white-space: pre;"> </span>Take backup opatch directory using following steps</p><p>Go to the oracle home and take backup</p><p><b># cd $ORACLE_HOME</b></p><p><b># tar -pcvf Opatch_bkp.tar Opatch</b> (backup the current opatch directory)</p><p>b.<span style="white-space: pre;"> </span>Download latest opatch utility from oracle support</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgreAlozscmAyW7L1VAAs_qBrjyYOInW-xJFOxLie5LSrsDeXIViditwTxKW3OVPpDFOazu9A4bNy3NhcEpoqvs6d_ezRNNXCrDfY5gAFjHbmXh7_gsozvi9I9yWWOWXca9h3kTTUKnjeg/s760/1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="409" data-original-width="760" height="344" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgreAlozscmAyW7L1VAAs_qBrjyYOInW-xJFOxLie5LSrsDeXIViditwTxKW3OVPpDFOazu9A4bNy3NhcEpoqvs6d_ezRNNXCrDfY5gAFjHbmXh7_gsozvi9I9yWWOWXca9h3kTTUKnjeg/w640-h344/1.png" width="640" /></a></div><p></p><p>c.<span style="white-space: pre;"> </span>Downloaded latest opatch utility upload into the server in any directory of server</p><p>unzip the latest opatch utility into the Oracle Home directory</p><p><b># unzip p6880880_122010_Linux-x86-64.zip -d $ORACLE_HOME</b></p><p>d.<span style="white-space: pre;"> </span>After completing unzip check again opatch version using following command</p><p><b># ./opatch version</b></p><p> Output: OPatch Version: 12.2.0.1.23</p><p>Now check the last apply patch list using follow command</p><p><b>./opatch lsinventory</b></p><p>Check oracle database version using below query</p><p><b>Sql> select banner from v$version;</b></p><p><br /></p><p><b><span style="font-size: medium;">2. Patch Installation </span></b></p><p>Below release update patch apply steps for single instance database environment</p><p><b>Step 1: </b>download the latest Release Update patch set from http://support.oracle.com/ and unzip patch in same server which database server we want to apply patch </p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisNQ-aFKLhgdr5ZxkJ91VYt_llOvwqozNudfNm48x7C3tPr4oy-qVI_eeg2M_54XnNqHBACkmJoQtgJpBhb59tcY856VAzwChNy_5IbI5UdMAvkgYX6b1yPvSXz0t3dAlELEmE-uR23S4/s734/2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="192" data-original-width="734" height="168" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisNQ-aFKLhgdr5ZxkJ91VYt_llOvwqozNudfNm48x7C3tPr4oy-qVI_eeg2M_54XnNqHBACkmJoQtgJpBhb59tcY856VAzwChNy_5IbI5UdMAvkgYX6b1yPvSXz0t3dAlELEmE-uR23S4/w640-h168/2.png" width="640" /></a></div><p></p><p><b>Step 2:</b> Shutdown database and listener </p><p>Sqlplus / as sysdba</p><p><b>sql> shutdown immediate</b></p><p>Stop Listener:</p><p><b># lsnrctl stop</b> -- stop listener</p><p>check listener as follow</p><p><b># lsnrctl status</b></p><p><b>Step 3:</b> Apply opatch</p><p>Upload the patch file into server any directory and unzip the patch file</p><p>Give the proper permission of patch unzip directory and set the oracle home</p><p>we upload the patch file into /backup/patch directory and unzip the patch using following command</p><p><b># unzip p32218454_190000_Linux-x86-64.zip</b> it will create a new directory and unzipped patch location is</p><p><b># /backup/patch/32218454</b> (patch unzip location)</p><p>Patch location ownership and permission provided using below command</p><p><b># chown -R oracle:oinstall /backup/patch/32218454</b></p><p><b># chmod -R 775 /backup/patch/32218454</b></p><p>Now go to opatch location and apply patch</p><p><b># cd $ORACLE_HOME/Opatch</b></p><p><b><span style="color: red;"># ./opatch apply /backup/patch/32218454</span></b></p><p>In patch apply stage will ask for two input value and we will insert y as input. If all goes okay patch apply will be completed with OPatch succeeded message.</p><p>Output:</p><p><b>Do you want to proceed? [y|n] y</b></p><p>User Responded with: Y</p><p><b>Is the local system ready for patching? [y|n] Y</b></p><p>Check apply patch using following command</p><p>Now we run the following command to check whether patch is applied or not.</p><p><b># cd $ORACLE_HOME/Opatch</b></p><p><b># ./opatch lsinventory</b></p><p><br /></p><p>## Using below query we can check last applied patch number and patch apply date</p><p><b>SQL> select PATCH_ID,to_char(ACTION_TIME,'DD-MON-YY'), action from sys.dba_registry_sqlpatch;</b></p><p><br /></p><p><b><span style="font-size: medium;">3. Patch Post-Installation Step</span></b></p><p>After successfully apply release update patch we start the oracle database and listener using following command. </p><p>Startup the database and listener using below command</p><p><b>Sqlplus / as sysdba</b></p><p><b>Sql> startup</b></p><p>Startup listener</p><p><b>lsnrctl start</b></p><p>Now run the datapatch which is the patching tool to complete the post-patch SQL actions for RDBMS patches</p><p>Go to the location $ORACLE_HOME/OPatch</p><p><b><span style="color: red;">./datapatch -verbose</span></b></p><p>Finally, compile the invalid object running the script utlrp.sql </p><p>cd $ORACLE_HOME/rdbms/admin</p><p>sql> sqlplus / as sysdba</p><p><b><span style="color: red;">@utlrp.sql</span></b></p><p><b><span style="color: red;">Latest release update patch apply is completed!</span></b></p><p>Now we will see the patch deinstallation steps as follow</p><p><b>4. Patch Deinstall Steps </b></p><p>Below portion we will focus on how to deinstall applied patch. </p><p>Patch deinstall steps for single database environment is given below</p><p>Shutdown the database and listener</p><p>Sqlplus / as sysdba</p><p><b>Sql> shutdown immediate</b></p><p><b>Lsnrctl stop</b></p><p>Go to the opatch directory (<b>cd $ORACLE_HOME/OPatch</b>)</p><p><b>Opatch.bat rollback -id 32218454</b> (patch number)</p><p><br /></p><p><b>5. Patch Post Deinstallation steps</b></p><p>Patch Post-Deinstallation Instructions for a Single Instance Database Environment</p><p>Startup the database and listener</p><p>Sqlplus / as sysdba</p><p>Sql> startup</p><p>Lsnrctl start</p><p>Go to the opatch directory (<b>cd $ORACLE_HOME/OPatch</b>)</p><p><b>datapatch -verbose</b></p><div>Done!</div>dbatutorial.comhttp://www.blogger.com/profile/13969648514293009119noreply@blogger.com0tag:blogger.com,1999:blog-7125033335107872703.post-67197382949914467282020-12-28T15:44:00.008+06:002023-01-14T17:33:30.414+06:00Oracle Grid Infrastructure 12c Standalone Installation Step by Step<p> In this article, we have a discussion of the configuration steps for oracle 12c grid infrastructure. Grid installation on the standalone database server is also known as Oracle Restart. This is required if you wish you use the ASM file system with the Oracle restart feature. Oracle Restart Means, During any accidental Hardware or software failure, it will start the database components like database instance, listener service, and ASM instance automatically. Here there won’t be any OCR or VOTING disk. </p><p><br /></p><p>Oracle 12c grid infrastructure minimum RAM requirements</p><p>====================================</p><p>Minimum RAM:8 GB </p><p>Swap Space: equal to RAM</p><p>===================================</p><p>The below steps are going to show as follow</p><p>1. Adding Disk in Vmware</p><p>2. Partition the disks</p><p>3. Prerequisite For Grid Installation</p><p>4. Grid Software installtion</p><p>===================================</p><p><b>Step 1. Adding Disk group in Vmware</b></p><p>===================================</p><p>Disk adding in Vmware steps are given below.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihYM0RfY5P0U6Z6_m8yTDpdBwZMqDT8TXFBNtcLuETcuvyd6sSyb_-hZFlazRrNuqHJUU7v3CysUmxewQ8q932qDVuRxRbaFULI03CABaS-6JMrj7aaYI0CHM_dIZsxSGCNc7hbjLgpQg/s700/1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="614" data-original-width="700" height="466" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihYM0RfY5P0U6Z6_m8yTDpdBwZMqDT8TXFBNtcLuETcuvyd6sSyb_-hZFlazRrNuqHJUU7v3CysUmxewQ8q932qDVuRxRbaFULI03CABaS-6JMrj7aaYI0CHM_dIZsxSGCNc7hbjLgpQg/w640-h466/1.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioqVLkKuglItvxD6yRbP5WC58NbG08V4fIoeHE3jCGO7hHtT8MgJoawrWGPyAuhALDvoHWL314-ERaYZj0XkVCtxjNt_rxzDp5rDI92C1FcrAAnUgVgn7mozoKRLZzeE7lEaTFHWS5eZw/s428/2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="373" data-original-width="428" height="454" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioqVLkKuglItvxD6yRbP5WC58NbG08V4fIoeHE3jCGO7hHtT8MgJoawrWGPyAuhALDvoHWL314-ERaYZj0XkVCtxjNt_rxzDp5rDI92C1FcrAAnUgVgn7mozoKRLZzeE7lEaTFHWS5eZw/w640-h454/2.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwXL0R-sxoHkzF7GrZkWslaVB7S4rw_KWmF22-gDPeSnSK-T3l_hxJD5XU_zv8a4L442PuKRspVVTtdbFwG7tjpWQfcUoFDGw_P2zSZ6ZntCg5q-j238l9iFGnabtNqoqf-1m9rIwJeV4/s433/3.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="369" data-original-width="433" height="495" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwXL0R-sxoHkzF7GrZkWslaVB7S4rw_KWmF22-gDPeSnSK-T3l_hxJD5XU_zv8a4L442PuKRspVVTtdbFwG7tjpWQfcUoFDGw_P2zSZ6ZntCg5q-j238l9iFGnabtNqoqf-1m9rIwJeV4/w640-h495/3.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVAWE6d8bBMFBPww1r7KOHX6lpQK0_1RiiG6GGch6AGWxiRXEybppaeNOr9_fX_cIwb4einMUx6UKVbe1JTBB2ryTUoqIyOLanvYI08fpFhQrT-tIsjkv1uAzxvMkcazcNrXr3BMiLtC4/s433/4.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="370" data-original-width="433" height="496" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVAWE6d8bBMFBPww1r7KOHX6lpQK0_1RiiG6GGch6AGWxiRXEybppaeNOr9_fX_cIwb4einMUx6UKVbe1JTBB2ryTUoqIyOLanvYI08fpFhQrT-tIsjkv1uAzxvMkcazcNrXr3BMiLtC4/w640-h496/4.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqf36Q4wWnrQu8XcWpoBrJ-VBhzdeJbGf17ciaugs1-81bsI_RX_00JRNtp7uC8APKbWMxVZf7y04ib6tvZdXhxb4wkq6uW94ZTzSFf2eWSH6Z0gw-CimnnHhyphenhyphen9H-y6uEXB58ucIcU4QU/s434/5.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="383" data-original-width="434" height="491" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqf36Q4wWnrQu8XcWpoBrJ-VBhzdeJbGf17ciaugs1-81bsI_RX_00JRNtp7uC8APKbWMxVZf7y04ib6tvZdXhxb4wkq6uW94ZTzSFf2eWSH6Z0gw-CimnnHhyphenhyphen9H-y6uEXB58ucIcU4QU/w640-h491/5.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnOZongNE7SzUWbe0YhpWdm4zPFn7v_c4Ku0tvXGHMdr7iThBB2ECd0RqrYVdtrQUnR9-VIki04wRDtL5lZ8mP_RdICZI4CvYydsKieSPnkI0_e3YIFfxa3_XScKjmZjYBMi54RoLt6JM/s436/6.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="377" data-original-width="436" height="494" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnOZongNE7SzUWbe0YhpWdm4zPFn7v_c4Ku0tvXGHMdr7iThBB2ECd0RqrYVdtrQUnR9-VIki04wRDtL5lZ8mP_RdICZI4CvYydsKieSPnkI0_e3YIFfxa3_XScKjmZjYBMi54RoLt6JM/w640-h494/6.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG5S5vEsIiieyxApGWbgtBCtF_DBZnDQbg5U5CDyz1lN5Zocc_pVcPe_Yp4Vq50e2egpICauhY1Va8Rob4gEwMiYuHzoc1cZIFnynby1cKJewsmBek4hyphenhyphenS4GOvxwwySLjpAuXL56uuYUo/s688/7.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="614" data-original-width="688" height="508" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG5S5vEsIiieyxApGWbgtBCtF_DBZnDQbg5U5CDyz1lN5Zocc_pVcPe_Yp4Vq50e2egpICauhY1Va8Rob4gEwMiYuHzoc1cZIFnynby1cKJewsmBek4hyphenhyphenS4GOvxwwySLjpAuXL56uuYUo/w640-h508/7.jpg" width="640" /></a></div><br /><p>Here, we provide the steps for adding hard disk and following process we can add more hard disk as our requirement.</p><p><br /></p><p>===============================</p><p><b>Step 2: Partition the disk</b></p><p>===============================</p><p># Check adding disk using following OS command</p><p><b> fdisk -l</b></p><p># Disk add in partition table using following command (highlighted in red are the inputs during configuration)</p><p><b><span style="color: red;">[root@oracleasm ~]# fdisk /dev/sdb (/dev/sdb -- newly added disk name)</span></b></p><p>Welcome to fdisk (util-linux 2.23.2).</p><p>Changes will remain in memory only, until you decide to write them.</p><p>Be careful before using the write command.</p><p>Device does not contain a recognized partition table</p><p>Building a new DOS disklabel with disk identifier 0xfcfea6bd.</p><p><b><span style="color: red;">Command (m for help): n</span></b></p><p>Partition type:</p><p> p primary (0 primary, 0 extended, 4 free)</p><p> e extended</p><p><b><span style="color: red;">Select (default p): p</span></b></p><p><b><span style="color: red;">Partition number (1-4, default 1): 1</span></b></p><p>First sector (2048-10485759, default 2048):</p><p>Using default value 2048</p><p>Last sector, +sectors or +size{K,M,G} (2048-10485759, default 10485759):</p><p>Using default value 10485759</p><p>Partition 1 of type Linux and of size 5 GiB is set</p><p><b><span style="color: red;">Command (m for help): w</span></b></p><p>The partition table has been altered!</p><p>Calling ioctl() to re-read partition table.</p><p>Syncing disks.</p><p><br /></p><p>Note: following the same process we add /dev/sbc and /dev/sbd disk</p><p><br /></p><p>=======================================</p><p><b>Step 3. Prerequisite For Grid Installation</b></p><p>=======================================</p><p># <b>Edit /etc/sysctl.conf add following entries to set kernel parameters</b></p><p>fs.aio-max-nr = 1048576</p><p>fs.file-max = 6815744</p><p>kernel.shmall = 2097152</p><p>kernel.shmmax = 4294967295</p><p>kernel.shmmni = 4096</p><p>kernel.sem = 250 32000 100 128</p><p>net.ipv4.ip_local_port_range = 9000 65500</p><p>net.core.rmem_default = 262144</p><p>net.core.rmem_max = 4194304</p><p>net.core.wmem_default = 262144</p><p>net.core.wmem_max = 1048576</p><p>net.ipv4.ip_local_port_range = 9000 65500</p><p><br /></p><p># <b>/sbin/sysctl -p</b></p><p><br /></p><p># <b>adding below data in the /etc/security/limits.d file</b></p><p>oracle soft nofile 1024</p><p>oracle hard nofile 65536</p><p>oracle soft nproc 16384</p><p>oracle hard nproc 16384</p><p>oracle soft stack 10240</p><p>oracle hard stack 32768</p><p>oracle hard memlock 134217728</p><p>oracle soft memlock 134217728</p><p><br /></p><p># <b>Required packages are given below </b></p><p># <b>OL6 and OL7 (RHEL6 and RHEL7)</b></p><p>yum install binutils -y</p><p>yum install compat-libcap1 -y</p><p>yum install compat-libstdc++-33 -y</p><p>yum install compat-libstdc++-33.i686 -y</p><p>yum install glibc -y</p><p>yum install glibc.i686 -y</p><p>yum install glibc-devel -y</p><p>yum install glibc-devel.i686 -y</p><p>yum install ksh -y</p><p>yum install libaio -y</p><p>yum install libaio.i686 -y</p><p>yum install libaio-devel -y</p><p>yum install libaio-devel.i686 -y</p><p>yum install libX11 -y</p><p>yum install libX11.i686 -y</p><p>yum install libXau -y</p><p>yum install libXau.i686 -y</p><p>yum install libXi -y</p><p>yum install libXi.i686 -y</p><p>yum install libXtst -y</p><p>yum install libXtst.i686 -y</p><p>yum install libgcc -y</p><p>yum install libgcc.i686 -y</p><p>yum install libstdc++ -y</p><p>yum install libstdc++.i686 -y</p><p>yum install libstdc++-devel -y</p><p>yum install libstdc++-devel.i686 -y</p><p>yum install libxcb -y</p><p>yum install libxcb.i686 -y</p><p>yum install make -y</p><p>yum install nfs-utils -y</p><p>yum install net-tools -y</p><p>yum install smartmontools -y</p><p>yum install sysstat -y</p><p>yum install unixODBC -y</p><p>yum install unixODBC-devel -y</p><p><br /></p><p># <b>Package for oracleasm</b></p><p><b>yum install oracleasm-support</b></p><p><br /></p><p>## <b>Add user and group for grid installation</b></p><p>[root@oracleasm ~]# groupadd -g 54325 asmdba</p><p>[root@oracleasm ~]# groupadd -g 54328 asmadmin</p><p>[root@oracleasm ~]# groupadd -g 54329 asmoper</p><p>[root@oracleasm ~]# groupadd -g 54330 install</p><p><br /></p><p>## <b>Add user grid for grid installation</b></p><p>[root@oracleasm ~]# useradd -u 54322 -g oinstall -G asmdba,asmadmin,asmoper grid</p><p><br /></p><p>[root@oracleasm ~]# <b>passwd grid</b></p><p><br /></p><p>## <b>Configure oracleasm (highlighted in red are the inputs during configuration)</b></p><p>[root@oracleasm ~]# oracleasm configure -i</p><p>Configuring the Oracle ASM library driver.</p><p>This will configure the on-boot properties of the Oracle ASM library</p><p>driver. The following questions will determine whether the driver is</p><p>loaded on boot and what permissions it will have. The current values</p><p>will be shown in brackets ('[]'). Hitting <ENTER> without typing an</p><p>answer will keep that current value. Ctrl-C will abort.</p><p><br /></p><p><b><span style="color: red;">Default user to own the driver interface []: grid</span></b></p><p><b><span style="color: red;">Default group to own the driver interface []: asmadmin</span></b></p><p><b><span style="color: red;">Start Oracle ASM library driver on boot (y/n) [n]: y</span></b></p><p><b><span style="color: red;">Scan for Oracle ASM disks on boot (y/n) [y]: y</span></b></p><p>Writing Oracle ASM library driver configuration: done</p><p><br /></p><p>## <b>Check configuration</b></p><p>[root@oracleasm ~]# <b><span style="color: red;">/usr/sbin/oracleasm configure</span></b></p><p>ORACLEASM_ENABLED=true</p><p>ORACLEASM_UID=grid</p><p>ORACLEASM_GID=asmadmin</p><p>ORACLEASM_SCANBOOT=true</p><p>ORACLEASM_SCANORDER=""</p><p>ORACLEASM_SCANEXCLUDE=""</p><p>ORACLEASM_SCAN_DIRECTORIES=""</p><p>ORACLEASM_USE_LOGICAL_BLOCK_SIZE="false"</p><p><br /></p><p>## <b>Create directory and give permission for grid</b></p><p>[root@oracleasm ~]# mkdir -p /u01/app/12.2.0/grid</p><p>[root@oracleasm ~]# mkdir -p /u01/app/grid</p><p>[root@oracleasm ~]# chown -R grid:oinstall /u01/app/12.2.0/</p><p>[root@oracleasm ~]# chown -R grid:asmadmin /u01/app/12.2.0/</p><p>[root@oracleasm ~]# chmod -R 775 /u01/app/12.2.0/</p><p><br /></p><p><b>## Bash profile</b></p><p>export ORACLE_SID=+ASM1 </p><p>export ORACLE_BASE=/u01/app/grid</p><p>export ORACLE_HOME=/u01/app/11.2.0.4/grid</p><p>export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin:/usr/local/bin</p><p>export TEMP=/tmp</p><p>export TMP=/tmp</p><p>export TMPDIR=/tmp</p><p><br /></p><p><b>## Run the below command</b></p><p>/usr/sbin/oracleasm init</p><p><br /></p><p># <b>Create disk using following command</b></p><p><b><span style="color: red;">oracleasm createdisk DISK1 /dev/sdb1</span></b></p><p><b><span style="color: red;">oracleasm createdisk DISK2 /dev/sdc1</span></b></p><p><b><span style="color: red;">oracleasm createdisk DISK3 /dev/sdd1</span></b></p><p><br /></p><p># <b>Check the created disks</b></p><p>cd /dev/oracleasm/disks</p><p>ls -lrt</p><p><br /></p><p>=============================</p><p><b>Step 4. Grid Software installtion</b></p><p>=============================</p><p>Download the grid software from oracle site then upload the software into the server where we want to install grid. Unzip the software into grid_home using following command</p><p><br /></p><p>unzip grid_software -d GRID_HOME </p><p>Exmple: <span style="color: red;"><b>unzip linuxx64_12201_grid_home.zip -d /u01/app/12.2.0/grid</b></span></p><p>Go to the <b><span style="color: red;">cd /u01/app/12.2.0/grid</span></b> (GRID_HOME -- /u01/app/12.2.0/grid)</p><p><b><span style="color: red;">./gridSetup.sh</span></b></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMj8jLWEPA_5OJ7QtapZIzEKZIjejsVR_HEuQXl4BTIzQ-fQrT93MOVWiigG3gY3naXq7F7csvioTebiO-u17dhL9RoQYe8hfER77uGvcUA_VPj8pJ3GDMksGULNY-AX3DAKbWVeW5A9c/s803/1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="634" data-original-width="803" height="479" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMj8jLWEPA_5OJ7QtapZIzEKZIjejsVR_HEuQXl4BTIzQ-fQrT93MOVWiigG3gY3naXq7F7csvioTebiO-u17dhL9RoQYe8hfER77uGvcUA_VPj8pJ3GDMksGULNY-AX3DAKbWVeW5A9c/w640-h479/1.jpg" width="640" /></a></div><div class="separator" style="clear: both; text-align: left;">Click on <b>Change Discovery Path </b>and add the /dev/oracleasm/disks/* after that click on OK button to appear the disks on the select disks screen.</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBFhruzpc1qbE0qFtgCsuCUNwiKJL8LruT9nzXU1584Dm9RWO9gFPH08ankf4JXJVVr-kB5s9LKgjvcFgtKREIncf6wVFoPQQgZLaBM1mdY5JuMlK3rgvam8hRYUcFuZfZu4dLQS-RsQA/s814/2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="637" data-original-width="814" height="500" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBFhruzpc1qbE0qFtgCsuCUNwiKJL8LruT9nzXU1584Dm9RWO9gFPH08ankf4JXJVVr-kB5s9LKgjvcFgtKREIncf6wVFoPQQgZLaBM1mdY5JuMlK3rgvam8hRYUcFuZfZu4dLQS-RsQA/w640-h500/2.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFPbTbsuocbiUxfpMkM4px0jbf4q75QtH54fRmpotwxv_q3B7tY_exGuHz5AcztsM4rpmExV0-LV5BqI7jpba_X6nBr_rtJVqIYgB6IBOdqH44STBHSX2vdQbX2ydX8yjg9W4vHnjL51o/s797/3.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="631" data-original-width="797" height="506" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFPbTbsuocbiUxfpMkM4px0jbf4q75QtH54fRmpotwxv_q3B7tY_exGuHz5AcztsM4rpmExV0-LV5BqI7jpba_X6nBr_rtJVqIYgB6IBOdqH44STBHSX2vdQbX2ydX8yjg9W4vHnjL51o/w640-h506/3.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjWgIXoAVHpTw0BnbQmIfSpN9GK4GiOPzyGZrx6j3L2AqfvwqaQ4fVafHRRGXnRGaYwelhfdUJYDlGnb3dh4-KcK-CZiTg1XNLT725fmN5DDBWGsMk2aJokv2aG-To-5qGVtQ3aEyBrQc/s804/4.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="635" data-original-width="804" height="506" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjWgIXoAVHpTw0BnbQmIfSpN9GK4GiOPzyGZrx6j3L2AqfvwqaQ4fVafHRRGXnRGaYwelhfdUJYDlGnb3dh4-KcK-CZiTg1XNLT725fmN5DDBWGsMk2aJokv2aG-To-5qGVtQ3aEyBrQc/w640-h506/4.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZLnaQ62ooSHtXIfwZ25xHo1H46q_8LOtCuWRqM9JdZfhms3cnUu-B4szC9sJ47jHlnP6KBUye_hY9qoCoSG3bODa96T7oo_A0JzfaCf6TmdnBcevTu7QdcqCKaXCWBlQe4b016J0h890/s803/5.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="635" data-original-width="803" height="294" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZLnaQ62ooSHtXIfwZ25xHo1H46q_8LOtCuWRqM9JdZfhms3cnUu-B4szC9sJ47jHlnP6KBUye_hY9qoCoSG3bODa96T7oo_A0JzfaCf6TmdnBcevTu7QdcqCKaXCWBlQe4b016J0h890/w640-h294/5.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFz1OBYmVtCDouFNUonmJxMyIEAx5yPqjR1pFI7LxjQ9p_9edGmQZdXRpw7PNdYDmogTM99LXGFmKZ6zhwPU74oTTwrG3K6oySvc0TAhEMVyA5qw4r6I0JYORzllCHLTmYVpyH9Ada1ME/s798/6.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="633" data-original-width="798" height="464" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFz1OBYmVtCDouFNUonmJxMyIEAx5yPqjR1pFI7LxjQ9p_9edGmQZdXRpw7PNdYDmogTM99LXGFmKZ6zhwPU74oTTwrG3K6oySvc0TAhEMVyA5qw4r6I0JYORzllCHLTmYVpyH9Ada1ME/w640-h464/6.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPTNmIuG-WHclU_ohoLw5MV9FNc8tSpBC4LlZYa53p6O8odYPzxZOXbdx_ZfWVbt40K4G4upQeLW2uaL-vqqpI8sO1N-QqYcK-vA-oRg7Jr4eLrxtZ4u-7Y8ndkAKrAvjsLOSwns5-U7w/s804/7.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="630" data-original-width="804" height="463" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPTNmIuG-WHclU_ohoLw5MV9FNc8tSpBC4LlZYa53p6O8odYPzxZOXbdx_ZfWVbt40K4G4upQeLW2uaL-vqqpI8sO1N-QqYcK-vA-oRg7Jr4eLrxtZ4u-7Y8ndkAKrAvjsLOSwns5-U7w/w640-h463/7.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwZtsrr9BzWLkGmWLc8WgjhYtX9w5BnT32kfkGE1OfXHQcke1tiz2pMv26rvbmJRi9mj-Dg_cHyJgZivjL6ovSsSDpiYgxpnUTVvvm52AQrNZq-yNJ9WCy9bhyphenhyphen3Uc6hkHfZapF0mP5kCs/s802/8.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="632" data-original-width="802" height="472" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwZtsrr9BzWLkGmWLc8WgjhYtX9w5BnT32kfkGE1OfXHQcke1tiz2pMv26rvbmJRi9mj-Dg_cHyJgZivjL6ovSsSDpiYgxpnUTVvvm52AQrNZq-yNJ9WCy9bhyphenhyphen3Uc6hkHfZapF0mP5kCs/w640-h472/8.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOm7E6rgmwUOkJQeiPPtyDeatcS5dbdOJSikUPXFYUKnxS1a01tYad-MVoA6efAfXgwZuPMRuFfNcEjN9Jctxdo_sXDi0F7haFixSR5SlbkHUd7vnpDNyf8ok22izKfW5WDv_Dg42t8tI/s801/9.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="629" data-original-width="801" height="502" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOm7E6rgmwUOkJQeiPPtyDeatcS5dbdOJSikUPXFYUKnxS1a01tYad-MVoA6efAfXgwZuPMRuFfNcEjN9Jctxdo_sXDi0F7haFixSR5SlbkHUd7vnpDNyf8ok22izKfW5WDv_Dg42t8tI/w640-h502/9.jpg" width="640" /></a></div><div><br /></div>Note: Above error messages we can ignore and procced further step check on Ignore All <br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRgWYOVrGsMybfVYeNLt9KapAMgY5NQglVJaZS37WuLgcsdqUAiPQjaPhSWIdWT5uzI-PBiH5XXMwSsxzHdzC_IefXJnwnJXGnPvW972uEkkCAZKkDCKtBCBHvX48YE7mOVKKd-FOoA9c/s798/10.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="629" data-original-width="798" height="504" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRgWYOVrGsMybfVYeNLt9KapAMgY5NQglVJaZS37WuLgcsdqUAiPQjaPhSWIdWT5uzI-PBiH5XXMwSsxzHdzC_IefXJnwnJXGnPvW972uEkkCAZKkDCKtBCBHvX48YE7mOVKKd-FOoA9c/w640-h504/10.jpg" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrR6BG40baSgrfyrwGpMszEqenvjj8kPLb3WpNQ9rmG-ENo6iXHX-TOpvYnE1xwXLsepUgfxvIn3FmpeFrMYXZ8LrT7WIM9R_tL8vkQIgVTawv2YWcF5-qnAmJ0VT6F4n6iRwTwJeZXlM/s582/111.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="382" data-original-width="582" height="420" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrR6BG40baSgrfyrwGpMszEqenvjj8kPLb3WpNQ9rmG-ENo6iXHX-TOpvYnE1xwXLsepUgfxvIn3FmpeFrMYXZ8LrT7WIM9R_tL8vkQIgVTawv2YWcF5-qnAmJ0VT6F4n6iRwTwJeZXlM/w640-h420/111.JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: left;"><b>Note: both command run from root OS user.</b></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZgW4MHULGTvZxHfs9BeV-T1mAVqs9lopzVZJGP2hLxo3JBDD9bBFHS7izGsG8TyRuw4tUrEY9e3Ha7LXkjYjswo8rQ0gBrCTGoKtIJYN5VQBDpwtgQ3OunZmDKAwdfvqlo0sRq4DMFwg/s797/11.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="627" data-original-width="797" height="504" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZgW4MHULGTvZxHfs9BeV-T1mAVqs9lopzVZJGP2hLxo3JBDD9bBFHS7izGsG8TyRuw4tUrEY9e3Ha7LXkjYjswo8rQ0gBrCTGoKtIJYN5VQBDpwtgQ3OunZmDKAwdfvqlo0sRq4DMFwg/w640-h504/11.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: left;">Grid 12c installation completed successfully. Done!</div><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><p><br /></p><div><br /></div>dbatutorial.comhttp://www.blogger.com/profile/13969648514293009119noreply@blogger.com0tag:blogger.com,1999:blog-7125033335107872703.post-39004800397501588892020-12-28T10:44:00.004+06:002021-03-29T10:28:35.790+06:00Oracle Database Upgrade 12c to 19c step by step<title> Oracle Database Upgrade: Oracle Database Upgrade 12c to 19c | dbatutorial </title>
<meta content="This article discribe oracle database 12c to 19c upgrading steps. Direct upgrade to 19c supported database versions are: 11.2.0.4, 12.1.0.2, 12.2.0.1, 18c. To upgrade oracle database we take the following article." name="description"/>
<p> In this article we have disscussion the steps for upgrade the single instance database 12c to 19c. Direct upgrade to 19c supported database versions are: 11.2.0.4, 12.1.0.2, 12.2.0.1, 18c. This tutorial we are going to show oracle database upgrade 12.2.0.1 to 19c.</p><p>Oracle database upgrade steps are as follow.</p><p>Step 1: Download and install oracle 19c software only </p><p>Step 2: Run preupgrade.jar</p><p>Step 3: Before upgrade required actions</p><p>Step 4: Database upgradation required actions</p><p>Step 5: After upgrade required actions</p><p>==============================================================</p><p><b>Step 1: Download and install oracle 19c software only</b></p><p>==============================================================</p><p>Download the oracle database 19c software and upload downloaded zip file into the oracle database server.</p><p># Create Oracle Home for 19c database using following command</p><p>mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1</p><p>unzip the 19c software file in 19c oracle home using following command</p><p><b>unzip LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.0.0/dbhome_1</b></p><p>[oracle@proddb dbhome_1]$ export ORACLE_SID=/u01/app/oracle/product/19.0.0/dbhome_1</p><p>[oracle@proddb dbhome_1]$ <b><span style="color: red;">./runInstaller</span></b></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-4BQdykLZemFHCbLOX5oULbkkEKBYA6U_3ccQLtsVqZDn2J0EjYoQtYyyF3qAfA28Aw6pQg6UmFwGPtt32kWyHsCFJTFlNg_tXD8fwhWsxGsy_IOx6bh45EEVJuUTHMr70dQHekMWyCI/s797/1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="632" data-original-width="797" height="508" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-4BQdykLZemFHCbLOX5oULbkkEKBYA6U_3ccQLtsVqZDn2J0EjYoQtYyyF3qAfA28Aw6pQg6UmFwGPtt32kWyHsCFJTFlNg_tXD8fwhWsxGsy_IOx6bh45EEVJuUTHMr70dQHekMWyCI/w640-h508/1.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLoTLeDDEmFa0CzwpPiNdxM36PnOcNQmRk7wxr0y9tl6JZSrYO8dtjCnuufZ8KPCLo_UQXPTUhySUlGQhQmpcjYS2GIW6P6Ec-z7OknspaordfRErLONsTFPzirgN9raEffYkGIg75fvY/s802/2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="634" data-original-width="802" height="506" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLoTLeDDEmFa0CzwpPiNdxM36PnOcNQmRk7wxr0y9tl6JZSrYO8dtjCnuufZ8KPCLo_UQXPTUhySUlGQhQmpcjYS2GIW6P6Ec-z7OknspaordfRErLONsTFPzirgN9raEffYkGIg75fvY/w640-h506/2.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0aLL4Sy_LDeuCD8a9pJKmv9sBAQGY8-uHSFYnPkh771QLsRVAr4mQrpo9YyStNzjNriGu5FUc1PsgmxiEjZiF801NUJNJ9fSR7gQ0TUpvTkbrid-J4Iwj1E3IuQXrGShYexyderRo7_w/s805/3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="631" data-original-width="805" height="502" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0aLL4Sy_LDeuCD8a9pJKmv9sBAQGY8-uHSFYnPkh771QLsRVAr4mQrpo9YyStNzjNriGu5FUc1PsgmxiEjZiF801NUJNJ9fSR7gQ0TUpvTkbrid-J4Iwj1E3IuQXrGShYexyderRo7_w/w640-h502/3.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg65EoT2LNcp3Psw_aZ24pcMl-zmpo-sUM_IZoUULCz0w7D3iAz1keXeAf0eBWTG1aK6-0zTBlBiyK2xquY4wGGPBY4A3zLwEle78VAb9jIP-PqPdnNlug8e9c-fJEL-T6cGu_3hVJfb0I/s802/4.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="631" data-original-width="802" height="504" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg65EoT2LNcp3Psw_aZ24pcMl-zmpo-sUM_IZoUULCz0w7D3iAz1keXeAf0eBWTG1aK6-0zTBlBiyK2xquY4wGGPBY4A3zLwEle78VAb9jIP-PqPdnNlug8e9c-fJEL-T6cGu_3hVJfb0I/w640-h504/4.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMi9TQXXAUo9PBtunppdXilOgrvM0bcjMt5oXxJC9zfbahCVZH7UDQRrUQSnmpfKwp8NtU4naiaMCKra66UvTdZKIsN4hS6sWJHs7luGM5R29TXTbOBV6JqbVG64IFq5nRokhiJQS8iqQ/s799/5.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="637" data-original-width="799" height="510" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMi9TQXXAUo9PBtunppdXilOgrvM0bcjMt5oXxJC9zfbahCVZH7UDQRrUQSnmpfKwp8NtU4naiaMCKra66UvTdZKIsN4hS6sWJHs7luGM5R29TXTbOBV6JqbVG64IFq5nRokhiJQS8iqQ/w640-h510/5.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXZEumCOyLH50a5UZgmbZqEnjnjXihBgpJH7ApZ7WuFydZZG7zJH3xvlkqhM-xH4N3CsqyUUoiqQrU5Q-ZLTdCu9WQdNc7-6GY4x6_U7SXztcApyaYcBXTvCXgl7PwIgsOmZYQ5Ky5Pl4/s803/6.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="635" data-original-width="803" height="506" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXZEumCOyLH50a5UZgmbZqEnjnjXihBgpJH7ApZ7WuFydZZG7zJH3xvlkqhM-xH4N3CsqyUUoiqQrU5Q-ZLTdCu9WQdNc7-6GY4x6_U7SXztcApyaYcBXTvCXgl7PwIgsOmZYQ5Ky5Pl4/w640-h506/6.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYczWuD0SS7BxVgjmZy2PjYpcn1YxinNwx_NSd2VHujTvMIWeRomumpxz63wKjF8ltDGh8i17f0GYmQmTWmpEusCO4I-7rySxzZaULhhUvlSMZ7Gc2uLYTSxVXNKBNc1zGNuFOtYV8vUM/s805/7.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="627" data-original-width="805" height="498" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYczWuD0SS7BxVgjmZy2PjYpcn1YxinNwx_NSd2VHujTvMIWeRomumpxz63wKjF8ltDGh8i17f0GYmQmTWmpEusCO4I-7rySxzZaULhhUvlSMZ7Gc2uLYTSxVXNKBNc1zGNuFOtYV8vUM/w640-h498/7.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnBzEJtMytJm1vZdPD4ov1gecYeZmNp6lDmaf14ji5TL8Hej2M5spFKEvleCW6yBe9EV7mHwxYZz-Innl5_Pq3ivm7gWL2Sm0R6T9Lybp4rfWgkA5ENqAhuoAOITNLIfRFUv2MJT-jb0g/s800/8.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="634" data-original-width="800" height="508" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnBzEJtMytJm1vZdPD4ov1gecYeZmNp6lDmaf14ji5TL8Hej2M5spFKEvleCW6yBe9EV7mHwxYZz-Innl5_Pq3ivm7gWL2Sm0R6T9Lybp4rfWgkA5ENqAhuoAOITNLIfRFUv2MJT-jb0g/w640-h508/8.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6HrPMc7rU7ELsbCLXc7IDFFhV6ZfknFFMojKbHc1AGSvt6HliyKTZ92oglN0gSjbNpoXIFsaLLUadSYqUjJVt6JhfQEKxpApb3MuppKQ2xm3SYjv_TM95BIP7V-OFQbC8pf0-mUXE8gQ/s802/9.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="635" data-original-width="802" height="506" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6HrPMc7rU7ELsbCLXc7IDFFhV6ZfknFFMojKbHc1AGSvt6HliyKTZ92oglN0gSjbNpoXIFsaLLUadSYqUjJVt6JhfQEKxpApb3MuppKQ2xm3SYjv_TM95BIP7V-OFQbC8pf0-mUXE8gQ/w640-h506/9.png" width="640" /></a></div><br /><p><br /></p><p>Oracle 19c software only installation completed successfully.</p><p>================================</p><p><b>Step 2: Run preupgrade.jar</b></p><p>================================</p><p>Run preupgrade.jar into the 19c Oracle Home. preupgrade.jar provide pre and post upgradation recommanded steps so we should carefully go through the recommanded actions. Set original oracle home (12c) and run preupgrade.jar from 19c home</p><p><b>export ORACLE_HOME=/u01/app/oracle/product/12.0.0/dbhome_1</b></p><p><b>export ORACLE_SID=TESTDB</b></p><p># Run preupgrade.jar</p><p>[oracle@proddb ~]$<b><span style="color: red;"> /u01/app/oracle/product/19.0.0/dbhome_1/jdk/bin/java -jar /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/preupgrade.jar TERMINAL TEXT</span></b></p><p><b><u>Command Output:</u></b></p><p>Report generated by Oracle Database Pre-Upgrade Information Tool Version</p><p>19.0.0.0.0 Build: 1 on 2020-12-26T16:27:44</p><p>Upgrade-To version: 19.0.0.0.0</p><p>=======================================</p><p>Status of the database prior to upgrade</p><p>=======================================</p><p> Database Name: TESTDB</p><p> Container Name: TESTDB</p><p> Container ID: 0</p><p> Version: 12.2.0.1.0</p><p> DB Patch Level: No Patch Bundle applied</p><p> Compatible: 12.2.0</p><p> Blocksize: 8192</p><p> Platform: Linux x86 64-bit</p><p> Timezone File: 26</p><p> Database log mode: NOARCHIVELOG</p><p> Readonly: FALSE</p><p> Edition: EE</p><p> Oracle Component Upgrade Action Current Status</p><p> ---------------- -------------- --------------</p><p> Oracle Server [to be upgraded] VALID</p><p> JServer JAVA Virtual Machine [to be upgraded] VALID</p><p> Oracle XDK for Java [to be upgraded] VALID</p><p> Real Application Clusters [to be upgraded] OPTION OFF</p><p> Oracle Workspace Manager [to be upgraded] VALID</p><p> OLAP Analytic Workspace [to be upgraded] VALID</p><p> Oracle Label Security [to be upgraded] VALID</p><p> Oracle Database Vault [to be upgraded] VALID</p><p> Oracle Text [to be upgraded] VALID</p><p> Oracle XML Database [to be upgraded] VALID</p><p> Oracle Java Packages [to be upgraded] VALID</p><p> Oracle Multimedia [to be upgraded] VALID</p><p> Oracle Spatial [to be upgraded] VALID</p><p> Oracle OLAP API [to be upgraded] VALID</p><p>==============</p><p>BEFORE UPGRADE</p><p>==============</p><p> REQUIRED ACTIONS</p><p> ================</p><p> None</p><p> RECOMMENDED ACTIONS</p><p> ===================</p><p> 1. (AUTOFIXUP) Gather stale data dictionary statistics prior to database</p><p> upgrade in off-peak time using:</p><p> EXECUTE DBMS_STATS.GATHER_DICTIONARY_STATS;</p><p> Dictionary statistics do not exist or are stale (not up-to-date).</p><p> Dictionary statistics help the Oracle optimizer find efficient SQL</p><p> execution plans and are essential for proper upgrade timing. Oracle</p><p> recommends gathering dictionary statistics in the last 24 hours before</p><p> database upgrade.</p><p> For information on managing optimizer statistics, refer to the 12.2.0.1</p><p> Oracle Database SQL Tuning Guide.</p><p> INFORMATION ONLY</p><p> ================</p><p> 2. To help you keep track of your tablespace allocations, the following</p><p> AUTOEXTEND tablespaces are expected to successfully EXTEND during the</p><p> upgrade process. Min Size</p><p> Tablespace Size For Upgrade</p><p> ---------- ---------- -----------</p><p> SYSAUX 460 MB 500 MB</p><p> SYSTEM 810 MB 918 MB</p><p> TEMP 32 MB 150 MB</p><p> UNDOTBS1 70 MB 439 MB</p><p> Minimum tablespace sizes for upgrade are estimates.</p><p> 3. Check the Oracle Backup and Recovery User's Guide for information on how</p><p> to manage an RMAN recovery catalog schema.</p><p> If you are using a version of the recovery catalog schema that is older</p><p> than that required by the RMAN client version, then you must upgrade the</p><p> catalog schema.</p><p> It is good practice to have the catalog schema the same or higher version</p><p> than the RMAN client version you are using.</p><p> ORACLE GENERATED FIXUP SCRIPT</p><p> =============================</p><p> All of the issues in database TESTDB</p><p> which are identified above as BEFORE UPGRADE "(AUTOFIXUP)" can be resolved by</p><p> executing the following</p><p> <b>SQL>@/u01/app/oracle/product/12.2.0/dbhome_1/cfgtoollogs/TESTDB/preupgrade/p</b></p><p><b> reupgrade_fixups.sql</b></p><p>=============</p><p>AFTER UPGRADE</p><p>=============</p><p> REQUIRED ACTIONS</p><p> ================</p><p> None</p><p> RECOMMENDED ACTIONS</p><p> ===================</p><p> 4. Upgrade the database time zone file using the DBMS_DST package.</p><p> The database is using time zone file version 26 and the target 19 release</p><p> ships with time zone file version 32.</p><p> Oracle recommends upgrading to the desired (latest) version of the time</p><p> zone file. For more information, refer to "Upgrading the Time Zone File</p><p> and Timestamp with Time Zone Data" in the 19 Oracle Database</p><p> Globalization Support Guide.</p><p> 5. To identify directory objects with symbolic links in the path name, run</p><p> $ORACLE_HOME/rdbms/admin/utldirsymlink.sql AS SYSDBA after upgrade.</p><p> Recreate any directory objects listed, using path names that contain no</p><p> symbolic links.</p><p> Some directory object path names may currently contain symbolic links.</p><p> Starting in Release 18c, symbolic links are not allowed in directory</p><p> object path names used with BFILE data types, the UTL_FILE package, or</p><p> external tables.</p><p> 6. (AUTOFIXUP) Gather dictionary statistics after the upgrade using the</p><p> command:</p><p> EXECUTE DBMS_STATS.GATHER_DICTIONARY_STATS;</p><p> Oracle recommends gathering dictionary statistics after upgrade.</p><p> Dictionary statistics provide essential information to the Oracle</p><p> optimizer to help it find efficient SQL execution plans. After a database</p><p> upgrade, statistics need to be re-gathered as there can now be tables</p><p> that have significantly changed during the upgrade or new tables that do</p><p> not have statistics gathered yet.</p><p> 7. Gather statistics on fixed objects after the upgrade and when there is a</p><p> representative workload on the system using the command:</p><p> <b>EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;</b></p><p> This recommendation is given for all preupgrade runs.</p><p> Fixed object statistics provide essential information to the Oracle</p><p> optimizer to help it find efficient SQL execution plans. Those</p><p> statistics are specific to the Oracle Database release that generates</p><p> them, and can be stale upon database upgrade.</p><p> For information on managing optimizer statistics, refer to the 12.2.0.1</p><p> Oracle Database SQL Tuning Guide.</p><p> ORACLE GENERATED FIXUP SCRIPT</p><p> =============================</p><p> All of the issues in database TESTDB</p><p> which are identified above as AFTER UPGRADE "(AUTOFIXUP)" can be resolved by</p><p> executing the following</p><p> <b> SQL>@/u01/app/oracle/product/12.2.0/dbhome_1/cfgtoollogs/TESTDB/preupgrade/p</b></p><p><b> ostupgrade_fixups.sql</b></p><p>==================</p><p>PREUPGRADE SUMMARY</p><p>==================</p><p> <span style="font-family: inherit; font-size: medium;"> <b>/u01/app/oracle/product/12.2.0/dbhome_1/cfgtoollogs/TESTDB/preupgrade/preupgrade.log</b></span></p><p><b><span style="font-family: inherit; font-size: medium;"> /u01/app/oracle/product/12.2.0/dbhome_1/cfgtoollogs/TESTDB/preupgrade/preupgrade_fixups.sql</span></b></p><p><b><span style="font-family: inherit; font-size: medium;"> /u01/app/oracle/product/12.2.0/dbhome_1/cfgtoollogs/TESTDB/preupgrade/postupgrade_fixups.sql</span></b></p><p>Execute fixup scripts as indicated below:</p><p>Before upgrade:</p><p>Log into the database and execute the preupgrade fixups</p><p>@/u01/app/oracle/product/12.2.0/dbhome_1/cfgtoollogs/TESTDB/preupgrade/preupgrade_fixups.sql</p><p>After the upgrade:</p><p>Log into the database and execute the postupgrade fixups</p><p>@/u01/app/oracle/product/12.2.0/dbhome_1/cfgtoollogs/TESTDB/preupgrade/postupgrade_fixups.sql</p><p>Preupgrade complete: 2020-12-26T16:27:44</p><p><br /></p><p>========================================</p><p><b>Step 3: Before Upgrade Required Actions</b></p><p>========================================</p><p>All of the issues in database TESTDB which are identified above as BEFORE UPGRADE "(AUTOFIXUP)" can be resolved by executing the following</p><p>[oracle@proddb ~]$ sqlplus / as sysdba</p><p>SQL*Plus: Release 12.2.0.1.0 Production on Sat Dec 26 16:56:11 2020</p><p>Copyright (c) 1982, 2016, Oracle. All rights reserved.</p><p>Connected to:</p><p>Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production</p><p><b><span style="color: red;">SQL>@/u01/app/oracle/product/12.2.0/dbhome_1/cfgtoollogs/TESTDB/preupgrade/preupgrade_fixups.sql</span></b></p><p><b><u>Script Output:</u></b></p><p>Executing Oracle PRE-Upgrade Fixup Script</p><p>Auto-Generated by: Oracle Preupgrade Script</p><p> Version: 19.0.0.0.0 Build: 1</p><p>Generated on: 2020-12-26 16:27:38</p><p>For Source Database: TESTDB</p><p>Source Database Version: 12.2.0.1.0</p><p>For Upgrade to Version: 19.0.0.0.0</p><p>Preup Preupgrade</p><p>Action Issue Is</p><p>Number Preupgrade Check Name Remedied Further DBA Action</p><p>------ ------------------------ ---------- --------------------------------</p><p> 1. dictionary_stats YES None.</p><p> 2. tablespaces_info NO Informational only.</p><p> Further action is optional.</p><p> 3. rman_recovery_version NO Informational only.</p><p> Further action is optional.</p><p><br /></p><p>The fixup scripts have been run and resolved what they can. However,</p><p>there are still issues originally identified by the preupgrade that</p><p>have not been remedied and are still present in the database.</p><p>Depending on the severity of the specific issue, and the nature of</p><p>the issue itself, that could mean that your database is not ready</p><p>for upgrade. To resolve the outstanding issues, start by reviewing</p><p>the preupgrade_fixups.sql and searching it for the name of</p><p>the failed CHECK NAME or Preupgrade Action Number listed above.</p><p>There you will find the original corresponding diagnostic message</p><p>from the preupgrade which explains in more detail what still needs</p><p>to be done.</p><p>PL/SQL procedure successfully completed.</p><p>==========================================</p><p><b>Step 4: Database Upgrade Required Actions</b></p><p>==========================================</p><p>SQL> shutdown immediate;</p><p>Database closed.</p><p>Database dismounted.</p><p>ORACLE instance shut down.</p><p>SQL> exit</p><p><b>cd $ORACLE_HOME/network/admin for 12c database home</b></p><p>[oracle@proddb admin]$ <b><span style="color: red;">cp *.ora /u01/app/oracle/product/19.0.0/dbhome_1/network/admin/</span></b></p><p># Add this to <b><span style="color: red;">$/u01/app/oracle/product/19.0.0/dbhome_1/network/admin//sqlnet.ora</span></b></p><p># This should be temporary while you deal with old passwords.</p><p><b><span style="color: red;">SQLNET.ALLOWED_LOGON_VERSION_SERVER=11</span></b></p><p># Switch to the 19c listener.</p><p><b>[oracle@proddb ~]$ lsnrctl stop</b></p><p><b>[oracle@proddb ~]$ export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1</b></p><p><b>[oracle@proddb ~]$ export PATH=${ORACLE_HOME}/bin:$PATH</b></p><p><b>[oracle@proddb ~]$ lsnrctl start</b></p><p>LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 26-DEC-2020 17:13:28</p><p>@ Start the database using the 19c Oracle home, ready for the upgrade.</p><p>[oracle@proddb ~]$ sqlplus / as sysdba</p><p>SQL*Plus: Release 19.0.0.0.0 - Production on Sat Dec 26 17:16:46 2020</p><p>Version 19.3.0.0.0</p><p>Copyright (c) 1982, 2019, Oracle. All rights reserved.</p><p>Connected to an idle instance.</p><p><b>SQL> startup upgrade;</b></p><p>ORACLE instance started.</p><p>Total System Global Area 1543500144 bytes</p><p>Fixed Size 8896880 bytes</p><p>Variable Size 939524096 bytes</p><p>Database Buffers 587202560 bytes</p><p>Redo Buffers 7876608 bytes</p><p>Database mounted.</p><p>Database opened.</p><p># You can run the upgrade from 19c ORACLE_HOME</p><p><b><span style="color: red;">[oracle@proddb ~]$ $ORACLE_HOME/bin/dbupgrade</span></b></p><p><b><u>Script Output:</u></b></p><p>Argument list for [/u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catctl.pl]</p><p>For Oracle internal use only A = 0</p><p>Run in c = 0</p><p>Do not run in C = 0</p><p>Input Directory d = 0</p><p>Echo OFF e = 1</p><p>Simulate E = 0</p><p>Forced cleanup F = 0</p><p>Log Id i = 0</p><p>Child Process I = 0</p><p>Log Dir l = 0</p><p>Priority List Name L = 0</p><p>Upgrade Mode active M = 0</p><p>SQL Process Count n = 0</p><p>SQL PDB Process Count N = 0</p><p>Open Mode Normal o = 0</p><p>Start Phase p = 0</p><p>End Phase P = 0</p><p>Reverse Order r = 0</p><p>AutoUpgrade Resume R = 0</p><p>Script s = 0</p><p>Serial Run S = 0</p><p>RO User Tablespaces T = 0</p><p>Display Phases y = 0</p><p>Debug catcon.pm z = 0</p><p>Debug catctl.pl Z = 0</p><p>catctl.pl VERSION: [19.0.0.0.0]</p><p> STATUS: [Production]</p><p> BUILD: [RDBMS_19.3.0.0.0DBRU_LINUX.X64_190417]</p><p>/u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/orahome = [/u01/app/oracle/product/19.0.0/dbhome_1]</p><p>/u01/app/oracle/product/19.0.0/dbhome_1/bin/orabasehome = [/u01/app/oracle/product/19.0.0/dbhome_1]</p><p>catctlGetOraBaseLogDir = [/u01/app/oracle/product/19.0.0/dbhome_1]</p><p>Analyzing file /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catupgrd.sql</p><p>Log file directory = [/tmp/cfgtoollogs/upgrade20201226171944]</p><p>catcon::set_log_file_base_path: ALL catcon-related output will be written to [/tmp/cfgtoollogs/upgrade20201226171944/catupgrd_catcon_42108.lst]</p><p>catcon::set_log_file_base_path: catcon: See [/tmp/cfgtoollogs/upgrade20201226171944/catupgrd*.log] files for output generated by scripts</p><p>catcon::set_log_file_base_path: catcon: See [/tmp/cfgtoollogs/upgrade20201226171944/catupgrd_*.lst] files for spool files, if any</p><p>Number of Cpus = 4</p><p>Database Name = TESTDB</p><p>DataBase Version = 12.2.0.1.0</p><p>catcon::set_log_file_base_path: ALL catcon-related output will be written to [/u01/app/oracle/product/19.0.0/dbhome_1/cfgtoollogs/TESTDB/upgrade20201226172009/catupgrd_catcon_42108.lst]</p><p>catcon::set_log_file_base_path: catcon: See [/u01/app/oracle/product/19.0.0/dbhome_1/cfgtoollogs/TESTDB/upgrade20201226172009/catupgrd*.log] files for output generated by scripts</p><p>catcon::set_log_file_base_path: catcon: See [/u01/app/oracle/product/19.0.0/dbhome_1/cfgtoollogs/TESTDB/upgrade20201226172009/catupgrd_*.lst] files for spool files, if any</p><p>Log file directory = [/u01/app/oracle/product/19.0.0/dbhome_1/cfgtoollogs/TESTDB/upgrade20201226172009]</p><p>Parallel SQL Process Count = 4</p><p>Components in [TESTDB]</p><p> Installed [APS CATALOG CATJAVA CATPROC CONTEXT DV JAVAVM OLS ORDIM OWM SDO XDB XML XOQ]</p><p>Not Installed [APEX EM MGW ODM RAC WK]</p><p>------------------------------------------------------</p><p>Phases [0-107] Start Time:[2020_12_26 17:20:35]</p><p>------------------------------------------------------</p><p>------------------------------------------------------</p><p>Phases [0-107] End Time:[2020_12_26 18:27:37]</p><p>------------------------------------------------------</p><p>Grand Total Time: 4024s</p><p> LOG FILES: (/u01/app/oracle/product/19.0.0/dbhome_1/cfgtoollogs/TESTDB/upgrade20201226172009/catupgrd*.log)</p><p>Upgrade Summary Report Located in:</p><p>/u01/app/oracle/product/19.0.0/dbhome_1/cfgtoollogs/TESTDB/upgrade20201226172009/upg_summary.log</p><p><b>Grand Total Upgrade Time: [0d:1h:7m:4s]</b></p><p>========================================</p><p><b>Step 5: AFTER Upgrade Required Actions</b></p><p>=======================================</p><p>sql> <b>shut immediate</b></p><p><b><span style="color: red;">sql>statup upgrade</span></b></p><p>SQL> <b>SELECT * FROM v$timezone_file;</b></p><p>FILENAME VERSION CON_ID</p><p>-------------------- ---------- ----------</p><p>timezlrg_26.dat 26 0</p><p># Begin upgrade to the latest timezone version.</p><p><b><span style="color: red;">SQL> SET SERVEROUTPUT ON</span></b></p><p><b><span style="color: red;">DECLARE</span></b></p><p><b><span style="color: red;"> l_tz_version PLS_INTEGER;</span></b></p><p><b><span style="color: red;">BEGIN</span></b></p><p><b><span style="color: red;"> l_tz_version := DBMS_DST.get_latest_timezone_version;</span></b></p><p><b><span style="color: red;"> DBMS_OUTPUT.put_line('l_tz_version=' || l_tz_version);</span></b></p><p><b><span style="color: red;"> DBMS_DST.begin_upgrade(l_tz_version);</span></b></p><p><b><span style="color: red;">END;</span></b></p><p><b><span style="color: red;">/</span></b></p><p>SQL> 2 3 4 5 6 7 8 9</p><p>l_tz_version=32</p><p>An upgrade window has been successfully started.</p><p>PL/SQL procedure successfully completed.</p><p>SQL> <b>SHUTDOWN IMMEDIATE;</b></p><p><br /></p><p>SQL> <b>STARTUP;</b></p><p>ORACLE instance started.</p><p>Total System Global Area 1543500144 bytes</p><p>Fixed Size 8896880 bytes</p><p>Variable Size 1157627904 bytes</p><p>Database Buffers 369098752 bytes</p><p>Redo Buffers 7876608 bytes</p><p>Database mounted.</p><p>Database opened.</p><p><b>-- Do upgradation (Check the upgradation status)</b></p><p><b><span style="color: red;">SQL> SET SERVEROUTPUT ON</span></b></p><p><b><span style="color: red;">DECLARE</span></b></p><p><b><span style="color: red;"> l_failures PLS_INTEGER;</span></b></p><p><b><span style="color: red;">BEGIN</span></b></p><p><b><span style="color: red;"> DBMS_DST.upgrade_database(l_failures);</span></b></p><p><b><span style="color: red;"> DBMS_OUTPUT.put_line('DBMS_DST.upgrade_database : l_failures=' || l_failures);</span></b></p><p><b><span style="color: red;"> DBMS_DST.end_upgrade(l_failures);</span></b></p><p><b><span style="color: red;"> DBMS_OUTPUT.put_line('DBMS_DST.end_upgrade : l_failures=' || l_failures);</span></b></p><p><b><span style="color: red;">END;</span></b></p><p><b><span style="color: red;">/</span></b></p><p>SQL> 2 3 4 5 6 7 8 9</p><p>Table list: "GSMADMIN_INTERNAL"."AQ$_CHANGE_LOG_QUEUE_TABLE_S"</p><p>Number of failures: 0</p><p>Table list: "GSMADMIN_INTERNAL"."AQ$_CHANGE_LOG_QUEUE_TABLE_L"</p><p>Number of failures: 0</p><p>Table list: "MDSYS"."SDO_DIAG_MESSAGES_TABLE"</p><p>Number of failures: 0</p><p>Table list: "DVSYS"."SIMULATION_LOG$"</p><p>Number of failures: 0</p><p>Table list: "DVSYS"."AUDIT_TRAIL$"</p><p>Number of failures: 0</p><p>DBMS_DST.upgrade_database : l_failures=0</p><p>An upgrade window has been successfully ended.</p><p>DBMS_DST.end_upgrade : l_failures=0</p><p>PL/SQL procedure successfully completed.</p><p><b># Check timezone for 19c which version will be 32</b></p><p>SQL> <b>SELECT * FROM v$timezone_file;</b></p><p>FILENAME VERSION CON_ID</p><p>-------------------- ---------- ----------</p><p>timezlrg_32.dat 32 0</p><p># Gather fixed object stats.</p><p><b><span style="color: red;">SQL> EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;</span></b></p><p>PL/SQL procedure successfully completed.</p><p># POST Upgrade sql</p><p><b><span style="color: red;">SQL>@/u01/app/oracle/product/12.2.0/dbhome_1/cfgtoollogs/TESTDB/preupgrade/postupgrade_fixups.sql</span></b></p><p><b><u>Script Output:</u></b></p><p>Session altered.</p><p>PL/SQL procedure successfully completed.</p><p>PL/SQL procedure successfully completed.</p><p>PL/SQL procedure successfully completed.</p><p>Package created.</p><p>No errors.</p><p>Package body created.</p><p>PL/SQL procedure successfully completed.</p><p>No errors.</p><p>Package created.</p><p>No errors.</p><p>Package body created.</p><p>No errors.</p><p>Executing Oracle POST-Upgrade Fixup Script</p><p>Auto-Generated by: Oracle Preupgrade Script</p><p> Version: 19.0.0.0.0 Build: 1</p><p>Generated on: 2020-12-26 16:27:43</p><p>For Source Database: TESTDB</p><p>Source Database Version: 12.2.0.1.0</p><p>For Upgrade to Version: 19.0.0.0.0</p><p>Preup Preupgrade</p><p>Action Issue Is</p><p>Number Preupgrade Check Name Remedied Further DBA Action</p><p>------ ------------------------ ---------- --------------------------------</p><p> 4. old_time_zones_exist YES None.</p><p> 5. dir_symlinks YES None.</p><p> 6. post_dictionary YES None.</p><p> 7. post_fixed_objects NO Informational only.</p><p> Further action is optional.</p><p>The fixup scripts have been run and resolved what they can. However,</p><p>there are still issues originally identified by the preupgrade that</p><p>have not been remedied and are still present in the database.</p><p>Depending on the severity of the specific issue, and the nature of</p><p>the issue itself, that could mean that your database upgrade is not</p><p>fully complete. To resolve the outstanding issues, start by reviewing</p><p>the postupgrade_fixups.sql and searching it for the name of</p><p>the failed CHECK NAME or Preupgrade Action Number listed above.</p><p>There you will find the original corresponding diagnostic message</p><p>from the preupgrade which explains in more detail what still needs</p><p>to be done.</p><p>PL/SQL procedure successfully completed.</p><p>Session altered.</p><p><b>Database is upgraded 12c to 19c successfully. Lets enjoy 19c database. </b></p><p><b>Done!</b></p>dbatutorial.comhttp://www.blogger.com/profile/13969648514293009119noreply@blogger.com0tag:blogger.com,1999:blog-7125033335107872703.post-89400430201700633672020-12-23T14:16:00.014+06:002020-12-23T16:32:53.043+06:00Oracle database 19c installation on Linux 7 step by step<p> In this tutorial we will disscuss how to install oracle 19c 64-bit database on Linux 7 64-bit. </p><p>Perform the Manual Setup to complete the basic prerequisites steps are as follow.</p><p>@ Add the following lines to the /etc/sysctrl.conf file.</p><p>#vi /etc/sysctl.conf</p><p>fs.file-max = 6815744</p><p>kernel.sem = 250 32000 100 128</p><p>kernel.shmmni = 4096</p><p>kernel.shmall = 1073741824</p><p>kernel.shmmax = 4398046511104</p><p>kernel.panic_on_oops = 1</p><p>net.core.rmem_default = 262144</p><p>net.core.rmem_max = 4194304</p><p>net.core.wmem_default = 262144</p><p>net.core.wmem_max = 1048576</p><p>net.ipv4.conf.all.rp_filter = 2</p><p>net.ipv4.conf.default.rp_filter = 2</p><p>fs.aio-max-nr = 1048576</p><p>net.ipv4.ip_local_port_range = 9000 65500</p><p><br /></p><p>@ run the following command to change the current kernel parameters</p><p># /sbin/sysctl -p</p><p><br /></p><p>@ Add the following lines to the /etc/security/limits.conf file</p><p>#vi /etc/security/limits.conf</p><p>oracle soft nofile 1024</p><p>oracle hard nofile 65536</p><p>oracle soft nproc 16384</p><p>oracle hard nproc 16384</p><p>oracle soft stack 10240</p><p>oracle hard stack 32768</p><p>oracle hard memlock 134217728</p><p>oracle soft memlock 134217728</p><p><br /></p><p># Required pacakges installed before installing the oracle 19c database othewise in installation step will come error messages</p><p><b>#Download the Latest Oracle Linux Repo File</b></p><p>cd /etc/yum.repos.d/</p><p>wget http://yum.oracle.com/public-yum-ol7.repo</p><p><b># Enable required repositories.</b></p><p>[ol7_optional_latest]</p><p>name=Oracle Linux $releasever Optional Latest ($basearch)</p><p>baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/optional/latest/$basearch/</p><p>gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle</p><p>gpgcheck=1</p><p><b>enabled=1</b></p><p># Now install required packages using yum </p><p>yum install -y binutils</p><p>yum install -y compat-libcap1</p><p>yum install -y compat-libstdc++-33</p><p>yum install -y dtrace-utils</p><p>yum install -y elfutils-libelf</p><p>yum install -y elfutils-libelf-devel</p><p>yum install -y fontconfig-devel</p><p>yum install -y glibc</p><p>yum install -y glibc-devel</p><p>yum install -y ksh</p><p>yum install -y libaio</p><p>yum install -y libaio-devel</p><p>yum install -y libdtrace-ctf-devel</p><p>yum install -y libXrender</p><p>yum install -y libXrender-devel</p><p>yum install -y libX11</p><p>yum install -y libXau</p><p>yum install -y libXi</p><p>yum install -y libXtst</p><p>yum install -y libgcc</p><p>yum install -y librdmacm-devel</p><p>yum install -y libstdc++</p><p>yum install -y libstdc++-devel</p><p>yum install -y libxcb</p><p>yum install -y make</p><p>yum install -y net-tools # Clusterware</p><p>yum install -y nfs-utils # ACFS</p><p>yum install -y python # ACFS</p><p>yum install -y python-configshell # ACFS</p><p>yum install -y python-rtslib # ACFS</p><p>yum install -y python-six # ACFS</p><p>yum install -y targetcli # ACFS</p><p>yum install -y smartmontools</p><p>yum install -y sysstat</p><p>yum install -y compat-libstdc++-33</p><p>yum install -y gcc-c++</p><p><br /></p><p>@ Create the new groups and users </p><p>groupadd -g 54321 oinstall</p><p>groupadd -g 54322 dba</p><p>groupadd -g 54323 oper</p><p>useradd -u 54321 -g oinstall -G dba,oper oracle</p><p><br /></p><p>@ Set the password for the "oracle" user</p><p>passwd oracle</p><p><br /></p><p>@ Set secure Linux to disabled by editing the "/etc/selinux/config" file</p><p>SELINUX=disabled</p><p>@ If you have the Linux firewall enabled, you will need to disable or configure it, as shown here. To disable it, do the following.</p><p># systemctl stop firewalld</p><p># systemctl disable firewalld</p><p><br /></p><p>@Create the directories in which the Oracle software will be installed.</p><p>mkdir -p /u01/oracle/product/19.0.0/dbhome_1</p><p>chown -R oracle:oinstall /u01 /u02/oradata</p><p>chmod -R 775 /u01 /u02/oradata</p><p><br /></p><p># Edit bash profile</p><p>TMP=/tmp; export TMP</p><p>TMPDIR=$TMP; export TMPDIR</p><p>ORACLE_HOSTNAME=test; export ORACLE_HOSTNAME</p><p>ORACLE_BASE=/u01/oracle; export ORACLE_BASE</p><p>ORACLE_HOME=/u01/oracle/product/19.0.0/dbhome_1; export ORACLE_HOME</p><p>ORACLE_SID=testdb; export ORACLE_SID</p><p>ORACLE_TERM=xterm; export ORACLE_TERM</p><p>PATH=/usr/sbin:$PATH; export PATH</p><p>PATH=$ORACLE_HOME/bin:$PATH; export PATH</p><p>LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH</p><p><br /></p><p># Unzip the software into oracle home using the following </p><p>unzip Oracle_19.3_Linux_x86-64_DB_V982063-01.zip -d $ORACLE_HOME</p><p><br /></p><p># For install 19c database run the runInstaller from oracle home directory</p><p>./runInstaller</p><p>Note: Here we first steup software only and then execute DBCA( Database Configuration Assistance) for create oracle database.</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7NnhXdaEpuLF4xiK4kpKT_IPaSjjcRBlUp9DwmtxUp61umfKpd7hg8OhJbEWe5YClFH9Tvf6Ui9fXDQvxJwWqgoitcoOpukwzm_hW52JvJZaxv5coSbFPJf3UyrePhC5JUQ_74uCCMh8/s630/1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="630" height="347" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7NnhXdaEpuLF4xiK4kpKT_IPaSjjcRBlUp9DwmtxUp61umfKpd7hg8OhJbEWe5YClFH9Tvf6Ui9fXDQvxJwWqgoitcoOpukwzm_hW52JvJZaxv5coSbFPJf3UyrePhC5JUQ_74uCCMh8/w640-h347/1.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIwoR9KDFeMN6S_GVOQxYHkUsFQFz4UUjFYIgIPx2H6QsMNVvH_Vv-j4LjcY1NG8VZp6n1XBU93zd7BmswvvAdHQwpr6gtyaVox912q37PcRx55mwaj-fZivlZkBQxefxOC6hH46LnBQM/s634/2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="482" data-original-width="634" height="342" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIwoR9KDFeMN6S_GVOQxYHkUsFQFz4UUjFYIgIPx2H6QsMNVvH_Vv-j4LjcY1NG8VZp6n1XBU93zd7BmswvvAdHQwpr6gtyaVox912q37PcRx55mwaj-fZivlZkBQxefxOC6hH46LnBQM/w640-h342/2.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrq_4huy2sJ_-ykt-n25Q99JSfE7LKYj94laPQ6p2QoKKKfDmrWtuClt85cRjSMsj2PI7zXIoBlgT0cfzpyGIkRp0YNou9sSkb06ixuwLwD5o42MUWjTIf0EKUdbhd_ZfiAL7vXiBXwzQ/s620/3.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="476" data-original-width="620" height="382" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrq_4huy2sJ_-ykt-n25Q99JSfE7LKYj94laPQ6p2QoKKKfDmrWtuClt85cRjSMsj2PI7zXIoBlgT0cfzpyGIkRp0YNou9sSkb06ixuwLwD5o42MUWjTIf0EKUdbhd_ZfiAL7vXiBXwzQ/w640-h382/3.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJxC8_DSY02z6t_LNTbPjOlVAp5slVIEmwvRkEa8xOAmQH7MpLPjFCJlDs1TgvrXV84xrE3FvPinaeXcty2eQF5jE8B0JsJv-aY9ysNs1qnL2sutJceJTbyptwM1SJZq-egg3nq5jy6Xk/s630/4.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="481" data-original-width="630" height="358" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJxC8_DSY02z6t_LNTbPjOlVAp5slVIEmwvRkEa8xOAmQH7MpLPjFCJlDs1TgvrXV84xrE3FvPinaeXcty2eQF5jE8B0JsJv-aY9ysNs1qnL2sutJceJTbyptwM1SJZq-egg3nq5jy6Xk/w640-h358/4.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwy52uCM8WVGH7Xle6reRLpyXZdZLbgM3fS2HvsGbY2SqQKUhFzh7RbljlMTpPOkgDf8IowHIqGxVgpEsrpR40iOa4qZ4xAAOJjHk6w8Y0UpcTCV4YZ3LMZkveeY22vZY6-Nx-YatJJDE/s630/5.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="474" data-original-width="630" height="373" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwy52uCM8WVGH7Xle6reRLpyXZdZLbgM3fS2HvsGbY2SqQKUhFzh7RbljlMTpPOkgDf8IowHIqGxVgpEsrpR40iOa4qZ4xAAOJjHk6w8Y0UpcTCV4YZ3LMZkveeY22vZY6-Nx-YatJJDE/w640-h373/5.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3WBcfF9Dm5gawPvDyO5VoFB7EHz8SdyWxUDP-J6dlwXXMl1uEGs769EkvdPUjNqVp8jVFe5dg3Bi2V_rjL04iJA3SV31QUG_Vm1XShDiQlWxZOZtekOyyLiVQPXqU6z4F83riFxiy2E8/s628/6.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="473" data-original-width="628" height="394" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3WBcfF9Dm5gawPvDyO5VoFB7EHz8SdyWxUDP-J6dlwXXMl1uEGs769EkvdPUjNqVp8jVFe5dg3Bi2V_rjL04iJA3SV31QUG_Vm1XShDiQlWxZOZtekOyyLiVQPXqU6z4F83riFxiy2E8/w640-h394/6.jpg" width="640" /></a></div><div><br /></div>Note: Here we select Automatically run configuration scripts is we don't select this in installation step will come an window where contain two script that must run using root OS user.<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK77Klkk9LY91GFV6-t3CB6_2UB9IlyWbxMxFEbdvRQukwjd2_LBY7yf58G-uiwWdZ_QXdBMmLaTafrWzonjvVQNKYuTIghEaldhLnWvm6YMgTMJRscuzqrTHVD7j1KEnTga0eMXLDLxo/s630/7.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="484" data-original-width="630" height="440" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK77Klkk9LY91GFV6-t3CB6_2UB9IlyWbxMxFEbdvRQukwjd2_LBY7yf58G-uiwWdZ_QXdBMmLaTafrWzonjvVQNKYuTIghEaldhLnWvm6YMgTMJRscuzqrTHVD7j1KEnTga0eMXLDLxo/w640-h440/7.jpg" width="640" /></a></div><div><br /></div> Here we ignore the swap size error message click ignore all and then press next button to continue<div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEid-76ejO4dNYuJZ0ReCtO1EKd39pFYxW5I0_M2ACPPu08TnP_fFkfpnI1UlI21I4YByiCyvItS_oU8Geuz0r6UTQtatcUAGOdaPC-KEPNagn8Dwcf-vToabUvk2R579lRn09foSyKdulA/s625/8.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="475" data-original-width="625" height="351" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEid-76ejO4dNYuJZ0ReCtO1EKd39pFYxW5I0_M2ACPPu08TnP_fFkfpnI1UlI21I4YByiCyvItS_oU8Geuz0r6UTQtatcUAGOdaPC-KEPNagn8Dwcf-vToabUvk2R579lRn09foSyKdulA/w640-h351/8.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ8e834twe9W9L4cm-XDN8egTaTeq8t0h3rR4_vjwDTyXVLDMSqFb5JpR5rGiqoeH9wx_WmkeIcHGrstczFTL6AKDpH3BExt4Xib_-y_xR1SpjSMiSsjkIz_COA_klI0Nf5wgV2yGmXxM/s617/u1.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="469" data-original-width="617" height="486" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ8e834twe9W9L4cm-XDN8egTaTeq8t0h3rR4_vjwDTyXVLDMSqFb5JpR5rGiqoeH9wx_WmkeIcHGrstczFTL6AKDpH3BExt4Xib_-y_xR1SpjSMiSsjkIz_COA_klI0Nf5wgV2yGmXxM/w640-h486/u1.JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSuMdH6FBEDRju0IvnckTWmdwUgmGfRVws5fBZPxNHCTDJUeEWU6cC60UDLwVpVJnyJQGauNZZRl6IKxt8RrVzVL3ciefAakxuXOChzMQR55Zpefe077FDPM_adYunNJs0sdBd6eL9UYE/s628/10.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="474" data-original-width="628" height="430" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSuMdH6FBEDRju0IvnckTWmdwUgmGfRVws5fBZPxNHCTDJUeEWU6cC60UDLwVpVJnyJQGauNZZRl6IKxt8RrVzVL3ciefAakxuXOChzMQR55Zpefe077FDPM_adYunNJs0sdBd6eL9UYE/w640-h430/10.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2wz7QrC1jz70nu-ZYZe2lZckXRXb5BX2j5JVUsIjCq0mzc3zjvFb_6e8Pzt0webWk8wnlN4nQULIIu0bWL1Ric3pLNipdBhjvuU2pyIBKnVxPRNiG9u1y6P5v1-uRTr6YwZsf7JntDPM/s624/11.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="477" data-original-width="624" height="389" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2wz7QrC1jz70nu-ZYZe2lZckXRXb5BX2j5JVUsIjCq0mzc3zjvFb_6e8Pzt0webWk8wnlN4nQULIIu0bWL1Ric3pLNipdBhjvuU2pyIBKnVxPRNiG9u1y6P5v1-uRTr6YwZsf7JntDPM/w640-h389/11.jpg" width="640" /></a></div><div><br /></div><b>Note: </b>Software only installation completed successfully. Now we create database using DBCA (Database Assistance Configuration) </div><div>export ORACLE_HOME=oracle_home_location</div><div>export ORACLE_SID=SID_Name</div><div>export PATH=$ORACLE_HOME/bin:$PATH</div><div><br /></div><div>Execute: <b><span style="color: red;">dbca</span></b></div><div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfgZRAfqkFFmWEERDLzeAG1-P_Af8wCrHJWj4NJFo6JVf7I0hPueB10RYzx9tlbWgGSxBK_hzRjS8_TCFhyb0_AxyHTyu_iJwYDQtfB0j588CIBSE_i9ybZKhbhb1Ai0wdKKzDGIwGpsU/s628/12.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="478" data-original-width="628" height="357" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfgZRAfqkFFmWEERDLzeAG1-P_Af8wCrHJWj4NJFo6JVf7I0hPueB10RYzx9tlbWgGSxBK_hzRjS8_TCFhyb0_AxyHTyu_iJwYDQtfB0j588CIBSE_i9ybZKhbhb1Ai0wdKKzDGIwGpsU/w640-h357/12.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3Lx1R6xDdm5zBinfAgG8orIcGXk7Bswp_B5KEp4uhre9MGt89fBibR68kHrKy71ApXhl_4trO_EnwZkrEyzykxg55wXV4ztJHC3lRhCpX97GkRxREA8mKQY9tmYhgss5C9tgRDkGPkxg/s623/13.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="472" data-original-width="623" height="379" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3Lx1R6xDdm5zBinfAgG8orIcGXk7Bswp_B5KEp4uhre9MGt89fBibR68kHrKy71ApXhl_4trO_EnwZkrEyzykxg55wXV4ztJHC3lRhCpX97GkRxREA8mKQY9tmYhgss5C9tgRDkGPkxg/w640-h379/13.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiPs2DUrA02L2EKm4x4nz8To6uaTQuUFi-l5CzPPJrr7tbCjoMaMbgz2P9hwW_WNhHH-vFD2lLf4VvkrUYaYatl9pXm72zQksqrTdR2ojAMDjUumdyzpD9oilR6ywPQJ-ELU0pgvVw7WU/s628/14.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="475" data-original-width="628" height="367" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiPs2DUrA02L2EKm4x4nz8To6uaTQuUFi-l5CzPPJrr7tbCjoMaMbgz2P9hwW_WNhHH-vFD2lLf4VvkrUYaYatl9pXm72zQksqrTdR2ojAMDjUumdyzpD9oilR6ywPQJ-ELU0pgvVw7WU/w640-h367/14.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQxIhnRq9Bh1Ci1b2gFr7kw0vvbhv72mi3KXT2M_qXo6HaBjBPc0rmnG_PsMYb1qC0FpTsSMqrWG6OzhU-cfxutoahPLO4iNV7i7vOPTcTT9uzPTBX1OvLRS2PB0u5aB1erPp2DgfzRNI/s626/15.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="475" data-original-width="626" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQxIhnRq9Bh1Ci1b2gFr7kw0vvbhv72mi3KXT2M_qXo6HaBjBPc0rmnG_PsMYb1qC0FpTsSMqrWG6OzhU-cfxutoahPLO4iNV7i7vOPTcTT9uzPTBX1OvLRS2PB0u5aB1erPp2DgfzRNI/w640-h360/15.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxx5Xh8_v2tV6t319gEAe6GCuQ-id-6lQ8M4OqlqhUpSwOKHvmbCcvbUnQo93-kFVIfu8agd_tayVZ2YtJjVh1-Jkp4EZFn-GnPPK1xgdlwuK0ZSdjmi4XbJm-lEllPc-t75Rqtk_8EaI/s626/16.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="478" data-original-width="626" height="381" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxx5Xh8_v2tV6t319gEAe6GCuQ-id-6lQ8M4OqlqhUpSwOKHvmbCcvbUnQo93-kFVIfu8agd_tayVZ2YtJjVh1-Jkp4EZFn-GnPPK1xgdlwuK0ZSdjmi4XbJm-lEllPc-t75Rqtk_8EaI/w640-h381/16.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOXo764awF_JB8uH6UbJz6_xz1C9L47hvcsDsHiPbOAjxi5LsnOTDVzFHRx9Kv5J0PACLLeLpRIfhtVoCmhZZ6llArwzB1FekFHFJb0i3Y9gL_rcDMnxXdwoyODBnI7HxcOI12528V0SY/s626/u3.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="471" data-original-width="626" height="482" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOXo764awF_JB8uH6UbJz6_xz1C9L47hvcsDsHiPbOAjxi5LsnOTDVzFHRx9Kv5J0PACLLeLpRIfhtVoCmhZZ6llArwzB1FekFHFJb0i3Y9gL_rcDMnxXdwoyODBnI7HxcOI12528V0SY/w640-h482/u3.JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqggwAR091YA7UkXpfpOdgzTX_dl4xSnUbzYycFrIooWQFXu7U7080y8RUJYS0wI51cKsQRAADNuWCsQ4qmq4YysZrniH2P75ZcdfEf1cqCwL72AtBZRNNq6WLR5CJJ83ie4gCA2NjhuA/s628/18.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="474" data-original-width="628" height="328" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqggwAR091YA7UkXpfpOdgzTX_dl4xSnUbzYycFrIooWQFXu7U7080y8RUJYS0wI51cKsQRAADNuWCsQ4qmq4YysZrniH2P75ZcdfEf1cqCwL72AtBZRNNq6WLR5CJJ83ie4gCA2NjhuA/w640-h328/18.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxyd5eL_bZ13tBjZBRASZTMRw1xVOCpnzGioTwVS4znupHwUInABDRPNg01TV74L1snJdryPGXW_2DFzEQ5vNcW9plaVR3Gvt9wXeQeXSRdYLpCC0DbUOjCvc_vXY4GRRHCoNr_tP0-Aw/s618/19.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="476" data-original-width="618" height="376" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxyd5eL_bZ13tBjZBRASZTMRw1xVOCpnzGioTwVS4znupHwUInABDRPNg01TV74L1snJdryPGXW_2DFzEQ5vNcW9plaVR3Gvt9wXeQeXSRdYLpCC0DbUOjCvc_vXY4GRRHCoNr_tP0-Aw/w640-h376/19.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEZpHND1nk-CRDXb58T06IXTQdqbemB7fck8VhHPeMqv3W1tcHOsqRHK5xrDP4d7yioSb8h4U7d4XSHZAHdV0NOiLLldEW_H1pGjMcEFc-TeWUUNOPvYbgFo26dnySasvhKE6mIsC6kZo/s628/20.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="471" data-original-width="628" height="367" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEZpHND1nk-CRDXb58T06IXTQdqbemB7fck8VhHPeMqv3W1tcHOsqRHK5xrDP4d7yioSb8h4U7d4XSHZAHdV0NOiLLldEW_H1pGjMcEFc-TeWUUNOPvYbgFo26dnySasvhKE6mIsC6kZo/w640-h367/20.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx_bMB1pdgL8EYbxnMHMpxJotwjtkoA9PRhvff-nZUuGwSY3U5w_lHo_hvxRZK-M64-nvr-o_Bt3e6uNDttAosMcRWa9qMgGsCJlc0HsEW_we3f8nOWw6AHRi7HyZwhS2OOygI6_sA84Y/s630/21.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="473" data-original-width="630" height="374" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx_bMB1pdgL8EYbxnMHMpxJotwjtkoA9PRhvff-nZUuGwSY3U5w_lHo_hvxRZK-M64-nvr-o_Bt3e6uNDttAosMcRWa9qMgGsCJlc0HsEW_we3f8nOWw6AHRi7HyZwhS2OOygI6_sA84Y/w640-h374/21.jpg" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiCEq_RyxKu8Mdy6EQ8uYEUigjS7A6FjR0ucoU8h_Ef0zyvgzrNMCYpUafLQYsSdW2wgFz8dWftEMEY5F25XjWQc61mmQlk77S1rqp5hGQO6UiR81g0M7I2WPI_voLyU95dl6nupMlF9c/s626/u2.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="474" data-original-width="626" height="484" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiCEq_RyxKu8Mdy6EQ8uYEUigjS7A6FjR0ucoU8h_Ef0zyvgzrNMCYpUafLQYsSdW2wgFz8dWftEMEY5F25XjWQc61mmQlk77S1rqp5hGQO6UiR81g0M7I2WPI_voLyU95dl6nupMlF9c/w640-h484/u2.JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsiKiC40wHk0MqQl_AjXWPQNwOYTu9mORt1Ri7PMm-knx7f2dPXznv5uktNbiz-vRuABhi-nN1uW5ZHkTrFnYRBSPrSg_x0cP8Gqxh5LwF-MiqA0eeLwhcgzPrY9zi98UYeKNrheDxIiU/s630/23.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="477" data-original-width="630" height="388" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsiKiC40wHk0MqQl_AjXWPQNwOYTu9mORt1Ri7PMm-knx7f2dPXznv5uktNbiz-vRuABhi-nN1uW5ZHkTrFnYRBSPrSg_x0cP8Gqxh5LwF-MiqA0eeLwhcgzPrY9zi98UYeKNrheDxIiU/w640-h388/23.jpg" width="640" /></a></div><br /><p>Click Finish button and enjoy oracle 19c database.</p></div>dbatutorial.comhttp://www.blogger.com/profile/13969648514293009119noreply@blogger.com0tag:blogger.com,1999:blog-7125033335107872703.post-32235254601328470362020-12-22T14:06:00.001+06:002020-12-22T14:08:56.692+06:00how to take full database backup using expdp in oracle 12c<p>Oracle data pump technology enables very high-speed movement of data and metadata from one database to another. Oracle data pump is available only on oracle database 10g release 1 and later. </p><p>In this article we are going to discuss how to configure oracle data pump as well as how to take full database backup using data pump utility.</p><p>Steps to configure and how to take full database backup as follow.</p><p>Step 1: Create a directory or Folder</p><p>Step 2: Create user and Granting Privileges</p><p>Step 3: Perform Full Database Backup</p><p>====================================</p><p><b>Step 1: Create a directory or Folder</b></p><p>====================================</p><p>This is the first step for configurating data pump for export or import data. We create a directory where datapump backup will be stored.</p><p># We create a physical directory. </p><p>Directory path: E:\app\masud\virtual\DPBKP</p><p># Login oracle database using sysdba and create directory object</p><p><span style="color: red;">sqlplus / as sysdba</span></p><p><span style="color: red;">SQL> create or replace directory db_back as 'E:\app\masud\virtual\DPBKP'; (db_back -- is directory name)</span></p><p><span style="color: red;">Directory created.</span></p><p><br /></p><p># Now check the created directory using following command</p><p><span style="color: red;">SQL> select DIRECTORY_NAME,DIRECTORY_PATH from dba_directories where directory_name='DB_BACK';</span></p><p><span style="color: red;"><br /></span></p><p><span style="color: red;">DIRECTORY_NAME<span style="white-space: pre;"> </span>DIRECTORY_PATH</span></p><p><span style="color: red;">---------------------------------------------------------------------</span></p><p><span style="color: red;">DB_BACK<span style="white-space: pre;"> </span>E:\app\masud\virtual\DPBKP</span></p><p><br /></p><p>==================================</p><p><b>Step 2: Create user and Granting Privileges</b></p><p>==================================</p><p>For data pump backup purpose first we create a user (username: backup) and using this user we will take database full backup.</p><p># Create user and grant privileges for export full database</p><p><b>SQL> create user backup identified by backup;</b></p><p>User created.</p><p><b>SQL> grant create session, connect to backup;</b></p><p>Grant succeeded.</p><p><b>SQL> grant resource to backup;</b></p><p>Grant succeeded.</p><p><b>SQL> grant unlimited tablespace to backup;</b></p><p>Grant succeeded.</p><p># Grant read, write priviledge on db_back directory for backup user</p><p><b>SQL> grant read,write on directory db_back to backup;</b></p><p>Grant succeeded.</p><p># Grant full database export priviledge for backup user</p><p><b>SQL> GRANT DATAPUMP_EXP_FULL_DATABASE TO backup;</b></p><p>Grant succeeded.</p><p>=================================</p><p><b>Step 3: Perform Database Full Backup</b></p><p>=================================</p><p># Full database backup</p><p>We take full database backup using following command</p><p><b><span style="color: red;">C:\Users\masud>expdp backup/backup full=y directory=db_back dumpfile=Exp_TESTDB_Backup.dmp logfile=Exp_TESTDB_Backup.log</span></b></p><p><b><span style="color: red;"><br /></span></b></p><p>Export: Release 12.2.0.1.0 - Production on Tue Dec 22 12:41:13 2020</p><p>Copyright (c) 1982, 2020, Oracle and/or its affiliates. All rights reserved.</p><p>Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production</p><p>Starting "BACKUP"."SYS_EXPORT_FULL_01": backup/******** full=y directory=db_back dumpfile=Exp_TESTDB_Backup.dmp logfile=Exp_TESTDB_Backup.log</p><p>Processing object type DATABASE_EXPORT/EARLY_OPTIONS/VIEWS_AS_TABLES/TABLE_DATA</p><p>Processing object type DATABASE_EXPORT/NORMAL_OPTIONS/TABLE_DATA</p><p>Processing object type DATABASE_EXPORT/NORMAL_OPTIONS/VIEWS_AS_TABLES/TABLE_DATA</p><p>Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA</p><p>Processing object type DATABASE_EXPORT/SCHEMA/TABLE/INDEX/STATISTICS/INDEX_STATISTICS</p><p>Processing object type DATABASE_EXPORT/SCHEMA/TABLE/STATISTICS/TABLE_STATISTICS</p><p>Processing object type DATABASE_EXPORT/STATISTICS/MARKER</p><p>Processing object type DATABASE_EXPORT/PRE_SYSTEM_IMPCALLOUT/MARKER</p><p>Processing object type DATABASE_EXPORT/PRE_INSTANCE_IMPCALLOUT/MARKER</p><p>Processing object type DATABASE_EXPORT/TABLESPACE</p><p>Processing object type DATABASE_EXPORT/PROFILE</p><p>Processing object type DATABASE_EXPORT/SYS_USER/USER</p><p>Processing object type DATABASE_EXPORT/SCHEMA/USER</p><p>Processing object type DATABASE_EXPORT/RADM_FPTM</p><p>Processing object type DATABASE_EXPORT/GRANT/SYSTEM_GRANT/PROC_SYSTEM_GRANT</p><p>Processing object type DATABASE_EXPORT/SCHEMA/GRANT/SYSTEM_GRANT</p><p>Processing object type DATABASE_EXPORT/SCHEMA/ROLE_GRANT</p><p>Processing object type DATABASE_EXPORT/SCHEMA/DEFAULT_ROLE</p><p>Processing object type DATABASE_EXPORT/SCHEMA/ON_USER_GRANT</p><p>Processing object type DATABASE_EXPORT/RESOURCE_COST</p><p>Processing object type DATABASE_EXPORT/SCHEMA/DB_LINK</p><p>Processing object type DATABASE_EXPORT/TRUSTED_DB_LINK</p><p>Processing object type DATABASE_EXPORT/DIRECTORY/DIRECTORY</p><p>Processing object type DATABASE_EXPORT/DIRECTORY/GRANT/OWNER_GRANT/OBJECT_GRANT</p><p>Processing object type DATABASE_EXPORT/SYSTEM_PROCOBJACT/PRE_SYSTEM_ACTIONS/PROCACT_SYSTEM</p><p>Processing object type DATABASE_EXPORT/SYSTEM_PROCOBJACT/PROCOBJ</p><p>Processing object type DATABASE_EXPORT/SYSTEM_PROCOBJACT/POST_SYSTEM_ACTIONS/PROCACT_SYSTEM</p><p>Processing object type DATABASE_EXPORT/SCHEMA/PROCACT_SCHEMA</p><p>Processing object type DATABASE_EXPORT/EARLY_OPTIONS/VIEWS_AS_TABLES/TABLE</p><p>Processing object type DATABASE_EXPORT/EARLY_POST_INSTANCE_IMPCALLOUT/MARKER</p><p>Processing object type DATABASE_EXPORT/NORMAL_OPTIONS/TABLE</p><p>Processing object type DATABASE_EXPORT/NORMAL_OPTIONS/VIEWS_AS_TABLES/TABLE</p><p>Processing object type DATABASE_EXPORT/NORMAL_POST_INSTANCE_IMPCALLOUT/MARKER</p><p>Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE</p><p>Processing object type DATABASE_EXPORT/SCHEMA/TABLE/COMMENT</p><p>Processing object type DATABASE_EXPORT/SCHEMA/TABLE/INDEX/INDEX</p><p>Processing object type DATABASE_EXPORT/SCHEMA/TABLE/CONSTRAINT/CONSTRAINT</p><p>Processing object type DATABASE_EXPORT/FINAL_POST_INSTANCE_IMPCALLOUT/MARKER</p><p>Processing object type DATABASE_EXPORT/SCHEMA/POST_SCHEMA/PROCACT_SCHEMA</p><p>Processing object type DATABASE_EXPORT/AUDIT_UNIFIED/AUDIT_POLICY_ENABLE</p><p>Processing object type DATABASE_EXPORT/POST_SYSTEM_IMPCALLOUT/MARKER</p><p>. . exported "SYS"."KU$_USER_MAPPING_VIEW" 6.093 KB 38 rows</p><p>. . </p><p>Master table "BACKUP"."SYS_EXPORT_FULL_01" successfully loaded/unloaded</p><p>******************************************************************************</p><p>Dump file set for BACKUP.SYS_EXPORT_FULL_01 is:</p><p> E:\APP\MASUD\VIRTUAL\DPBKP\EXP_TESTDB_BACKUP.DMP</p><p>Job "BACKUP"."SYS_EXPORT_FULL_01" successfully completed at Tue Dec 22 12:43:23 2020 elapsed 0 00:01:53</p><p>Now we go to the directory which we created fist step to check whether backup file is created or not and same directory we found a log file which will store the detail log of backup.</p><p><br /></p><p>Done!</p><div><br /></div>dbatutorial.comhttp://www.blogger.com/profile/13969648514293009119noreply@blogger.com0