tag:blogger.com,1999:blog-197715072024-03-17T02:16:47.053-07:00Jaffar's (Mr RAC) Oracle blogWhatever topic has been discussed on this blog is my own finding and views, not necessary match with others. I strongly recommend you to do a test before you implement the piece of advice given at my blog.The Human Flyhttp://www.blogger.com/profile/03489518270084955004noreply@blogger.comBlogger315125tag:blogger.com,1999:blog-19771507.post-38569658702995498742020-05-26T09:55:00.001-07:002020-05-26T09:55:50.290-07:00Oracle Cloud & Third party toolsThere have been several buzz words and offerings since the invention of Cloud concepts. We have been hearing of Private Cloud, Public Cloud, Hybrid cloud and more recently multi-clouds concepts and offering from many leading cloud market players. All most all leading market players are offering several tools and solutions to support seamless administration, maintenance and operations tasks.<div><br /></div><div>Despite many OCI offerings, still we sometimes might need third-party tools or solutions to achieve some of the goals to move or manage the cloud platforms. So, I gonna walk through some of the third-party tools/solutions that are certified and supported OCI operations.</div><div><br /></div><div><ul style="text-align: left;"><li>According to Commvault, over 80% of companies are using the multi-cloud today. Commvault Cloud Backup solution provides support backup and recovery for over 40% clouds. This can ease backup and recovery operations between clouds.</li></ul></div><div><ul style="text-align: left;"><li>Vertitas's Netbackup 7.7.x supports backup and recovery operations on Oracle Cloud as well as supports multi-cloud data protection solutions. With NetBackup multi-cloud data protection, you can achieve seamless deduplication between data centers and multi-clouds. </li></ul></div><div><ul style="text-align: left;"><li>Using Cyberduck version 6.4.0 or higher, you can connect to OCI object storage</li></ul><ul style="text-align: left;"><li>With <a href="https://dbmclouds.com/oracle/" target="_blank">dbm cloud systems</a>, you can easy move data and VMs from Classic to OCI, migrate & replicate data from on-premise to OCI and move data stored from any cloud vendor into OCI.</li></ul></div><div><ul style="text-align: left;"><li><a href="https://victorops.com/blog/integrating-oracle-cloud-infrastructure-with-victorops" target="_blank">VictorOps</a> with OCI integration can greatly assist in cloud infrastructure and application monitoring, as well as real-time incident response will improve significantly. </li><li><a href="http://www.zerodownsoftware.com/wp-content/uploads/2018/08/r1_ZDS_HA-for-Oracle-Slick-082718.pdf" target="_blank">ZeroDown</a> software provides HA option for Oracle cloud infrastructure. </li></ul><ul style="text-align: left;"><li>Coriolis is the simplest way to migrate your windows or Linux VMs alongside their underlying storage and networking configuration across cloud platforms.</li></ul><div><br /></div><div>There are many other third-party useful solutions available in the market. This is a just tiny list of useful third-party solutions on OCI.</div><div><br /></div></div>The Human Flyhttp://www.blogger.com/profile/03489518270084955004noreply@blogger.com0tag:blogger.com,1999:blog-19771507.post-90361586172839316082020-05-15T14:46:00.001-07:002020-05-15T14:46:05.286-07:00Oracle database migration to cloud with Zero Downtime Migration (ZDM)<div dir="ltr" style="text-align: left;" trbidi="on">
<div>
I wrote this article on my LN page, visit the link below to read it.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<a href="https://www.linkedin.com/pulse/on-premise-oracle-db-migration-cloud-zero-downtime-zdm-hussain/?published=t">https://www.linkedin.com/pulse/on-premise-oracle-db-migration-cloud-zero-downtime-zdm-hussain/?published=t</a></div>
</div>
The Human Flyhttp://www.blogger.com/profile/03489518270084955004noreply@blogger.com0tag:blogger.com,1999:blog-19771507.post-3921329759005963802020-05-14T15:30:00.002-07:002020-05-14T15:31:55.555-07:00Migration methods to Autonomous Database (ADB) - Part IV (DBMS_CLOUD.COPY_DATA)<div dir="ltr" style="text-align: left;" trbidi="on">
In this part of Migration methods to Autonomous Database (ADB) article series, we will see how to load data into ADB database using the DBMS_CLOUD package.<br />
<br />
Assuming you have an ADB database up & running and you wanna load data from the file stored in any of the supported object storage. The image below from Oracle presentation depicts explains what type of object storage is supported to store the files, and settings required part of DBMS_CLOUD package to load the data.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoYmzxrRfRhIkWxch0abeRwtXhGL7-SflfWbE5WSyMdiRFL0IIKm-wZ9T50z2bV-VS0XfBwNeb2lJhe_Vd3TaHQEHB6i8m3PgQy_N3MK2ts13UI_ThQ1i5Fy-m9FNORLAIG_7kfQ/s1600/Screen+Shot+2020-05-15+at+1.17.55+AM.png" imageanchor="1"><img border="0" height="167" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoYmzxrRfRhIkWxch0abeRwtXhGL7-SflfWbE5WSyMdiRFL0IIKm-wZ9T50z2bV-VS0XfBwNeb2lJhe_Vd3TaHQEHB6i8m3PgQy_N3MK2ts13UI_ThQ1i5Fy-m9FNORLAIG_7kfQ/s400/Screen+Shot+2020-05-15+at+1.17.55+AM.png" width="400" /></a><br />
<br />
Below image depicts the important procedures and table details to monitor the loading jobs:<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFdPZ0tRC-7lq0Arw6aWeQeTaqLoC01qx-r6KmdchM-9iLCmF7lVh4WaghWq-ZIQt9Wn_9g-0g2NVwHYQ6d1B8cp_D67IqgHXYEvU-U5WKrh8D5mxEVFfKbgyq0N9mLKOfgi9mXQ/s1600/Screen+Shot+2020-05-15+at+1.18.55+AM.png" imageanchor="1"><img border="0" height="157" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFdPZ0tRC-7lq0Arw6aWeQeTaqLoC01qx-r6KmdchM-9iLCmF7lVh4WaghWq-ZIQt9Wn_9g-0g2NVwHYQ6d1B8cp_D67IqgHXYEvU-U5WKrh8D5mxEVFfKbgyq0N9mLKOfgi9mXQ/s400/Screen+Shot+2020-05-15+at+1.18.55+AM.png" width="400" /></a><br />
You may review my earlier articles to understand how to load files into an Oracle object storage. Once you have the files put in a bucket, you then need to store the OSS credentials in the ADB database using the example below:<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguHEyyAh4Tu1bbuTkJXmIVZLLzhZ_YCr8C_8HB-GjtqQhYb6jQEnYPupV46St1WpWXduXF4MOPVByYcCcNEeNH6SjbQVIlrgmNp3uhmQrdeNwdIDgpS63VkZ8hiVMBn51OkqJlRA/s1600/Screen+Shot+2020-05-15+at+1.22.01+AM.png" imageanchor="1"><img border="0" height="107" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguHEyyAh4Tu1bbuTkJXmIVZLLzhZ_YCr8C_8HB-GjtqQhYb6jQEnYPupV46St1WpWXduXF4MOPVByYcCcNEeNH6SjbQVIlrgmNp3uhmQrdeNwdIDgpS63VkZ8hiVMBn51OkqJlRA/s400/Screen+Shot+2020-05-15+at+1.22.01+AM.png" width="400" /></a><br />
<br />
And finally use the example below to load the data into the table:<br />
<br />
<div style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">
BEGIN</div>
<div style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">
DBMS_CLOUD.COPY_DATA(</div>
<div style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">
table_name =>'CHANNELS',</div>
<div style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">
credential_name =>DEF_CRED_NAME,</div>
<div style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">
file_uri_list =>'https://swiftobjectstorage.<region>.oraclecloud.com/v1/<tenancy>/<bucketname>/<filename>',</div>
<div style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">
format => json_object('delimiter' value ',')</div>
<div style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">
);</div>
<div style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">
END;</div>
<div style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">
/</div>
<br />
<br />
If you are loading bulk data, you can query table below to know data loading operation progress:<br />
<br />
<pre style="background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: 14px; margin-bottom: 1rem; overflow: auto; padding: 10.5px;">SELECT *
FROM user_load_operations
WHERE type = 'COPY';</pre>
<pre style="background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; margin-bottom: 1rem; overflow: auto; padding: 10.5px;"><div class="page" style="white-space: normal;" title="Page 11">
<div class="section" style="background-color: white;">
<div class="layoutArea">
<div class="column">
<span style="color: #58595b; font-family: "couriernewpsmt";">SELECT table_name, owner_name, type, status, </span><span style="color: #f80000; font-family: "couriernewpsmt";">logfile_table</span><span style="color: #58595b; font-family: "couriernewpsmt";">,
</span><span style="color: #f80000; font-family: "couriernewpsmt";"> badfile_table</span><br />
<span style="color: #58595b; font-family: "couriernewpsmt";">FROM user_load_operations WHERE type = 'COPY';</span></div>
</div>
</div>
</div>
</pre>
Tables below provide information about log file and bad file of data load operations:<br />
<br />
<pre style="background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: 14px; margin-bottom: 1rem; overflow: auto; padding: 10.5px;">SELECT * FROM copy$1_log;
SELECT * FROM copy$1_bad;</pre>
<br />
So, we have learned how to load data into ADB using the DBMS_CLOUD package.<br />
<br />
<br /></div>
The Human Flyhttp://www.blogger.com/profile/03489518270084955004noreply@blogger.com0tag:blogger.com,1999:blog-19771507.post-77022211100511259202020-05-13T16:05:00.002-07:002020-05-13T16:05:24.979-07:00Migration methods to Autonomous Database (ADB) - Part III (SQL Developer)<div dir="ltr" style="text-align: left;" trbidi="on">
In part III article series of Migration methods to Autonomous Database we will see how to migrate or load data into ADB using SQL Developer.<br />
<br />
Below slide from Oracle presentation depicts SQL Developer different use cases to migrate or load data into ADB:<br />
<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSLsH761cR3nrbdWwObX99GneA5P-ofT9HI9k7VmjuCj5jVv29noW3WEsiy6ZGzGO5RqJUGRjY7wnFPdqjtw_sCYfA0MCFqaMFP5EltNBQ5BSzWRhg-tz-JYehY1nsSZs-stNiFg/s1600/Screen+Shot+2020-05-14+at+12.40.24+AM.png" imageanchor="1"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSLsH761cR3nrbdWwObX99GneA5P-ofT9HI9k7VmjuCj5jVv29noW3WEsiy6ZGzGO5RqJUGRjY7wnFPdqjtw_sCYfA0MCFqaMFP5EltNBQ5BSzWRhg-tz-JYehY1nsSZs-stNiFg/s640/Screen+Shot+2020-05-14+at+12.40.24+AM.png" width="640" /></a><br />
<br />
<br />
Following screenshots walk through data loading scenario from an excel sheet into an existing table using SQL Developer. To walk though this demonstration, ensure the following is in-place:<br />
<br />
<ul style="text-align: left;">
<li>an ADB is created and running</li>
<li>You have downloaded the database connection credentials (as shown in the below screenshots)</li>
<li>You have an excel sheet to load the data</li>
</ul>
<br />
<br />
<u>Downloading connection credentials</u><br />
<br />
Presuming an ADB is created and it's up & running. From the OCI console, select the ADB, click the <b>DB Connectio</b>n tab to download the credentails.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8lzbSHDFcbBA2MSlC0aWrRo2pV6Z1BDkkFFcw97d02U9qJwkA6qgWuLqljhmwJKVLk0kV4uh3By8JVW4zih6c9shiaSmMGgR-RKN31chf2Z1TW0RMRg01gXJ3x94ZDWNZhPMnIQ/s1600/Screen+Shot+2020-05-14+at+12.03.56+AM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="177" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8lzbSHDFcbBA2MSlC0aWrRo2pV6Z1BDkkFFcw97d02U9qJwkA6qgWuLqljhmwJKVLk0kV4uh3By8JVW4zih6c9shiaSmMGgR-RKN31chf2Z1TW0RMRg01gXJ3x94ZDWNZhPMnIQ/s640/Screen+Shot+2020-05-14+at+12.03.56+AM.png" width="640" /></a><br />
<br />
<br />
<br />
<br />
<br />
You have to input a password before you download the connection credentials.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfiY2JLpf2mBpMG-rnmRiW_OO5lQl1GqBP-Gdw5koYT7sTdFn3G74oKOs5fESfQK8rPxNuiA8fwAtBzruuGhs6IwnoDMi4lzdHaTva8bWmfjcN9UhWZA03XmZ42xxQ6ykNfw122Q/s1600/Screen+Shot+2020-05-14+at+12.04.52+AM.png" imageanchor="1"><img border="0" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfiY2JLpf2mBpMG-rnmRiW_OO5lQl1GqBP-Gdw5koYT7sTdFn3G74oKOs5fESfQK8rPxNuiA8fwAtBzruuGhs6IwnoDMi4lzdHaTva8bWmfjcN9UhWZA03XmZ42xxQ6ykNfw122Q/s640/Screen+Shot+2020-05-14+at+12.04.52+AM.png" width="640" /></a><br />
<br />
Start the SQL Developer tool and connect to the ADB using the credentials downloaded previously.<br />
<br />
Specify the location of the .zip files (connection credentials) and choose the suitable TNS service, high, medium or low.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAKUqrFiAzzsyKr09dKgnncSkcLLDT4uDbaprqsaGpxtpP_5E0f6sBvF_YzqQYSGDJpPt7zuEY4lZD0vQ7JYj9oV18HHt4W8fyoURkc97i-BdBmE2IFqNMB9nWA7u6n-cP1HpaYQ/s1600/Screen+Shot+2020-05-14+at+12.10.55+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="404" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAKUqrFiAzzsyKr09dKgnncSkcLLDT4uDbaprqsaGpxtpP_5E0f6sBvF_YzqQYSGDJpPt7zuEY4lZD0vQ7JYj9oV18HHt4W8fyoURkc97i-BdBmE2IFqNMB9nWA7u6n-cP1HpaYQ/s640/Screen+Shot+2020-05-14+at+12.10.55+AM.png" width="640" /></a></div>
<br />
<br />
Once you connected to the database, select table and choose <b>import data</b> option by clicking the right mouse button on the table, as shown below:<br />
<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSL3rUWET7f9LGYHim8g0MQJldLmddFhH0NOJnJV8Ps7XXTmfYB6HALEzQq-fb55dO67oY3xGWXB5RS108MNaL7BllZzRETxyICI4imGpbCmjf57LebC3_clRBU4arc1H_bjP5Vg/s1600/Screen+Shot+2020-05-14+at+12.24.28+AM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="348" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSL3rUWET7f9LGYHim8g0MQJldLmddFhH0NOJnJV8Ps7XXTmfYB6HALEzQq-fb55dO67oY3xGWXB5RS108MNaL7BllZzRETxyICI4imGpbCmjf57LebC3_clRBU4arc1H_bjP5Vg/s640/Screen+Shot+2020-05-14+at+12.24.28+AM.png" width="640" /></a><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
In this scenario, there is a table 'EMP, and we will load the data from an excel sheet. So, choose the file. Ensure you select Local File option from the Source.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7Yi7t-whsAZzBylkXZ3PMfmVQfkb_zgvxILHUSxub3Y2CZvc7Kvea9SLGlaOjmBPJtqYj8T55C7x2yMKAdiDI80OwCj9JTJb2wE4SiC2MeBcFA5D_VPtF29KNC6Jpe24xICbJKw/s1600/Screen+Shot+2020-05-14+at+1.59.01+AM.png" imageanchor="1"><img border="0" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7Yi7t-whsAZzBylkXZ3PMfmVQfkb_zgvxILHUSxub3Y2CZvc7Kvea9SLGlaOjmBPJtqYj8T55C7x2yMKAdiDI80OwCj9JTJb2wE4SiC2MeBcFA5D_VPtF29KNC6Jpe24xICbJKw/s640/Screen+Shot+2020-05-14+at+1.59.01+AM.png" width="640" /></a><br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPKBvbgQd4almVZrrK2oMnX4AkFYweDEKGKEGRTZ3lzIULO3KOxHrKeOqBFJi5dUU_VA005tzIHGRRkO0Tyoa4Q5aHcUpRSMS4Ob6z6cWCxoMwhowJrlCDhOXuaSu7VR6vu_LRzw/s1600/Screen+Shot+2020-05-14+at+12.28.26+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="473" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPKBvbgQd4almVZrrK2oMnX4AkFYweDEKGKEGRTZ3lzIULO3KOxHrKeOqBFJi5dUU_VA005tzIHGRRkO0Tyoa4Q5aHcUpRSMS4Ob6z6cWCxoMwhowJrlCDhOXuaSu7VR6vu_LRzw/s640/Screen+Shot+2020-05-14+at+12.28.26+AM.png" width="640" /></a></div>
<br />
<br />
<br />
Choose Insert option from Import Method:<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiseonM4XeQ3HzNd1wPxEaMI0dOHz1unapMYJE8yBe3bHcGzOcInUH-fpxK9rJ78Pqa5GW0OQcilGfovtoQgnixXOuIsNpm73DEAdZUo7q-bpxLpmW7nUSNPsjsERJEFdcTl1oHaQ/s1600/Screen+Shot+2020-05-14+at+12.30.00+AM.png" imageanchor="1"><img border="0" height="385" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiseonM4XeQ3HzNd1wPxEaMI0dOHz1unapMYJE8yBe3bHcGzOcInUH-fpxK9rJ78Pqa5GW0OQcilGfovtoQgnixXOuIsNpm73DEAdZUo7q-bpxLpmW7nUSNPsjsERJEFdcTl1oHaQ/s640/Screen+Shot+2020-05-14+at+12.30.00+AM.png" width="640" /></a><br />
<br />
Map the columns, if not already selected.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnjfcUNyRxdaWnPmOLAbgr2TuGPpZ0EIE_873OOPf6etTvs6NPh39yLwt1lBoyUnykgIiaZ6M081CmBTOHTg2FcO4aeP2vDPAZu65n_j5FjPgTwYXOQyV4YvVt19rU6DkkAXQQOg/s1600/Screen+Shot+2020-05-14+at+12.30.39+AM.png" imageanchor="1"><img border="0" height="387" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnjfcUNyRxdaWnPmOLAbgr2TuGPpZ0EIE_873OOPf6etTvs6NPh39yLwt1lBoyUnykgIiaZ6M081CmBTOHTg2FcO4aeP2vDPAZu65n_j5FjPgTwYXOQyV4YvVt19rU6DkkAXQQOg/s640/Screen+Shot+2020-05-14+at+12.30.39+AM.png" width="640" /></a><br />
<br />
Choose the Match by option drop down list:<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_vW1qfW7HIGcb9nfnZIkdpd2EuivEdmUVe_sWTwvg5Z-0XE74300X-KURvmAxicoIIV0DJsYsr-m26teB9RRmmMUNU_4aaVWqY9dmlcifwXdyLPOs-bJ9e7daD0UhvGe1DYrW0A/s1600/Screen+Shot+2020-05-14+at+12.31.09+AM.png" imageanchor="1"><img border="0" height="385" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_vW1qfW7HIGcb9nfnZIkdpd2EuivEdmUVe_sWTwvg5Z-0XE74300X-KURvmAxicoIIV0DJsYsr-m26teB9RRmmMUNU_4aaVWqY9dmlcifwXdyLPOs-bJ9e7daD0UhvGe1DYrW0A/s640/Screen+Shot+2020-05-14+at+12.31.09+AM.png" width="640" /></a><br />
<br />
Finish gives the import details.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7-bmqiK0u7ay6ThJO6V5Yys5G3NbNZa1rTiJ8HIDB66WX1x229NmvBX1kFK1NT3KDHkh1sMUEylCA0e4izzDZBa41V2koWpv1G9NGD5hQ9RW8cPLX4IXTYY6v2NGGC0XXTbcWqA/s1600/Screen+Shot+2020-05-14+at+12.31.39+AM.png" imageanchor="1"><img border="0" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7-bmqiK0u7ay6ThJO6V5Yys5G3NbNZa1rTiJ8HIDB66WX1x229NmvBX1kFK1NT3KDHkh1sMUEylCA0e4izzDZBa41V2koWpv1G9NGD5hQ9RW8cPLX4IXTYY6v2NGGC0XXTbcWqA/s640/Screen+Shot+2020-05-14+at+12.31.39+AM.png" width="640" /></a><br />
<br />
Once you click the Finish button, data will be loaded successfully and below message will appear:<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_J3PZImvuXU3SKXbnVp0rYYQT3FvcYtl9VKRNfZkG-Xe32hYIdavoB9LAk9kRH1qDJ77WSokli8S2_9j33wxh0iu3EX-8CCUwt1sDKiohRQFFtMrcF3LhX8lO9xm2gz0_dFd5pQ/s1600/Screen+Shot+2020-05-14+at+12.31.56+AM.png" imageanchor="1"><img border="0" height="111" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_J3PZImvuXU3SKXbnVp0rYYQT3FvcYtl9VKRNfZkG-Xe32hYIdavoB9LAk9kRH1qDJ77WSokli8S2_9j33wxh0iu3EX-8CCUwt1sDKiohRQFFtMrcF3LhX8lO9xm2gz0_dFd5pQ/s320/Screen+Shot+2020-05-14+at+12.31.56+AM.png" width="320" /></a><br />
<br />
And you can see the data is successfully loaded and can be viewed.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzZ19iuH1sc_cp7985F9ttu1nUN70XorSrf3A_VGhIISdn3K5qw3yDZ9ZG8Zq6K_Wl9n8g1kZX5hOqFfFcdTfcKzwmuZq4G7cA-Q0zUM0B6FdeYxDpGv91nSs6hyiEGX5UuPdD8w/s1600/Screen+Shot+2020-05-14+at+12.38.56+AM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="191" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzZ19iuH1sc_cp7985F9ttu1nUN70XorSrf3A_VGhIISdn3K5qw3yDZ9ZG8Zq6K_Wl9n8g1kZX5hOqFfFcdTfcKzwmuZq4G7cA-Q0zUM0B6FdeYxDpGv91nSs6hyiEGX5UuPdD8w/s400/Screen+Shot+2020-05-14+at+12.38.56+AM.png" width="400" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
So using SQL Developer, you can easily load the data from files <span style="background-color: #fcfbfa; caret-color: rgb(26, 24, 22); color: #1a1816; font-family: "Oracle Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif; font-size: 16px;">CSV, XLS, XLSX, TSV and TXT.</span><br />
<span style="background-color: #fcfbfa; caret-color: rgb(26, 24, 22); color: #1a1816; font-family: "Oracle Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif; font-size: 16px;">Hope you got the basic understanding of data loading using SQL Developer.</span><br />
<span style="background-color: #fcfbfa; caret-color: rgb(26, 24, 22); color: #1a1816; font-family: "Oracle Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif; font-size: 16px;"><br /></span></div>
The Human Flyhttp://www.blogger.com/profile/03489518270084955004noreply@blogger.com0tag:blogger.com,1999:blog-19771507.post-34426184396657318882020-05-12T14:37:00.000-07:002020-05-12T14:37:30.092-07:00Migration methods to Autonomous Database (ADB) - Part II (MV2ADB)<div dir="ltr" style="text-align: left;" trbidi="on">
In part II of migration methods to ADB blog series, we will look into MV2ADB tool details and usage. If you haven't read the Part I, I would encourage you to <a href="http://jaffardba.blogspot.com/2020/05/migration-methods-to-autonomous.html" target="_blank">read</a> it to get basic knowledge on various solutions offered by Oracle and some of the prerequisites for on-premise database migration to ADB.<br />
<br />
Move to Autonomous Database (aka MV2ADB) tool new tool introduced by Oracle to easily migrate on-premise Oracle database over Autonomous Database levering Oracle data pump capabilities. The tool automates data loading into Oracle Object storage and migrating the data into ADB by one-click option.<br />
<br />
The picture below depicts the flow of data migration process using the MV2ADB tool:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQd6slb0xu0ffWq6NM_p8VikuM_R_X-xm3wORTcAPPBh4hhQhjwrjk2bHcLhg_-Ueb0Fgr-4rePW-TPr0oAsRERwhp5O4RWcvJUxghp6SgVRdmGZM4nAqBfDGKZZw_0CWpe60WSA/s1600/Screen+Shot+2020-05-12+at+11.54.41+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="260" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQd6slb0xu0ffWq6NM_p8VikuM_R_X-xm3wORTcAPPBh4hhQhjwrjk2bHcLhg_-Ueb0Fgr-4rePW-TPr0oAsRERwhp5O4RWcvJUxghp6SgVRdmGZM4nAqBfDGKZZw_0CWpe60WSA/s400/Screen+Shot+2020-05-12+at+11.54.41+PM.png" width="400" /></a></div>
<br />
<br />
<br />
Ensure following conditions are met before you launch the migration operation:<br />
<br />
<ul style="text-align: left;">
<li>HTTP connectivity between on-premise and Oracle object storage. Required to move dump files</li>
<li>Download ADB credentials file</li>
<li>Download and install latest Oracle client to have new version of expdp/impdp and other essential tools</li>
<li>Perl >=5.10</li>
<li>Perl-data-dumper</li>
<li>Set java in execution path</li>
<li>Also download and configure OCI CLI from the below link:</li>
</ul>
<br />
<a href="https://github.com/oracle/oci-cli">https://github.com/oracle/oci-cli</a><br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1RsgIo4HHIENWvhAQxkkXC9n3DoyuJVCfKY0NEfwR7sDDgrhPGYurJqmue0z9KgNHbCZXmQratkv8KbYrlr7TdPt7u-X2rK0Porc9SzXa6ntEEtUxlgOqoylefkC4v-gkTNJQtA/s1600/Screen+Shot+2020-05-12+at+11.57.22+PM.png" imageanchor="1"><img border="0" height="353" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1RsgIo4HHIENWvhAQxkkXC9n3DoyuJVCfKY0NEfwR7sDDgrhPGYurJqmue0z9KgNHbCZXmQratkv8KbYrlr7TdPt7u-X2rK0Porc9SzXa6ntEEtUxlgOqoylefkC4v-gkTNJQtA/s640/Screen+Shot+2020-05-12+at+11.57.22+PM.png" width="640" /></a><br />
<br />
<br />
The MV2ADB tool can be installed on-premise using the RPM shown below:<br />
<br />
<span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;"># rpm -i mv2adb-2.0.1-X.noarch.rpm</span><br />
<br />
Following is the directory structure of the tool:<br />
<br />
<span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;"># tree /opt/mv2adb/</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">/opt/mv2adb/</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">├── conf</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">| └── DBNAME.mv2atp.cfg</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">├── lib</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">| ├── MV2ADB_LoggingAndTracing.pm</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">| ├── MV2ADB_passwd.jar</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">| ├── MV2ADB_PFile.pm</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">| ├── MV2ADB_Queries.pm</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">| └── MV2ADB_Utils.pm</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">└── mv2adb</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">└── utils</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;"> ├── install_adb_advisor.sql</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;"> └── premigration.jar</span><br />
<div>
<span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;"><br /></span></div>
<div>
<br /></div>
You can also download the tool zip file <a alt="mv2adb.tar.gz - 20191105 - $Revision: 2.0.1.67 $" href="https://support.oracle.com/epmos/main/downloadattachmentprocessor?parent=DOCUMENT&sourceId=2463574.1&attachid=2463574.1:MV2ADB.TAR.GZ&clickstream=yes" style="font-family: Tahoma, Verdana, Helvetica, sans-serif;" title="mv2adb.tar.gz - 20191105 - $Revision: 2.0.1.67 $">mv2adb-2.0.1-X.tar.gz</a> from the MOS specified here and using below tar command to untar the file into a specific directory on the server.<br />
<br />
<span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">tar xvfz mv2adb-2.0.1.X.tar.gz -C <target directory></span><br />
<br />
Before you use the tool, ensue the path is set correct, as shown below:<br />
<br />
<span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">$ export MV2ADB_HOME=/home/oracle/mv2adb/mv2adb-2.0.1.x</span><br />
<span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;"><br /></span>
<br />
Using command below, you can de-install the tool:<br />
<br />
<span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;"># rpm -e mv2adb-2.0.1-X.noarch</span><br />
<span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;"><br /></span>
<br />
You can refer the log files for diagnose issues related to the tool:<br />
<span style="background-color: white; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: x-small;"><br /></span>
<span style="background-color: white; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: x-small;">"/opt/mv2adb/out/log"</span><br />
<span style="background-color: white; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: x-small;"><br /></span>
<span style="background-color: white; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: x-small;"><br /></span>
MV2ADB supports following operational modes:<br />
<br />
<ul style="text-align: left;">
<li>Auto Operations</li>
<li>ExpDP Operations</li>
<li>ImpDP Operation</li>
<li>OCI Object Storage/Bucket Operations</li>
<li>Database Schema Operations</li>
<li>Encrypt Password Operations</li>
</ul>
<div>
The Auto operations (aka one command operation) automates the entire migration operation, performing the following individual operation:</div>
<div>
<ul style="text-align: left;">
<li>Schema based expdp from source database</li>
<li>Upload the dump file over OCI object storage</li>
<li>Loading data with impdp to ADB</li>
</ul>
<div>
Refer the below sytanx for parameters and usage:</div>
</div>
<div>
<br /></div>
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9sJyPhpNcQRVztWkvtSwhzd-xEaIm4PZ5HvDz0KSeutp5MgeAfANqE2DKLor-b_dRiVduPpcWn-EUB_ndhn0HArMR22z8fdWjKmAo3XBvBo-6GY5SC7s4tUbW02KHd-2tv2-7Gw/s1600/Screen+Shot+2020-05-13+at+12.17.42+AM.png" imageanchor="1"><img border="0" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9sJyPhpNcQRVztWkvtSwhzd-xEaIm4PZ5HvDz0KSeutp5MgeAfANqE2DKLor-b_dRiVduPpcWn-EUB_ndhn0HArMR22z8fdWjKmAo3XBvBo-6GY5SC7s4tUbW02KHd-2tv2-7Gw/s640/Screen+Shot+2020-05-13+at+12.17.42+AM.png" width="640" /></a></div>
<br />
Courtesy MOS 2463574.1<br />
<br />
Example with configuration file:<br />
<span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;"># ./mv2adb auto -conf conf/mv2atp.cfg</span><br />
<br />
As mentioned the different operation modes, you can also use to export, copy, or import data using individual operation modes available with the tool. Refer the examples below:<br />
<br />
<span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;"># ./mv2adb expdp \</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">--dbcs //<host name/ip address>/DB122H1 \</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">--schemas SCHEMA_1,SCHEMA_2,SCHEMA_3,SCHEMA_4 \</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">--dumpname expdp.dmp --dumppath /tmp \</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">--ohome /u01/app/oracle/product/12.2.0.1/dbhome_1 \</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">--adbname RCATP \</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">--adbcfile /opt/mv2adb/source/Wallet_RCATP.zip \</span><br />
<br />
<span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;"># ./mv2adb impdp \</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">-ociregion us-phoenix \</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">-ocinamespace NAMESPACE_NAME \</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">-ocibucket BUCKET_NAME \</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">-ociid mail@corp.com \</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">-adbname RCATP \</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">-cfile /opt/mv2adb/source/Wallet_RCATP.zip \</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">-ichome /u01/app/oracle/product/instantclient_18_3 \</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">-dumpfile rcatp_exp_01.dmp,rcatp_exp_02.dmp \</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">-encryption \</span><br style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;" /><span style="background-color: #e0eaf1; font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">-enctype AES256</span><br />
<br />
For more usage Syntax and examples, refer MOS 2463574.1.<br />
<br />
One of the advantages of MV2ADB is that the tool automatically install, configure and execute the Schema Advisor.<br />
<br />
The tool can be used with configuration file or command line options.<br />
<br />
<br />
<u>References:</u><br />
<table border="0" cellpadding="0" cellspacing="0" id="kmPgTpl:r1:0:tl5" style="caret-color: rgb(51, 51, 51); color: #333333; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px; width: 100%px;" summary=""><tbody>
<tr id="kmPgTpl:r1:0:rl12"><td align="left" id="kmPgTpl:r1:0:cf49"><span class="xq" id="kmPgTpl:r1:0:ol22" style="color: black; font-size: 14.300000190734863px; font-weight: bold; padding: 0px 6px 0px 0px; text-align: right;"><label>(ADB) MV2ADB: move data to Autonomous Database in "one-click" (Doc ID 2463574.1)<br /></label></span></td></tr>
</tbody></table>
<br /></div>
The Human Flyhttp://www.blogger.com/profile/03489518270084955004noreply@blogger.com0tag:blogger.com,1999:blog-19771507.post-62598395025725361552020-05-10T15:35:00.002-07:002020-05-12T14:39:49.975-07:00Migration methods to Autonomous Database (ADB) - Part I (Data Pump)<div dir="ltr" style="text-align: left;" trbidi="on">
<a href="https://www.blogger.com/blogger.g?blogID=19771507" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><a href="https://www.blogger.com/blogger.g?blogID=19771507" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a>In this part of on-premise Oracle database migration to ADB series, we will focus on set of tools to migrate your on-prime database to Autonomies database (ADB). We will briefly discuss about various migration solutions offered by Oracle and walk through data pumps migration pre-requisites and procedure.<br />
<div>
<br /></div>
<div>
Database cloud migration requires a good amount of knowledge about various methods offered by Oracle and the best solution that suits your business need. The best place to start with understanding various database cloud migration solutions is to visit the below interactive Cloud Migration Advisor page designed by Oracle:</div>
<div>
<br /></div>
<div>
<a href="https://www.oracle.com/sa/database/technologies/cloud-migration.html">https://www.oracle.com/sa/database/technologies/cloud-migration.html</a></div>
<div>
<br /></div>
<div>
<b><u>ADB Schema Advisor</u></b></div>
<div>
<br /></div>
<div>
Once adequate knowledge is gained, the very next step is to know the restrictions & limitations imposed by Oracle ADB. Oracle simplifies this task by introducing a advisor, ADB Schema Advisor. Configure Oracle Autonomous Database Schema Advisor to analyze existing on-premise database and get a report on any concerns that may arise during migration phase. ADB Schema Advisor a very light weight utility with capabilities to analyze existing on-premise database for migration suitability. You can also easily drop the schema. As there are certain limitations with some data types in ADB, the utility helps analyzing and reporting such objects with restricted data types in on-premise database as part of analysis. The utility runs on existing schemas and produces following report:</div>
<div>
<ul style="text-align: left;">
<li>Migration summary report with object count</li>
<li>List objects that can't be migrated to ADB due to restrictions and limitations</li>
<li>Also, objects list that can be migrated with modifications automatically during import process </li>
<li>And Best practices and guidance are listed under Information section</li>
</ul>
<div>
You can download the ADB Schema Advisor utility from MOS <u>2462677.1,</u> which also includes installation & executions steps and advisor output.</div>
</div>
<div>
<br /></div>
<div>
<u>Migration methods</u></div>
<div>
<br /></div>
<div>
Below picture depicts various set of tools supported by Oracle to migrate your on-premise Oracle database to Autonomous Database:<br />
<div>
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxBsPj83-qU7F3z6MoqWXx6zXFbQCs7U89RleF-8kN_QAsQ64ZNGRiUXbB4CGS2AzirSglawtUepGWc1ATmkHE2yS3sjaCqluH6clRCBVi9SCdcUrWj8mCpWmpNGnbjcVatUiSmA/s1600/Screen+Shot+2020-05-13+at+12.38.58+AM.png" imageanchor="1"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxBsPj83-qU7F3z6MoqWXx6zXFbQCs7U89RleF-8kN_QAsQ64ZNGRiUXbB4CGS2AzirSglawtUepGWc1ATmkHE2yS3sjaCqluH6clRCBVi9SCdcUrWj8mCpWmpNGnbjcVatUiSmA/s640/Screen+Shot+2020-05-13+at+12.38.58+AM.png" width="640" /></a></div>
<div>
<br />
<div>
<br /></div>
<div>
<br /></div>
<div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br /></div>
<div>
<u>Cloud migration path</u></div>
<div>
<br /></div>
<div>
To be able to migrate the data, dump files must be placed in cloud storage, either from Oracle, Microsoft Azure, AWS S3 or Oracle cloud object storage. </div>
<div>
<br /></div>
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxn4tPGjBy0mb5BYUB6ijsIdvdY9rSvepdLBFe8AngDxgBYOcXQYE9e8Y56fH-F-5epSkPbiWxv6LabuzaczwwMSxzBAQdSWojtQp6l4S33PMIXkohhFoDeSZti3roBZrEFZd77Q/s1600/Screen+Shot+2020-05-13+at+12.39.24+AM.png" imageanchor="1"><img border="0" height="156" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxn4tPGjBy0mb5BYUB6ijsIdvdY9rSvepdLBFe8AngDxgBYOcXQYE9e8Y56fH-F-5epSkPbiWxv6LabuzaczwwMSxzBAQdSWojtQp6l4S33PMIXkohhFoDeSZti3roBZrEFZd77Q/s400/Screen+Shot+2020-05-13+at+12.39.24+AM.png" width="400" /></a></div>
<div>
<br /></div>
<div>
Migrating with Oracle Data Pump</div>
<div>
<br /></div>
<div>
Oracle Data Pump offers flexible and fast data movement between Oracle databases. Data pump lets you import from dump files residing on cloud storage. Refer the following example to export on-premise database:</div>
<div>
<br /></div>
<div>
<pre class="oac_no_warn" dir="ltr" style="background-color: white; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; border: 2px solid rgb(222, 218, 214); box-sizing: border-box; caret-color: rgb(26, 24, 22); color: #1a1816; font-family: "courier new", courier, monospace; font-size: 16px; font-stretch: normal; line-height: 1.44; margin-bottom: 1em; margin-top: 1em; overflow: auto; padding: 18px; word-break: normal; word-wrap: normal;">expdp sh/welcome123@mydb \
<span style="box-sizing: border-box;">exclude=index,cluster,indextype,materialized_view,materialized_view_log,materialized_zonemap,db_link</span> \
<span style="box-sizing: border-box;">data_options=group_partition_table_data </span> \
parallel=16 \
schemas=sh \
dumpfile=exp_MYDB_%u.dmp \
encryption_pwd_prompt=yes</pre>
</div>
<div>
Below are some guideline and recommend parameters to use with expdp:</div>
<div>
<br /></div>
<div>
<ul style="text-align: left;">
<li>Schema level export for ADB migration</li>
<li>Use parallelism to speed-up export job</li>
<li>Exclude data types that are not supported in ADB with exclude parameter </li>
<li>With data_options parameter, you can group portions into a non-partition table, recommended by ADB</li>
</ul>
</div>
<div>
Once the database is exported, move the dump files to Cloud Storage. In this blog, we will presume you have Oracle Cloud Object Storage option to put your dump files.</div>
<div>
<br /></div>
<div>
Download the latest Oracle client software on your desktop (if not exist) with also includes the latest Data Pump utilities. Before you start importing the database into ADB, ensure the following are in-place:</div>
<div>
<br /></div>
<div>
<ol style="text-align: left;">
<li>An ADB database is configured, up and running</li>
<li>You have downloaded the ADB connect credentials from OCI page for the ADB</li>
<li>Export files are moved to Cloud storage</li>
<li>Create cloud storage credentials in ADB </li>
</ol>
<div>
For more details about credentials download, <a href="https://www.blogger.com/blogger.g?blogID=19771507#" id="http://jaffardba.blogspot.com/2020/04/sql-plus-connectivity-to-autonomous.html">refer my earlier blog post</a>.</div>
</div>
<div>
<br /></div>
<div>
If you are using Oracle cloud object storage, you will have to create a bucket and place all your dump files.</div>
<div>
<br /></div>
<div>
Create cloud storage credentials in ADB referring below example:</div>
<div>
<br /></div>
<div>
<pre class="language-sql" style="background-color: white; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; border: 2px solid rgb(222, 218, 214); box-sizing: border-box; caret-color: rgb(26, 24, 22); color: #1a1816; font-family: "courier new", courier, monospace; font-size: 16px; font-stretch: normal; line-height: 1.44; margin-bottom: 10px; margin-top: 0px; overflow: auto; padding: 18px; word-break: normal; word-wrap: normal;"><code class="hljs" style="background-attachment: inherit; background-clip: inherit; background-color: transparent; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: black; font-family: "courier new", courier, monospace; padding: 0px;"><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">BEGIN</span>
</span><span style="box-sizing: border-box;"><code class="codeph" style="background-attachment: inherit; background-clip: inherit; background-color: transparent; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: #333333; font-family: "courier new", courier, monospace; padding: 0px;"><span class="hljs-operator" style="box-sizing: border-box;">DBMS_CLOUD.CREATE_CREDENTIAL</span></code></span><span class="hljs-operator" style="box-sizing: border-box;">(
credential_name => <span class="hljs-string" style="box-sizing: border-box; color: #880000;">'</span></span><span style="box-sizing: border-box;"><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-string" style="box-sizing: border-box; color: #880000;">DEF_CRED_NAME</span></span></span><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-string" style="box-sizing: border-box; color: #880000;">'</span>,
username => <span class="hljs-string" style="box-sizing: border-box; color: #880000;">'</span></span><span style="box-sizing: border-box;"><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-string" style="box-sizing: border-box; color: #880000;">adwc_user</span></span></span><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-string" style="box-sizing: border-box; color: #880000;">@example.com'</span>,
<span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">password</span> => <span class="hljs-string" style="box-sizing: border-box; color: #880000;">'<i>Welcome12$</i></span></span><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-string" style="box-sizing: border-box; color: #880000;">'</span>
);</span>
<span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">END</span>;</span>
/</code></pre>
</div>
<div>
<br /></div>
<div>
Once the credentials are created in ADB, run the imp command from your desktop referring the example below:</div>
<div>
<br /></div>
<div>
<pre class="oac_no_warn" dir="ltr" style="background-color: white; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; border: 2px solid rgb(222, 218, 214); box-sizing: border-box; caret-color: rgb(26, 24, 22); color: #1a1816; font-family: "courier new", courier, monospace; font-size: 16px; font-stretch: normal; line-height: 1.44; margin-bottom: 1em; margin-top: 1em; overflow: auto; padding: 18px; word-break: normal; word-wrap: normal;">impdp admin/<span style="box-sizing: border-box;"><span class="italic" style="box-sizing: border-box; font-style: italic;">password</span></span>@<span style="box-sizing: border-box;">ADWC1_high</span> \
directory=data_pump_dir \
credential=def_cred_name \
dumpfile= https://objectstorage.us-ashburn-1.oraclecloud.com/n/<span style="box-sizing: border-box;"><span class="italic" style="box-sizing: border-box; font-style: italic;">namespace-string</span></span>/b/bucketname/o/export%u.dmp \
parallel=16 \
encryption_pwd_prompt=yes \
<span style="box-sizing: border-box;">partition_options=merge</span> \
transform=segment_attributes:n \
transform=dwcs_cvt_iots:y transform=constraint_use_default_index:y \
<span style="box-sizing: border-box;">exclude=index,cluster,indextype,materialized_view,materialized_view_log,materialized_zonemap,db_link</span></pre>
</div>
<div>
If you have worked with ADB, you know that admin is the default administrator user. If you wanna use different user to import, then, you will have to create that user in the ADB with required privileges for import. You can choose the TNS service name from the credentials file you have downloaded. You must specify the object URL in the dump file parameter, which is the location of your bucket with dump files.</div>
<div>
<br /></div>
<div>
You may notice we didn't mention the log file in the impdp. To review the log file, you may have to move the file to your object storage using the syntax below:</div>
<div>
<br /></div>
<div>
<pre class="language-sql" style="background-color: white; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; border: 2px solid rgb(222, 218, 214); box-sizing: border-box; caret-color: rgb(26, 24, 22); color: #1a1816; font-family: "courier new", courier, monospace; font-size: 16px; font-stretch: normal; line-height: 1.44; margin-bottom: 10px; margin-top: 0px; overflow: auto; padding: 18px; word-break: normal; word-wrap: normal;"><code class="hljs" style="background-attachment: inherit; background-clip: inherit; background-color: transparent; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: black; font-family: "courier new", courier, monospace; padding: 0px;"><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">BEGIN</span>
</span><span style="box-sizing: border-box;"><code class="codeph" style="background-attachment: inherit; background-clip: inherit; background-color: transparent; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: #333333; font-family: "courier new", courier, monospace; padding: 0px;"><span class="hljs-operator" style="box-sizing: border-box;">DBMS_CLOUD.PUT_OBJECT</span></code></span><span class="hljs-operator" style="box-sizing: border-box;">(
credential_name => <span class="hljs-string" style="box-sizing: border-box; color: #880000;">'</span></span><span style="box-sizing: border-box;"><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-string" style="box-sizing: border-box; color: #880000;">DEF_CRED_NAME</span></span></span><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-string" style="box-sizing: border-box; color: #880000;">'</span>,
object_uri => <span class="hljs-string" style="box-sizing: border-box; color: #880000;">'https://objectstorage.us-ashburn-1.oraclecloud.com/n/</span></span><span style="box-sizing: border-box;"><span class="italic" style="box-sizing: border-box; font-style: italic;"><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-string" style="box-sizing: border-box; color: #880000;">namespace-string</span></span></span></span><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-string" style="box-sizing: border-box; color: #880000;">/b/</span></span><span style="box-sizing: border-box;"><span class="italic" style="box-sizing: border-box; font-style: italic;"><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-string" style="box-sizing: border-box; color: #880000;">bucketname</span></span></span></span><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-string" style="box-sizing: border-box; color: #880000;">/o/import.log'</span>,
directory_name => <span class="hljs-string" style="box-sizing: border-box; color: #880000;">'DATA_PUMP_DIR'</span>,
file_name => <span class="hljs-string" style="box-sizing: border-box; color: #880000;">'import.log'</span>);</span>
<span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">END</span>;</span>
/</code></pre>
</div>
<div>
<br /></div>
<div>
<u>Conclusion</u></div>
<div>
In nutshell, we have learned about various set of tools supported by Oracle to migrate on-prime database to ADB and a walk through a procedure of migrate an on-premise database to ADB using data pumps with best practices for fast migrations. In the subsequent blog posts, we will learn about MV2ADB and other tools and their procedure to migrate to ADB. </div>
<div>
<br /></div>
<div>
<u>References:</u></div>
<div>
<br /></div>
<div>
Refer some of below notes and links for more understanding about on-premise database migration to Oracle ADB.</div>
<div>
<br /></div>
<div>
<span style="background-color: white; font-family: "tahoma" , "verdana" , "helvetica" , sans-serif; font-size: 14.300000190734863px; font-weight: bold; text-align: right;">Oracle Autonomous Database Schema Advisor (Doc ID 2462677.1)</span></div>
<div>
https://docs.oracle.com/en/cloud/paas/autonomous-data-warehouse-cloud/user/load-data-data-pump.html#GUID-30DB1EEA-DB45-49EA-9E97-DF49A9968E24</div>
<div>
https://www.oracle.com/middleeast/database/technologies/cloud-migration.html</div>
</div>
<div>
https://www.oracle.com/webfolder/s/assets/webtool/cloud-migration-advisor/index.html</div>
<div>
<br /></div>
<div>
Note : Pictures & Diagrams copied from various Oracle presentations for eduction and demo purpose only.</div>
</div>
</div>
The Human Flyhttp://www.blogger.com/profile/03489518270084955004noreply@blogger.com0tag:blogger.com,1999:blog-19771507.post-74458197584784719242020-04-04T14:00:00.017-07:002020-04-05T03:58:57.927-07:00DB Links and ADB - Dos and Don'tsDB Link simplifies data sharing across oracle databases. And DB link is created using the <i>CREATE DATABASE LINK</i> SQL command, a very simple and straight forward method. DB link creation has a different procedure on an Autonomous database in contract to typical Oracle databases. In this post, we will highlight the rules, limitations and the use of new <i>DBMS_CLOUD_ADMIN </i>package. Let's get into the action.<div><br /></div><div><b>Rules and Limitations</b></div><div><br /></div><div>Note some of below rules and limitations of creating DB link from ADB:</div><div><br /></div><div><ul style="text-align: left;"><li>The target databases (non-ADB) should be configured to use TCP/IP with SSL (TCPS) authentication</li><li>The allowed DB port range is 1521-1525 to ensure the security. You can define the port while creating the DB link</li><li>ADB DB link support databases that are only accessible through a public IP or public hostname</li><li>One directory restricted to one wallet file. Create multiple directories to keep multiple wallet files of multiple databases</li><li>Supported target database versions are 11.2.0.2, 12.1.0.2, 12.2.0.1, 18c and 19c.</li></ul><div><b>Creating DB link from Autonomous Database</b></div><div><br /></div><div>Now let's walk through DB link creation procedure from an Autonomous database. As mentioned, you should use <i>DBMS_CLOUD_ADMIN.CREATE_ DATABASE_LINK</i> procedure on ADB. Below steps describe the required procedure:</div></div><div><ul style="text-align: left;"><li>Copy your target database wallet file (<i>cwallet.sso</i>) which contains target database certification to an object store</li><li>Using <i>DBMS_CLOUD.CREATE_CREDENTIAL</i> procedure, create access credentials to the object store where the target wallet file is stored.</li><li>Upload the target database wallet file from Object store to database directory using the DBMS_CLOUD.GET_OBJECT procedure. Refer example below:</li></ul></div><div><div><pre class="language-sql" style="background-color: white; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; border: 2px solid rgb(222, 218, 214); box-sizing: border-box; caret-color: rgb(26, 24, 22); color: #1a1816; font-family: "courier new", courier, monospace; font-size: 16px; font-stretch: normal; line-height: 1.44; margin-bottom: 10px; margin-top: 0px; overflow: auto; padding: 18px; word-break: normal; word-wrap: normal;"><code class="hljs" style="background-attachment: inherit; background-clip: inherit; background-color: transparent; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: black; font-family: "courier new", courier, monospace; padding: 0px;"><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">BEGIN</span>
</span><span style="box-sizing: border-box;"><code class="codeph" style="background-attachment: inherit; background-clip: inherit; background-color: transparent; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: #333333; font-family: "courier new", courier, monospace; padding: 0px;"><span class="hljs-operator" style="box-sizing: border-box;">DBMS_CLOUD.GET_OBJECT</span></code></span><span class="hljs-operator" style="box-sizing: border-box;">(
credential_name => <span class="hljs-string" style="box-sizing: border-box; color: #880000;">'DEFF_CRED_CRDB'</span>,
object_uri => <span class="hljs-string" style="box-sizing: border-box; color: #880000;">'https://objectstorage.us-phoenix-1.oraclecloud.com/n/</span></span><span style="box-sizing: border-box;"><span class="italic" style="box-sizing: border-box; font-style: italic;"><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-string" style="box-sizing: border-box; color: #880000;">namespace-string</span></span></span></span><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-string" style="box-sizing: border-box; color: #880000;">/b/</span></span><span style="box-sizing: border-box;"><span class="italic" style="box-sizing: border-box; font-style: italic;"><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-string" style="box-sizing: border-box; color: #880000;">bucketname</span></span></span></span><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-string" style="box-sizing: border-box; color: #880000;">/o/cwallet.sso'</span>,
directory_name => <span class="hljs-string" style="box-sizing: border-box; color: #880000;">'DATA_PUMP_DIR'</span>);</span> -- DATA_PUMP_DIR is the predefined/default directory. It can be another DB directory.
<span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">END</span>;</span>
/</code></pre></div></div><div><ul style="text-align: left;"><li>Create credentials on ADB, refer below example:</li></ul></div><div><br /></div><div><div><pre class="language-sql" style="background-color: white; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; border: 2px solid rgb(222, 218, 214); box-sizing: border-box; caret-color: rgb(26, 24, 22); color: #1a1816; font-family: "courier new", courier, monospace; font-size: 16px; font-stretch: normal; line-height: 1.44; margin-bottom: 10px; margin-top: 0px; overflow: auto; padding: 18px; word-break: normal; word-wrap: normal;"><code class="hljs" style="background-attachment: inherit; background-clip: inherit; background-color: transparent; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: black; font-family: "courier new", courier, monospace; padding: 0px;"><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">BEGIN</span>
</span><span style="box-sizing: border-box;"><code class="codeph" style="background-attachment: inherit; background-clip: inherit; background-color: transparent; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: #333333; font-family: "courier new", courier, monospace; padding: 0px;"><span class="hljs-operator" style="box-sizing: border-box;">DBMS_CLOUD.CREATE_CREDENTIAL</span></code></span><span class="hljs-operator" style="box-sizing: border-box;">(
credential_name => <span class="hljs-string" style="box-sizing: border-box; color: #880000;">'DBL_CRDB'</span>,
username => <span class="hljs-string" style="box-sizing: border-box; color: #880000;">'SCOTT'</span>, -- username must be specified in CAPITAL
<span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">password</span> => <span class="hljs-string" style="box-sizing: border-box; color: #880000;">'</span></span><span style="box-sizing: border-box;"><span class="italic" style="box-sizing: border-box; font-style: italic;"><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-string" style="box-sizing: border-box; color: #880000;">welcome1</span></span></span></span><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-string" style="box-sizing: border-box; color: #880000;">'</span>
);</span>
<span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">END</span>;</span>
/</code></pre></div><div>Details are stored in the database in encrypted format.</div><div>You can use the query below to list the stored credentials:</div><div><br /></div><div><pre class="language-sql" style="background-color: white; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; border: 2px solid rgb(222, 218, 214); box-sizing: border-box; caret-color: rgb(26, 24, 22); color: #1a1816; font-family: "courier new", courier, monospace; font-size: 16px; font-stretch: normal; line-height: 1.44; margin-bottom: 10px; margin-top: 0px; overflow: auto; padding: 18px; word-break: normal; word-wrap: normal;"><code class="hljs" style="background-attachment: inherit; background-clip: inherit; background-color: transparent; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: black; font-family: "courier new", courier, monospace; padding: 0px;"><span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">SELECT</span> credential_name, username, comments <span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">FROM</span> all_credentials;</code></pre></div><div><ul style="text-align: left;"><li>You can use below command to drop credentials from the database:</li></ul><div><pre class="language-sql" style="background-color: white; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; border: 2px solid rgb(222, 218, 214); box-sizing: border-box; caret-color: rgb(26, 24, 22); color: #1a1816; font-family: "courier new", courier, monospace; font-size: 16px; font-stretch: normal; line-height: 1.44; margin-bottom: 10px; margin-top: 0px; overflow: auto; padding: 18px; word-break: normal; word-wrap: normal;"><code class="hljs" style="background-attachment: inherit; background-clip: inherit; background-color: transparent; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: black; font-family: "courier new", courier, monospace; padding: 0px;"><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">BEGIN</span>
</span><span style="box-sizing: border-box;"><code class="codeph" style="background-attachment: inherit; background-clip: inherit; background-color: transparent; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: #333333; font-family: "courier new", courier, monospace; padding: 0px;"><span class="hljs-operator" style="box-sizing: border-box;">DBMS_CLOUD.DROP_CREDENTIAL</span></code></span><span class="hljs-operator" style="box-sizing: border-box;">(<span class="hljs-string" style="box-sizing: border-box; color: #880000;">'DBL_CRDB'</span>);</span>
<span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">END</span>;</span></code></pre></div><br /><ul style="text-align: left;"></ul></div></div><div><ul style="text-align: left;"><li>Now we are ready to create database link from Autonomous database. Use the example below to create:</li></ul><div><pre class="language-sql" style="background-color: white; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; border: 2px solid rgb(222, 218, 214); box-sizing: border-box; caret-color: rgb(26, 24, 22); color: #1a1816; font-family: "courier new", courier, monospace; font-size: 16px; font-stretch: normal; line-height: 1.44; margin-bottom: 10px; margin-top: 0px; overflow: auto; padding: 18px; word-break: normal; word-wrap: normal;"><code class="hljs" style="background-attachment: inherit; background-clip: inherit; background-color: transparent; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: black; font-family: "courier new", courier, monospace; padding: 0px;"><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">BEGIN</span>
</span><span style="box-sizing: border-box;"><code class="codeph" style="background-attachment: inherit; background-clip: inherit; background-color: transparent; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: #333333; font-family: "courier new", courier, monospace; padding: 0px;"><span class="hljs-operator" style="box-sizing: border-box;">DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK</span></code></span><span class="hljs-operator" style="box-sizing: border-box;">(
db_link_name => <span class="hljs-string" style="box-sizing: border-box; color: #880000;">'ADB_TO_CRDB'</span>,
hostname => <span class="hljs-string" style="box-sizing: border-box; color: #880000;">'adb.eu-frankfurt-1.oraclecloud.com'</span>,
port => <span class="hljs-string" style="box-sizing: border-box; color: #880000;">'1525'</span>,
service_name => <span class="hljs-string" style="box-sizing: border-box; color: #880000;">'example_medium.</span></span><span style="box-sizing: border-box;"><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-string" style="box-sizing: border-box; color: #880000;">adwc.example.oraclecloud.com</span></span></span><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-string" style="box-sizing: border-box; color: #880000;">'</span>,
ssl_server_cert_dn => <span class="hljs-string" style="box-sizing: border-box; color: #880000;">'CN=</span></span><span style="box-sizing: border-box;"><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-string" style="box-sizing: border-box; color: #880000;">adwc.example.oraclecloud.com</span></span></span><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-string" style="box-sizing: border-box; color: #880000;">,OU=Oracle BMCS FRANKFURT,O=Oracle Corporation,L=Redwood City,ST=California,C=US'</span>,
credential_name => <span class="hljs-string" style="box-sizing: border-box; color: #880000;">'DBL_CRDB'</span>,
directory_name => <span class="hljs-string" style="box-sizing: border-box; color: #880000;">'DATA_PUMP_DIR'</span>);</span>
<span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">END</span>;</span>
/</code></pre></div></div><div>If you are not an admin privileged user, get the permission to run <i>DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK</i> procedure.</div><div><br /></div><div>Now, you can use the DB link from ADB to the target database.</div><div><br /></div><div>To drop DB link from ADB, you can use the example below:</div><div><br /></div><div><pre class="language-sql" style="background-color: white; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; border: 2px solid rgb(222, 218, 214); box-sizing: border-box; caret-color: rgb(26, 24, 22); color: #1a1816; font-family: "courier new", courier, monospace; font-size: 16px; font-stretch: normal; line-height: 1.44; margin-bottom: 10px; margin-top: 0px; overflow: auto; padding: 18px; word-break: normal; word-wrap: normal;"><code class="hljs" style="background-attachment: inherit; background-clip: inherit; background-color: transparent; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: black; font-family: "courier new", courier, monospace; padding: 0px;"><span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">BEGIN</span>
</span><span style="box-sizing: border-box;"><code class="codeph" style="background-attachment: inherit; background-clip: inherit; background-color: transparent; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: #333333; font-family: "courier new", courier, monospace; padding: 0px;"><span class="hljs-operator" style="box-sizing: border-box;">DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK</span></code></span><span class="hljs-operator" style="box-sizing: border-box;">(
db_link_name => <span class="hljs-string" style="box-sizing: border-box; color: #880000;">'ADB_TO_CRDB'</span> );</span>
<span class="hljs-operator" style="box-sizing: border-box;"><span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">END</span>;</span>
/</code></pre></div><div><br /></div><div><b>Creating DB link to ADB</b></div><div><br /></div><div>We have learned so far how to create a DB link from ADB to target database. This section will zip through DB link creation to ADB.</div><div>As I have mentioned my <a href="http://jaffardba.blogspot.com/2020/04/sql-plus-connectivity-to-autonomous.html" target="_blank">previous</a> blog entry that ADB only accepts secured client connections. To which, you will have to download client connect credentials. You can refer my previous blog post for the procedure.</div><div><br /></div><div>Before creating database link, ensure the following is met:</div><div><ul style="text-align: left;"><li>Download the client connect credentials</li><li>Unzip the downloaded file to a secure location your computer</li><li>Turn of GLOBAL_NAMES parameter using 'ALTER SYSTEM SET GLOBAL_NAMES=FALSE';</li><li>Using below example, create a db LINK ADB:</li></ul><div><pre class="language-sql" style="background-color: white; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; border: 2px solid rgb(222, 218, 214); box-sizing: border-box; caret-color: rgb(26, 24, 22); color: #1a1816; font-family: "courier new", courier, monospace; font-size: 16px; font-stretch: normal; line-height: 1.44; margin-bottom: 10px; margin-top: 0px; overflow: auto; padding: 18px; word-break: normal; word-wrap: normal;"><code class="hljs" style="background-attachment: inherit; background-clip: inherit; background-color: transparent; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: black; font-family: "courier new", courier, monospace; padding: 0px;"><span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">CREATE</span> <span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">DATABASE</span> LINK DBL_TO_ADB
<span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">CONNECT</span> <span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">TO</span> SYEDJ <span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">IDENTIFIED</span> <span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">BY</span> welcome1
<span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">USING</span>
<span class="hljs-string" style="box-sizing: border-box; color: #880000;">'(description=(retry_count=20)(retry_delay=3)
(address=(protocol=tcps)(port=1522)(host=example1.oraclecloud.com))
(connect_data=(service_name=example2_high.adwc.oraclecloud.com))
(security=(my_wallet_directory=/u01/targetwallet)
(ssl_server_dn_match=true)
(ssl_server_cert_dn="CN=example2.oraclecloud.com,OU=Oracle
BMCS US,O=Oracle Corporation,L=Redwood City,ST=California,C=US")))'</span>;</code></pre></div><div><br /></div><div>At this point in time the DB link is ready.</div><div><br /></div><div>In nutshell, this blog post explained the do's and don'ts of creating DB link from/to ADB.</div><div><br /></div><div><br /></div></div><div><br /></div><div><br /></div><div><br /></div>The Human Flyhttp://www.blogger.com/profile/03489518270084955004noreply@blogger.com0tag:blogger.com,1999:blog-19771507.post-22203508050485875222020-04-04T06:09:00.001-07:002020-04-04T06:09:57.712-07:00Connecting to an Autonomous Database using JDBC Thin clientI have discussed in my earlier posts about establishing SQL * Plus and using the SQLcl tool details. Today's blog post will take you through JDBC Thin client configuration details to be able to successfully connect with an autonomous database service. Will primarily focus on mandatory JDK, JDBC versions and client connect credentials requirement details. Let's get started.<div><br /></div><div>To begin with, any Java application that uses JDBC Thin driver requires an Oracle wallet or JavaKeyStore(JKS). Luckily, these files are readily available on OCI console for download. Refer my <a href="http://jaffardba.blogspot.com/2020/04/sql-plus-connectivity-to-autonomous.html" target="_blank">earlier blog pos</a>t to learn about downloading client connect credentials files and JavakeyStore files.<br /><div><br /></div><div><b>Prerequisites for JDBC Thin Driver</b></div><div><br /></div><div>Below is the list of perquisites for JDBC Thin client connection:</div><div><br /></div><div><ul style="text-align: left;"><li>Download Connect Credentials as explained in the <a href="http://jaffardba.blogspot.com/2020/04/sql-plus-connectivity-to-autonomous.html" target="_blank">previous</a> post</li><li>Validate JDK version for security, if you are on less than JDK8u162</li><li>Check JDBC driver version</li><li>JDBC driver 18.3 or higher simplifies security credentials wallet connection configuration.</li><li>Specify the wallet directory in the JDBC connect string.</li><li>Include the wallet directory location in the JDBC url if no TNS_ADMIN environmental variable is set.</li></ul></div><div><u>Connection string url</u></div></div><div><br /></div><div>Part of client connect credentials downloads, you will have tnsnames.ora files which contains tns service names and connection strings. Below is an example of high level connect string entry:</div><div><br /></div><div><pre class="pre codeblock hljs" style="background-color: white; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; border: 2px solid rgb(222, 218, 214); box-sizing: border-box; font-size: 16px; font-stretch: normal; line-height: 1.44; margin-bottom: 1em; margin-top: 1em; overflow: auto; padding: 18px; word-break: normal; word-wrap: normal;"><code style="background-attachment: inherit; background-clip: inherit; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: #1a1816; font-family: "Courier New", Courier, monospace; font-stretch: normal; line-height: 1.44; padding: 0px;">dbname_high= (description=
(address=(protocol=tcps)(port=1522)(host=adw.example.oraclecloud.com))(connect_data=(service_name=adw_jdbctest_high.oraclecloud.com))(security=(ssl_server_cert_dn="CN=adw.oraclecloud.com,OU=Oracle
US,O=Oracle Corporation,L=Redwood City,ST=California,C=US")))</code></pre></div><div>JDBC 18.3 Thin Driver connection string example, for Linux platform:</div><div><br /></div><div><pre class="pre codeblock hljs" style="background-color: white; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; border: 2px solid rgb(222, 218, 214); box-sizing: border-box; font-size: 16px; font-stretch: normal; line-height: 1.44; margin-bottom: 1em; margin-top: 1em; overflow: auto; padding: 18px; word-break: normal; word-wrap: normal;"><code style="background-attachment: inherit; background-clip: inherit; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: #1a1816; font-family: "Courier New", Courier, monospace; font-stretch: normal; line-height: 1.44; padding: 0px;">DB_URL="jdbc:oracle:thin:@dbname_high?TNS_ADMIN=/Users/test/wallet_dbname"</code></pre></div><div><br /></div><div>Using JavaKeyStore (JKS)</div><div><br /></div><div>Below example shows the JDBC Thin driver connectivity using JKS to an ADB:</div><div><br /></div><div><pre class="pre codeblock hljs" style="background-color: white; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; border: 2px solid rgb(222, 218, 214); box-sizing: border-box; font-size: 16px; font-stretch: normal; line-height: 1.44; margin-bottom: 1em; margin-top: 1em; overflow: auto; padding: 18px; word-break: normal; word-wrap: normal;"><code style="background-attachment: inherit; background-clip: inherit; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: #1a1816; font-family: "Courier New", Courier, monospace; font-stretch: normal; line-height: 1.44; padding: 0px;">DB_URL="jdbc:oracle:thin:@dbname_high?TNS_ADMIN=/Users/test/wallet_dbname"</code></pre></div><div>Subsequently, add the JKS related connection properties to ojdbc.properties file. To use SSL connectivity over Oracle Wallet, below properties should be set to ojdbc.properties files:</div><div><br /></div><div><br /></div><div><pre class="pre codeblock hljs" style="background-color: white; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; border: 2px solid rgb(222, 218, 214); box-sizing: border-box; font-size: 16px; font-stretch: normal; line-height: 1.44; margin-bottom: 1em; margin-top: 1em; overflow: auto; padding: 18px; word-break: normal; word-wrap: normal;"><code style="background-attachment: inherit; background-clip: inherit; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: #1a1816; font-family: "Courier New", Courier, monospace; font-stretch: normal; line-height: 1.44; padding: 0px;"># Properties for using Java KeyStore (JKS)
oracle.net.ssl_server_dn_match=true
javax.net.ssl.trustStore==${TNS_ADMIN}/truststore.jks
javax.net.ssl.trustStorePassword=<span class="italic" style="box-sizing: border-box; font-style: italic;">password</span>
javax.net.ssl.keyStore==${TNS_ADMIN}/keystore.jks
javax.net.ssl.keyStorePassword=<span class="italic" style="box-sizing: border-box; font-style: italic;">password</span></code></pre></div><div><br /></div><div>Once the properties are set, compile and run using the below example:</div><div><br /></div><div><pre class="pre codeblock hljs" style="background-color: white; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; border: 2px solid rgb(222, 218, 214); box-sizing: border-box; font-size: 16px; font-stretch: normal; line-height: 1.44; margin-bottom: 1em; margin-top: 1em; overflow: auto; padding: 18px; word-break: normal; word-wrap: normal;"><code style="background-attachment: inherit; background-clip: inherit; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: #1a1816; font-family: "Courier New", Courier, monospace; font-stretch: normal; line-height: 1.44; padding: 0px;">java –classpath ./lib/ojdbc8.jar:./lib/ucp.jar UCPSample</code></pre></div><div>To go through your firewall with HTTP proxy requirement to connect to an internet, use JDBC Thin client 18.1 or higher. So, add the following to your tnsnames.ora file to go through HTTP proxy:</div><div><br /></div><div><pre class="pre codeblock hljs" style="background-color: white; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; border: 2px solid rgb(222, 218, 214); box-sizing: border-box; font-size: 16px; font-stretch: normal; line-height: 1.44; margin-bottom: 1em; margin-top: 1em; overflow: auto; padding: 18px; word-break: normal; word-wrap: normal;"><code style="background-attachment: inherit; background-clip: inherit; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: #1a1816; font-family: "Courier New", Courier, monospace; font-stretch: normal; line-height: 1.44; padding: 0px;"><span style="box-sizing: border-box;">ADWC1_high</span> =
(description=
(address=
(https_proxy=proxyhostname)(https_proxy_port=80)(protocol=tcps)(port=1522)(host=adw.example.oraclecloud.com)
)
(connect_data=(service_name=adwc1_high.adw.oraclecloud.com)
)
(security=(ssl_server_cert_dn="adw.example.oraclecloud.com,OU=Oracle BMCS US,O=Oracle Corporation,L=Redwood City,ST=California,C=US")
)
)</code></pre></div><div><br /></div><div>In nutshell, we have walk through over JDBC thin driver client connection to an ADB requirements and prerequisites.</div><div><br /></div>The Human Flyhttp://www.blogger.com/profile/03489518270084955004noreply@blogger.com0tag:blogger.com,1999:blog-19771507.post-72110601616570994552020-04-03T14:00:00.002-07:002020-04-04T01:50:27.912-07:00Autonomous Database (ADB) connectivity with Oracle SQLclThis blog post takes you through Oracle SQL Developer command line interface connectivity to an autonomous database (ADB). SQLcl is a free command line interface for Oracle database. It will allow interactive or batch execution of SQL and PL/SQL commands with in-line editing, statement completion, and command recall for a feature-rich experience capabilities. Download the tool from the below url:<div><div><br /></div><div><a id="SQLcl" name="SQLcl"> https://www.oracle.com/database/technologies/appdev/sqlcl.html</a></div><div><br /></div><div><br /></div><div>With SQLcl 4.2 or higher you can also connect to ADB database, either using Oracle Call Interface or JDBC thin connection. Whatever connection mode, OCI or JDBC, it has to be setup before you can use the SQLcl.</div><div><br /></div><div>Use the below example to connect to a ADB using SQLcl oci connection:</div><div><br /></div><div><pre class="pre codeblock hljs" style="background-color: white; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; border: 2px solid rgb(222, 218, 214); box-sizing: border-box; font-size: 16px; font-stretch: normal; line-height: 1.44; margin-bottom: 1em; margin-top: 1em; overflow: auto; padding: 18px; word-break: normal; word-wrap: normal;"><code style="background-attachment: inherit; background-clip: inherit; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: #1a1816; font-family: "Courier New", Courier, monospace; font-stretch: normal; line-height: 1.44; padding: 0px;">sql -oci
SQLcl: Release 18.4 Production on Wed Apr 03 15:28:40 2019
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Username? (''?) <span style="box-sizing: border-box;">sales_dwh@adwc1_low</span>
Password? (**********?) **************
Last Successful login time: Wed Apr 03 2019 15:29:19 -07:00
Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0
SQL></code></pre></div><div>Use the below example to use SQLcl with JDBC thin connection:</div><div><br /></div><div><ul style="text-align: left;"><li>Start with sql /nolog </li><li>Configure the session to use existing wallet connection: </li><li><pre class="pre codeblock hljs" style="background-color: white; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; border: 2px solid rgb(222, 218, 214); box-sizing: border-box; font-size: 16px; font-stretch: normal; line-height: 1.44; margin-bottom: 1em; margin-top: 1em; overflow: auto; padding: 18px; word-break: normal; word-wrap: normal;"><code style="background-attachment: inherit; background-clip: inherit; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: #1a1816; font-family: "Courier New", Courier, monospace; font-stretch: normal; line-height: 1.44; padding: 0px;">SQL> set cloudconfig /home/adwc/wallet_ADWC1.zip
Wallet Password: **********</code></pre></li><li>Connect to ADB database , as shown below:</li><li><pre class="pre codeblock hljs" style="background-color: white; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; border: 2px solid rgb(222, 218, 214); box-sizing: border-box; font-size: 16px; font-stretch: normal; line-height: 1.44; margin-bottom: 1em; margin-top: 1em; overflow: auto; padding: 18px; word-break: normal; word-wrap: normal;"><code style="background-attachment: inherit; background-clip: inherit; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: #1a1816; font-family: "Courier New", Courier, monospace; font-stretch: normal; line-height: 1.44; padding: 0px;">SQL> connect admin@<span style="box-sizing: border-box;">adwc1_medium</span></code></pre></li></ul></div><div><div><br /></div><div>In my next post, will discuss JDBC connectivity details.</div></div></div>The Human Flyhttp://www.blogger.com/profile/03489518270084955004noreply@blogger.com0tag:blogger.com,1999:blog-19771507.post-52966498214183868982020-04-03T11:10:00.012-07:002020-04-06T04:06:34.496-07:00SQL * Plus connectivity to Autonomous Database (ADB) procedureAutonomous Database (ADB) learning keeping myself pretty occupied these days. All credit should go to Oracle for their free offering of Oracle cloud technology university courses and a chance to certify. So planned to write a few important topics along the way while learning about ADB. This blog post will primarly focus on autonomous database (ADB) service available connectivity options, downloading database credentials and a procedure to connect to an ADB database service using the SQL * Plus tool.<div><br /></div><div>An Autonomous Database (ADB) service can be connected through SQL * Net, JDBC thick/thin, ODBC processes etc. ADB connection uses certificate authentication and SSL, where certificate authentication uses encrypted key stored in a wallet files on both client and server. All client connections to the database must use SSL for encryption and under any circumstances it doesn't accept any unsecured connections. </div><div><br /></div><div>To begin with, every ADB database connection must be made over a public internet and application should use a secure connection (SSL). Before establishing any sort of client connectivity to the ADB service, service client connect credentials must be downloaded from the OCI page for the respective database (instance) or region. Below procedure summarizes how to download database connect (wallet) credentials and use of SQL * Plus to connect to ADB.</div><div><br /></div><div><br /></div><div><b><font size="4">Downloading database connection credentials</font></b></div><div><br /></div><div>As discussed earlier, ADB only accepts secure connections to an Autonomous Database. Therefore, Oracle client credential (wallet) files which contains your connection credentials should be downloaded first. You need to download this files only once. The wallet can be downloaded either from <u>Administration</u> link from the ADB service console page, or from the DB Connection button on instance page of OCI page or through API calls. Use the following method to download the connection credentials from OCI console:</div><div><br /></div><div><ul style="text-align: left;"><li>Navigate to ADB details page and click on <u>DB Connection </u>button</li><li>Based on the connectivity requirement, choose either <u>Instance</u> or <u>Regional</u> wallet type and click on the <u>Download</u> button </li><li>The credentials file is protected with a password. So, you will have to input a password before downloading the file. The password must be 8 characters long, with at least 1 letter and either 1 numeric character or 1 special character</li><li>Once the password is entered and confirmed, click the download button</li><li>Default name for the file is Wallet_databaename.zip, and the zip files contains following files:</li><ul><li>tnsnames.ora & sqlnet.ora</li><li>cwallet.sso & ewallet.p12</li><li>keystore.jks & tuststore.jks</li><li>ojdbc.properties & </li></ul><li>Unzip the file to a secure location</li></ul><div><b><font size="4">Predefined DB Service Names</font></b></div><div><b><font size="4"><br /></font></b></div><div><font size="4">The tnsnames.ora files contains the following predefined 5 database services names for Autonomous Transaction Processing (ATP) and 3 (high, medium, low) for Autonomous Data warehouse (ADW) databases:</font></div><div><ul style="text-align: left;"><li><font size="4"><b>high</b> A high priority app connection for reporting and batch operations which runs in parallel with little concurrency capacity, subject to queuing.</font></li><li><font size="4"><b>medium</b> A typical connection service for reporting and batch operations with limited (4) parallel degree.</font></li><li><font size="4"><b>low</b> A low priority connection service for reporting and batch operations with no parallelism options.</font></li><li><font size="4"><b>tp</b> (for ATP only), typical application connection service for transaction processing operations with no parallelism.</font></li><li><font size="4"><b>tpurgent</b> (ATP only) the highest priority application connection for time critical transaction processing operations. Can specify manual parallelism. </font></li></ul></div><div><font size="4">By default, sessions on ADB that are idle for over 5 minutes will be automatically disconnected from the database to make room for more active sessions.</font></div><div><font size="4"><br /></font></div><div><b><font size="4">SQL * Plus connection to ADB</font></b></div></div><div><br /></div><div>For any sort of ADB connection, database credentials must be dowloaded by an individual user first. In this segment, we will discuss how to use an SQL * Plus tool to connect to ADB to execute regular SQL commands. Unlike other Oracle cloud options, ADB doesn't provide compute node access. So, you must have SQL * Plus installed on your computer. So, you have to install Oracle client software 11.2.0.4 or higher version on your system. Once the client software is installed, download connection credentials using the procedure described above.</div><div><br /></div><div>Unzip/uncompress the zip file downloaded into a secure folder on your computer.</div><div><br /></div><div>Edit the sqlnet.ora file and replace ?/network/admin text with name of the folder containing the credentials, as shown in the below example on a unix/linux client:</div><div><br /></div><div><pre class="pre codeblock hljs" style="background-color: white; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; border: 2px solid rgb(222, 218, 214); box-sizing: border-box; font-size: 16px; font-stretch: normal; line-height: 1.44; margin-bottom: 1em; margin-top: 1em; overflow: auto; padding: 18px; word-break: normal; word-wrap: normal;"><code style="background-attachment: inherit; background-clip: inherit; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: #1a1816; font-family: "courier new", courier, monospace; font-stretch: normal; line-height: 1.44; padding: 0px;">WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/home/adw_credentials")))
SSL_SERVER_DN_MATCH=yes</code></pre></div><div><br /></div><div> It is highly recommended to set TNS_ADMIN environmental variable and set the location of the credentials files.</div><div><br /></div><div>As previously stated, the connection must be through an internet. So the companies that doesn't provide direct internet connection, they will allow the access through HTTP proxy settings. In this case, you must update the sqlnet.ora and tnsnames.ora files as per below example if you have a firewall connection and requires HTTP proxy to connect internet (this scenario only support clients with 12.2.0.1 or higher version):</div><div><br /></div><div><ul style="text-align: left;"><li>sqlnet.ora should have this entry: SQLNET.USE_HTTPS_PROXY=on</li><li>And the tnsnames.ora entry should contains the following:</li></ul><div><pre class="pre codeblock hljs" style="background-color: white; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; border: 2px solid rgb(222, 218, 214); box-sizing: border-box; font-size: 16px; font-stretch: normal; line-height: 1.44; margin-bottom: 1em; margin-top: 1em; overflow: auto; padding: 18px; word-break: normal; word-wrap: normal;"><code style="background-attachment: inherit; background-clip: inherit; background-image: inherit; background-origin: inherit; background-size: inherit; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; box-sizing: border-box; color: #1a1816; font-family: "courier new", courier, monospace; font-stretch: normal; line-height: 1.44; padding: 0px;">ADWC1_high =
(description=
(address=
(<b>https_proxy=proxyhostname)(https_proxy_port=80</b>)(protocol=tcps)(port=1522)(host=adwc.example.oraclecloud.com)
)
(connect_data=(service_name=adwc1_high.adwc.oraclecloud.com)
)
(security=(ssl_server_cert_dn="adwc.example.oraclecloud.com,OU=Oracle BMCS US,O=Oracle Corporation,L=Redwood City,ST=California,C=US")
)
)</code></pre></div></div><div>Once you have the client software and connect credentials ready, now you can use the sql * plus tool to connect to a ADB. Refer below syntax using low credentials service name here:</div><div><br /></div><div><pre class="oac_no_warn" dir="ltr" style="background-color: white; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; border: 2px solid rgb(222, 218, 214); box-sizing: border-box; caret-color: rgb(26, 24, 22); color: #1a1816; font-family: "courier new", courier, monospace; font-size: 16px; font-stretch: normal; line-height: 1.44; margin-bottom: 1em; margin-top: 1em; overflow: auto; padding: 18px; word-break: normal; word-wrap: normal;">sqlplus <span style="box-sizing: border-box;">sales_dwh@adwc1_low</span>
SQL*Plus: Release 18.0.0.0.0 - Production on Wed Apr 3 15:09:53 2019
Version 18.5.0.0.0
Copyright (c) 1982, 2018, Oracle. All rights reserved.
Enter password:
Last Successful login time: Wed Apr 03 2019 14:50:39 -07:00
Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0
SQL></pre></div><div> You can also see the last successful login time.</div><div><br /></div><div>In nutshell, this post explained how to download ADB database connect credentials from various methods, how to connect to ADB using SQL * Plus tool. Will be discussing about JDBC thin client connectivity procedure in the next post.</div><div><br /></div><div><br /></div><div>References;</div><div>https://docs.oracle.com/en/cloud/paas/autonomous-data-warehouse-cloud/user/connect-sqlplus.html#GUID-A3005A6E-9ECF-40CB-8EFC-D1CFF664EC5A</div><div><br /></div>The Human Flyhttp://www.blogger.com/profile/03489518270084955004noreply@blogger.com0tag:blogger.com,1999:blog-19771507.post-21907629502144661532020-03-31T03:57:00.001-07:002020-03-31T03:57:59.132-07:00Free Oracle Learning and Certifications for OCI and Autonomous database - Limited periodHello All,<div><br /></div><div>Oracle announced a limited period free access to Oracle Learning and Certifications on OCI and Autonomous Database technologies. </div><div>Its absolutely free of cost for everyone. Indeed it is a very good chance everyone to learn something new to update Oracle knowledge and get certified. Use the below Oracle link for enrolling to courses and certification:</div><div><br /></div><div>https://www.oracle.com/corporate/blog/free-certifications-oracle-oci-autonomous-033020.html</div><div><br /></div><div>All the very best and happy learning.</div><div><br /></div><div><br /></div>The Human Flyhttp://www.blogger.com/profile/03489518270084955004noreply@blogger.com0tag:blogger.com,1999:blog-19771507.post-62031369716339081592020-03-15T03:27:00.002-07:002020-03-15T03:27:51.046-07:00RAC DB upgrade from 11.2.0.4 to 12.1.0.2 ASM prerequisites fail with DUBA<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
A 3 node Oracle extended RAC has been successfully upgrade from 11.2.0.1 to 12.1.0.2 just last week. As part of the upgrade planning, we started off with GRID home upgrade process from 11.2.0.4 to 12.1.0.2, followed by DB upgrade from 11.2.0.1 to 11.2.0.4 and finally DB upgrade to 12.1.0.2. This was done over the 3 weeks. As there was no direct in-place database upgrade option for a database v11.2.0.1 to 12.1.0.2, we had to take the alternative route.<br />
<br />
In previous two blog posts, I have shared the details about the challenges faced and resolved. So, here is another challenge encountered during the database upgrade. Encountered the below pre-requisites failure during the pre-requisites validation by DBUA:<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpNvtGpdDivwbbFSMuCOkYHQ698AN74egPyGPs2FQf0L3we_P37rLZNkkYlBvwAJ7OBFlnUXEisOZCRpjhBp6nh94LMUIJlYt0I7IngLM1L3hUHwXcw0E4nwmX1RhcwGvRnjOsZQ/s1600/WhatsApp+Image+2020-03-15+at+10.16.36+AM.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="581" data-original-width="1032" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpNvtGpdDivwbbFSMuCOkYHQ698AN74egPyGPs2FQf0L3we_P37rLZNkkYlBvwAJ7OBFlnUXEisOZCRpjhBp6nh94LMUIJlYt0I7IngLM1L3hUHwXcw0E4nwmX1RhcwGvRnjOsZQ/s640/WhatsApp+Image+2020-03-15+at+10.16.36+AM.jpeg" width="640" /></a></div>
<br />
Below is the details of the error:<br />
<br />
<ul style="border: 0px; caret-color: rgb(51, 51, 51); font-family: Tahoma, Verdana, Arial, sans-serif; font-size: 12px; margin: 0px; padding: 0px 0px 0px 10px; vertical-align: baseline;">
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 7px 0px 8px 10px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">ASM Upgrade Feasible Check: The database is using ASM as storage. Before you upgrade database, you need to upgrade ASM using Automatic Storage Management Configuration Assistant (ASMCA) from grid infrastructure home. ASM should be running from grid infrastructure home. Upgrade Storage Check : Disk space usage summary Location +DATA_DG does not exist.</span></li>
</ul>
<br />
It was wired to see the message despite the fact that the GRID was successfully upgraded, including ASM. After a quick search we have come across of two MOS references , mentioned below, and the solution was just straight forward.<br />
<br />
To expedite the post DB upgrade requirements, we did prepare complete environment for EB database.<br />
<br />
The solution was to rename the sqlnet.ora file from the 12c network/admin directory. One we did this and resumed DBUA, it went through.<br />
<br />
<br />
<u>MOS References:</u><br />
<br />
<a class="xfe" href="https://support.oracle.com/epmos/faces/KmHome?_adf.ctrl-state=oj1ioaomf_4&_afrLoop=21093188322397#" id="kmPgTpl:r1:0:m_region:r1:0:clj_id_2" style="color: #0851b3; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px; text-decoration: none;" title="Troubleshooting document">Upgrade database to 12.1.0.2.0, DBUA fails: COULD NOT FIND ANY DISKGROUPS [2039864.1]</a><br />
<a class="xfe" href="https://support.oracle.com/epmos/faces/KmHome?_adf.ctrl-state=oj1ioaomf_4&_afrLoop=21093188322397#" id="kmPgTpl:r1:0:m_region:r1:0:clj_id_1" style="color: #0851b3; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 11px; text-decoration: none;" title="Troubleshooting document">Database Upgrade From 11.2.0.4 To 12.1.0.2 Pre-checks Failing while using DBUA [2317976.1]</a><br />
https://oakinoracle.wordpress.com/2017/05/31/experienced-12c-grid-db-upgrade/<br />
<br /></div>
The Human Flyhttp://www.blogger.com/profile/03489518270084955004noreply@blogger.com0tag:blogger.com,1999:blog-19771507.post-33315570266906331082020-03-07T01:50:00.004-08:002020-03-07T01:50:43.057-08:00Oracle GI upgrade from 12.1.0.2 to 12.2.0.1 on Exadata<div dir="ltr" style="text-align: left;" trbidi="on">
Yet another successful Exadata Grid Infrastructure upgrade to 12.2. Of course the v12.2.0.1 is bit older, but as per customer's request, we had to proceed. As usual there are some takeaway points from this assignment too. I am going to share some of the challenges encountered and fixed during the course of this upgrade.<br />
<br />
First thing is first. The 12.2 and above installation and upgrade is really cool with the golden image concept introduction. Even great to know that we can also apply the patch before running the root.sh or root upgrade. I really felt super cool about this.<br />
<br />
As part of 2 node Cluster upgrade from 12.1, an 12.2 software gold image is extracted to the 12.2 location and started gridSetup.sh with applyPSU (JAN2020 patch). During OUI validation, gridSetup.sh failing with the following error:<br />
<br />
[<b>INS-42505] The installer has detected that the Oracle Grid Infrastructure home software at ($GRID_HOME) is not complete.</b><br />
<br />
The installation was looking older version of jar files, hence, it couldn't find, the warning message appeared. It took very less time to figure out the issue. As JAN20 PSU was applied before the OUI startup, it wasn't reflected, hence, ignored the message and resumed with the setup.<br />
<br />
After the successful rootupgrade.sh execution on node 1 and node 2, we found that the session (Xwindow) become inactive and OUI couldn't continue.<br />
<br />
With >=12.2, you can easily resume the OUI from the point it failed. All you need to do is the following:<br />
<br />
Find out the latest response file used during the failed upgrade in the following location (depending on your 12.2 grid home) shown as example:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">/u01/app/12.2.0.1/grid/12.2.0.1_180116/gi_1/install/response</span><br />
<br />
And resume the setup from the first node, as show in below:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">gridSetup.sh -executeConfigTools -responseFile <responsefile.rsp></span><br />
<br />
And the setup resumed and managed to complete the upgrade successfully.<br />
<br />
<br />
<br /></div>
The Human Flyhttp://www.blogger.com/profile/03489518270084955004noreply@blogger.com0tag:blogger.com,1999:blog-19771507.post-4117710354039670722020-03-07T00:44:00.001-08:002020-03-07T01:07:59.363-08:00Oracle 11.2.0.1 upgrade with restore point scenario fails <div dir="ltr" style="text-align: left;" trbidi="on">
I was recently involved in a 3 instance Oracle RAC v11.2.0.1 database upgrade assignment. My favorite method of database upgrade is manual method. This time I had to opt DBUA tool as per customer demand. A guaranteed restore point was created just before initiating an upgrade process.<br />
<br />
When DBUA tool launched and initiated an upgrade process, there were lot of surprises thrown by the tool, like, unable to put the database in flashback database mode etc. It was a scary moment for everyone present around as the tool complained many other issues as proceed along. Finally, the upgrade process was aborted and the DBUA did mention to restore the database from a previous successful backup. It was a heart stop moment.<br />
<br />
Luckily no damage was done to the database and restore was not required. Wasn't very sure about guaranteed restore point on v11.2.0.1, so, it was dropped and relaunched the DBUA tool again. And this time the upgrade went through without any surprises and successfully upgraded the database to 11.2.0.4.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br /></div>
The Human Flyhttp://www.blogger.com/profile/03489518270084955004noreply@blogger.com0tag:blogger.com,1999:blog-19771507.post-83573385523656646182019-11-10T06:11:00.003-08:002019-11-10T06:11:27.975-08:00Exadata X8M - World's Fastest Database Machine<div dir="ltr" style="text-align: left;" trbidi="on">
Exadata X8M has launched during OOW 2019, and termed as world's fastest Database Machine. Let's walkthrough about new additions that has made X8M as world's fastest Database Machine.<br />
<br />
An Exadata X8M is the industry's first DB machine integrated with Intel Optane DC persistent memory (<a href="https://www.intel.com/content/www/us/en/architecture-and-technology/optane-dc-persistent-memory.html" target="_blank">read more about this</a>) and 100 gigabit RDMA over converged ethernet. This will be dramatically improves the performance for all sort of workloads, such as OLTP, analytics, IoT, high frequency trading etc by eliminating the storage access bottlenecks. Persistent memory with RoCE networking can reduces IO latency significantly and boosts the performance by 2.5X.<br />
<br />
It uses RDMA directly from the DB to access persistent memory in smart storage servers, eliminating the entire OS, IO and network software stacks. Which will deliver the higher throughput with lower latency. Also, frees CPU resources on storage server to execute more smart scan queries for analytic workloads.<br />
<br />
Its in-memory performance with all advantages of shared storage benefits the Analytics and OLTP workloads. Direct database access to shared persistent memory accelerates is the real game changer for application that demands large amounts of data.<br />
<br />
For more details, read the link below:<br />
<br />
https://www.oracle.com/corporate/pressrelease/oow19-oracle-unleashes-worlds-fastest-database-machine-091619.html<br />
<br />
<br />
<br />
<br />
<ul class="obullets" style="-webkit-font-smoothing: antialiased; background-repeat: no-repeat no-repeat; box-sizing: border-box; caret-color: rgb(16, 15, 14); color: #100f0e; font-family: "Oracle Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", sans-serif; font-size: 14.399999618530273px; list-style: none; margin: 0px 0px 1.1em; overflow: hidden; padding: 0px;"></ul>
</div>
The Human Flyhttp://www.blogger.com/profile/03489518270084955004noreply@blogger.com0tag:blogger.com,1999:blog-19771507.post-89013135305115686502019-07-16T02:05:00.001-07:002019-07-16T02:05:10.577-07:00Intermittent cellsrv crashes with ORA-07445 after upgrading to 12.2.1.1.7<div dir="ltr" style="text-align: left;" trbidi="on">
Exadata X6-2 full and half racks were patched recently with 12.2.1.1.7 Aug/2018 quarterly patch set. An ORA-07445 started to observe and the cellsrv intermittently crashing with ORA-07445 error. <div>
<br /></div>
<div>
Following error is noticed in the cellsrv alert.log:<div>
<br /></div>
<div>
<strong style="font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;">ORA-07445: exception encountered: core dump [0000000000000000+0] [11] [0x000000000] [] [] [] </strong></div>
<div>
<strong style="font-family: "Courier New", Courier, monospace; font-size: 11.699999809265137px;"><br /></strong></div>
<div>
The above is registered as a bug whenever cell storage is patched with 12.2.1.1.7 or 12.2.1.1.8. Therefore, if you are planning to patch your cell storage software with one of the above versions, ensure you also apply patch 28181789 to avoid cellsrv intermittently crashing with ORA-07445 error. Otherwise, you need to upgrade the storage software with 18.1.5.</div>
<div>
<br /></div>
<div>
<b><u>Symptom</u></b></div>
<div>
<br /></div>
<div>
<span style="background-color: white; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: x-small;">Customer may experience intermittent cellsrv crashes with ORA-07445: [0000000000000000+0] [11] [0x000000000] after upgrading storage cell software version to 12.2.1.1.7 or 12.2.1.1.8</span></div>
<div>
<br /></div>
</div>
<div>
<b><u>Change</u></b></div>
<div>
<br /></div>
<div>
<span style="background-color: white; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: x-small;">Upgrade the Storage cell software to 12.2.1.1.7 or 12.2.1.1.8</span></div>
<div>
<span style="background-color: white; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: x-small;"><br /></span></div>
<div>
<span style="background-color: white; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: x-small;"><b><u>Cause</u></b></span></div>
<div>
<span style="background-color: white; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: x-small;"><br /></span></div>
<div>
<a href="https://support.oracle.com/epmos/faces/BugDisplay?parent=DOCUMENT&sourceId=2421083.1&id=28181789" style="font-family: Tahoma, Verdana, Helvetica, sans-serif;">Bug 28181789</a><span style="background-color: white; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: x-small;"> - ORA-07445: [0000000000000000+0] AFTER UPGRADING CELL TO 12.2.1.1.7</span></div>
<div>
<span style="background-color: white; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: x-small;"><br /></span></div>
<div>
<span style="background-color: white; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: x-small;"><b><u>Fix</u></b></span></div>
<div>
<span style="background-color: white; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: x-small;"><br /></span></div>
<div>
<div style="font-family: Tahoma, Verdana, Helvetica, sans-serif;">
<a alt="Patch 28181789 " href="https://updates.oracle.com/Orion/PatchDetails/process_form?patch_num=28181789" title="Patch 28181789 ">Patch 28181789 </a>is available for 12.2.1.1.7 and 12.2.1.1.8 Storage software releases. Follow the README to instructions to apply the patch.</div>
<div style="font-family: Tahoma, Verdana, Helvetica, sans-serif;">
~OR~</div>
<div style="font-family: Tahoma, Verdana, Helvetica, sans-serif;">
apply 18.1.5 and later which includes the fix of 28181789</div>
<div style="font-family: Tahoma, Verdana, Helvetica, sans-serif;">
<br /></div>
<div style="font-family: Tahoma, Verdana, Helvetica, sans-serif;">
References;</div>
<div style="font-family: Tahoma, Verdana, Helvetica, sans-serif;">
<span style="background-color: white; font-size: 14.300000190734863px; font-weight: bold; text-align: right;">xadata: Intermittent cellsrv crashes with ORA-07445: [0000000000000000+0] [11] [0x000000000] after upgrading to 12.2.1.1.7 or 12.2.1.1.8 (Doc ID 2421083.1)</span></div>
</div>
</div>
The Human Flyhttp://www.blogger.com/profile/03489518270084955004noreply@blogger.com0tag:blogger.com,1999:blog-19771507.post-2728691708412234212019-06-27T01:26:00.001-07:002019-06-27T01:33:37.107-07:00Oracle Exadata X8 key capabilities summary<div dir="ltr" style="text-align: left;" trbidi="on">
Below is the summary of some of the key benefits of Exadata X8 database machine, software and hardware:<br />
<br />
<u>Extreme (unmatched) performance</u><br />
According to Oracle, the new X8 database machine is capable of delivering unto 60% faster throughput performance in contrast to the earlier Exadata database machines. Having said that, you can pull a 50GB database under one second.<br />
<br />
<u>Cost effective extended storage </u><br />
Petabytes of cost effective storage with option software license. This can significantly reduce the storage cost.<br />
<br />
<u>High Memory</u><br />
Can accommodate upto 28.5 of system memory. Good for heavy workload systems, such as , in-memory databases.<br />
<br />
<u>Increased storage capacity</u><br />
In contrast to earlier models, X8 comes with 40% increase in disk capacity. Each X8 EF system comes with 50TB raw flash capacity. While, the X8 HC with XT storage option, it comes 160TB of raw capacity.<br />
<br />
<u>High-performance connectivity</u><br />
X8 also comes with significant improvement in connectivity. It supports upto 400Gb of client connectivity over multiple 25 GB Ethernet links.<br />
<br />
OLTP Read/Write performance<br />
A full X8 rack, typically can do 6.5 million random reads and 5.7 random writes per second for a 8k DB.<br />
<br />
<u>Automated features</u><br />
In addition to the above hardware improvements, it also X8 incorporates autonomous database capability. With ML and AI capabilities, the databases are auto tuned and auto maintained.<br />
<br />
List of technical specifications:<br />
<br />
<ul class="obullets" style="-webkit-font-smoothing: antialiased; caret-color: rgb(37, 37, 37); color: #252525; font-family: Arial, Helvetica, sans-serif; list-style: none; margin: 0px; padding: 0px;">
<li style="-webkit-font-smoothing: antialiased; background-image: url("https://www.oracle.com/asset/web/i/obullet.png"); background-position: 4px 6px; background-repeat: no-repeat no-repeat; background-size: 6px; display: table; list-style: none; margin: 0px 0px 0.5em; padding: 0px 0px 0.75em 20px;"><span style="font-size: x-small;">Up to 912 CPU cores and 28.5 TB memory per rack for database processing</span></li>
<li style="-webkit-font-smoothing: antialiased; background-image: url("https://www.oracle.com/asset/web/i/obullet.png"); background-position: 4px 6px; background-repeat: no-repeat no-repeat; background-size: 6px; display: table; list-style: none; margin: 0px 0px 0.5em; padding: 0px 0px 0.75em 20px;"><span style="font-size: x-small;">Up to 576 CPU cores per rack dedicated to SQL processing in storage</span></li>
<li style="-webkit-font-smoothing: antialiased; background-image: url("https://www.oracle.com/asset/web/i/obullet.png"); background-position: 4px 6px; background-repeat: no-repeat no-repeat; background-size: 6px; display: table; list-style: none; margin: 0px 0px 0.5em; padding: 0px 0px 0.75em 20px;"><span style="font-size: x-small;">From 2 to 19 database servers per rack</span></li>
<li style="-webkit-font-smoothing: antialiased; background-image: url("https://www.oracle.com/asset/web/i/obullet.png"); background-position: 4px 6px; background-repeat: no-repeat no-repeat; background-size: 6px; display: table; list-style: none; margin: 0px 0px 0.5em; padding: 0px 0px 0.75em 20px;"><span style="font-size: x-small;">From 3 to 18 storage servers per rack</span></li>
<li style="-webkit-font-smoothing: antialiased; background-image: url("https://www.oracle.com/asset/web/i/obullet.png"); background-position: 4px 6px; background-repeat: no-repeat no-repeat; background-size: 6px; display: table; list-style: none; margin: 0px 0px 0.5em; padding: 0px 0px 0.75em 20px;"><span style="font-size: x-small;">Up to 920 TB of flash capacity (raw) per rack</span></li>
<li style="-webkit-font-smoothing: antialiased; background-image: url("https://www.oracle.com/asset/web/i/obullet.png"); background-position: 4px 6px; background-repeat: no-repeat no-repeat; background-size: 6px; display: table; list-style: none; margin: 0px 0px 0.5em; padding: 0px 0px 0.75em 20px;"><span style="font-size: x-small;">Up to 3.0 PB of disk capacity (raw) per rack</span></li>
<li style="-webkit-font-smoothing: antialiased; background-image: url("https://www.oracle.com/asset/web/i/obullet.png"); background-position: 4px 6px; background-repeat: no-repeat no-repeat; background-size: 6px; display: table; list-style: none; margin: 0px 0px 0.5em; padding: 0px 0px 0.75em 20px;"><span style="font-size: x-small;">Hybrid Columnar Compression often delivers 10X-15X compression ratios</span></li>
<li style="-webkit-font-smoothing: antialiased; background-image: url("https://www.oracle.com/asset/web/i/obullet.png"); background-position: 4px 6px; background-repeat: no-repeat no-repeat; background-size: 6px; display: table; list-style: none; margin: 0px 0px 0.5em; padding: 0px 0px 0.75em 20px;"><span style="font-size: x-small;">40 Gb/second (QDR) InfiniBand Network</span></li>
<li style="-webkit-font-smoothing: antialiased; background-image: url("https://www.oracle.com/asset/web/i/obullet.png"); background-position: 4px 6px; background-repeat: no-repeat no-repeat; background-size: 6px; display: table; list-style: none; margin: 0px 0px 0.5em; padding: 0px 0px 0.75em 20px;"><span style="font-size: x-small;">Complete redundancy for high availability</span></li>
</ul>
<br /></div>
The Human Flyhttp://www.blogger.com/profile/03489518270084955004noreply@blogger.com1tag:blogger.com,1999:blog-19771507.post-83416957243619967332019-05-31T06:33:00.003-07:002019-05-31T06:33:49.960-07:00Monitoring & Troubleshooting Oracle Cloud at Customer<div dir="ltr" style="text-align: left;" trbidi="on">
The prime advantage of cloud at customer is to deliver all cloud benefits at your data center. Oracle cloud at customer provides the same. When Oracle cloud at customer is chosen, it is Oracle who is responsible to install, configure and manage the software and hardware required to run Oracle cloud at customer. However, customers are responsible for monitoring and troubleshooting resources instantiate on Oracle cloud at customer.<br />
<br />
Customers are required to understand the difference between system and user-space monitoring and the tools required. The Oracle cloud at customer subscription consists of the below components:<br />
<br />
<br />
<ul style="text-align: left;">
<li>Hardware and Software</li>
<li>Control panel software</li>
<li>The Oracle Advanced Support Gateway (OASW)</li>
<li>The Oracle Cloud Service</li>
</ul>
<div>
<br /></div>
<div>
<b>System monitoring vs User Space Monitoring</b></div>
<div>
<br /></div>
<div>
Typically, Oracle cloud at customer is monitored at two level:</div>
<div>
<ol style="text-align: left;">
<li>System</li>
<li>User space</li>
</ol>
<div>
Oracle monitors the system and the customer monitors the user space.</div>
</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju9Hoy39P1T7skLKqrOqLwuWqJJlbpZHfGHX8fS9WfcbcC3h6V2JAYx9rai0vKKpn6bVwUi3sVVT3t549T_blpVlHgm9zR9zLirYfTQft5bFItWQCxK9tCe5EXEv0R98bn3eJWDw/s1600/Screen+Shot+2019-05-31+at+4.24.42+PM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="1054" data-original-width="1594" height="419" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju9Hoy39P1T7skLKqrOqLwuWqJJlbpZHfGHX8fS9WfcbcC3h6V2JAYx9rai0vKKpn6bVwUi3sVVT3t549T_blpVlHgm9zR9zLirYfTQft5bFItWQCxK9tCe5EXEv0R98bn3eJWDw/s640/Screen+Shot+2019-05-31+at+4.24.42+PM.png" width="640" /></a></div>
<div>
<br /></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
The systems or machine resources, such as : hardware, control panel and cloud services on Oracle cloud at Customer are managed by Oracle remotely using Oracle Advanced Gateway. The OAGW is only used and accessible to Oracle authorized personnel.<br />
<br />
The user space components consists the below:<br />
<br />
<br />
<ul style="text-align: left;">
<li>Oracle Cloud accounts</li>
<li>VMs instances on IaaS or PaaS</li>
<li>DB that are provisioned within the PaaS subscription</li>
<li>Applications (Oracle or any third-party)</li>
</ul>
<div>
Oracle manages the following hardware and software components:</div>
<div>
<ul style="text-align: left;">
<li>Ethernet switches</li>
<li>Power Supplies</li>
<li>Exadata Storage Servers</li>
<li>Hypervisor running on the physical servers</li>
</ul>
<div>
Customers can assign administrators to manage cloud accounts. Customers also are free to use any external monitoring agents to monitor user-space components.</div>
</div>
<br />
<br /></div>
The Human Flyhttp://www.blogger.com/profile/03489518270084955004noreply@blogger.com0tag:blogger.com,1999:blog-19771507.post-32678973181727224392019-05-30T01:53:00.000-07:002019-05-30T01:53:24.485-07:00Why Oracle Cloud @ Customer is a good option?<div dir="ltr" style="text-align: left;" trbidi="on">
One of the major concerns moving over cloud is the security for most of the organizations. Though cloud concept is around for quite sometime, still, a majority of customers are concerned about putting their data over cloud. To gain the confidence and at the same to take full advantage of Cloud technologies, various Cloud vendors started offering cloud at customer solutions. In this blog spot, am going to discuss about Oracle cloud at customer solutions, its advantages , subscription model etc.<br />
<br />
Oracle Cloud at Customer delivers full advantages of cloud technologies at your data center. You subscribe hardware and software together when you go for cloud at customer option. Though Oracle does the initial setup, configuration and day-to-day system management, you still have all the advantages of security, network of your data center.<br />
<br />
Typically, the cloud at customer option consist of the following:<br />
<br />
<br />
<ul style="text-align: left;">
<li>The hardware required to run Cloud at customer</li>
<li>Control panel software</li>
<li>The Oracle Advanced Support Gateway</li>
<li>Oracle Cloud services</li>
</ul>
As a customer, your responsibility involves managing cloud account and subscribed services. At any time, you can check your account balance and your current Oracle Cloud at Customer service usage. It is also possible that <span style="background-color: white; color: #333333; font-family: "Helvetica Neue", "Segoe UI", Roboto, sans-serif-regular, sans-serif; font-size: 14px;">you can view your usage by region, by service, or by a specific time period.</span><br />
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: "Helvetica Neue", "Segoe UI", Roboto, sans-serif-regular, sans-serif; font-size: 14px; margin-bottom: 14px; margin-top: 14px;">
To check your account balance and usage, Oracle recommends that you sign in to your Oracle Cloud Account in an Oracle data region. From there, you can view your overall account usage and Universal Credits balance. </div>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: "Helvetica Neue", "Segoe UI", Roboto, sans-serif-regular, sans-serif; font-size: 14px; margin-bottom: 14px; margin-top: 14px;">
<br /></div>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: "Helvetica Neue", "Segoe UI", Roboto, sans-serif-regular, sans-serif; font-size: 14px; margin-bottom: 14px; margin-top: 14px;">
In nutshell, cloud at customer brings the cloud solutions to your data center, where you can apply all the rules of your data centre while taking the full advantages of cloud solutions.</div>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: "Helvetica Neue", "Segoe UI", Roboto, sans-serif-regular, sans-serif; font-size: 14px; margin-bottom: 14px; margin-top: 14px;">
<br /></div>
</div>
The Human Flyhttp://www.blogger.com/profile/03489518270084955004noreply@blogger.com0tag:blogger.com,1999:blog-19771507.post-76361065926330638462019-05-28T13:48:00.004-07:002019-05-28T13:48:53.256-07:00Network design for Oracle Cloud Infrastructure<div dir="ltr" style="text-align: left;" trbidi="on">
Assuming, you are planning to migrate your resources from Oracle Cloud Infrastructure Compute classic environment to Oracle Cloud Infrastructure, this blog post explains the details of network design for Cloud Infrastructure environment. It's important to understand and map the network design and details from both environments.<br />
<br />
Cloud Inrastructure Compute Classic network has IP Networks and Shared Network model. On other hand, Cloud Infrastructure has Virtual Cloud Networks (VCNs) , Subnets, Availability Domain network model.<br />
<br />
Before migration, you must map the network resources between the environments. Source -> Target:<br />
Shared network -> VCN, IP Network -> IP Network, VPN -> IPSec VPN and Fast Connect classic -> FastConnect.<br />
<br />
Consider creating below listed network elements in Oracle Cloud Infrastructure:<br />
<br />
<ul style="text-align: left;">
<li>VCN and Subnet CIDR Prefixes</li>
<li>DNS Names </li>
</ul>
<div>
Use the below procedure to configure cloud network for Cloud Infrastructure environment:</div>
<div>
<br /></div>
<div>
</div>
<br />
<ol style="box-sizing: border-box; caret-color: rgb(51, 51, 51); color: #333333; font-family: "Helvetica Neue", "Segoe UI", Roboto, sans-serif-regular, sans-serif; font-size: 14px; margin-bottom: 10px; margin-top: 0px;">
<li style="box-sizing: border-box; margin-bottom: 0.5em; margin-top: 0.5em;"><span style="box-sizing: border-box;">Create one or more VCNs.</span></li>
<li style="box-sizing: border-box; margin-bottom: 0.5em; margin-top: 0.5em;"><span style="box-sizing: border-box;">Create an Internet gateway and/or NAT gateway. An Internet gateway is a virtual router that allows resources in a public subnet direct access the public Internet. A NAT gateway allows resources that don't have a public IP addresses to access the Internet, without exposing those resources to incoming traffic from the Internet.</span></li>
<li style="box-sizing: border-box; margin-bottom: 0.5em; margin-top: 0.5em;"><span style="box-sizing: border-box;">Configure a service gateway, if required. A service gateway provides a path for private network traffic between your VCN and a public Oracle service such as <span id="GUID-85D91DF8-F859-4595-B2E4-440ADC825FA3__OCIOBJECTSTORAGE" style="box-sizing: border-box;">Oracle Cloud Infrastructure Object Storage</span>.</span></li>
<li style="box-sizing: border-box; margin-bottom: 0.5em; margin-top: 0.5em;"><span style="box-sizing: border-box;">Create one or more subnets in each VCN.</span></li>
<li style="box-sizing: border-box; margin-bottom: 0.5em; margin-top: 0.5em;"><span style="box-sizing: border-box;">Configure local peering gateways between VCNs, if required.</span></li>
<li style="box-sizing: border-box; margin-bottom: 0.5em; margin-top: 0.5em;"><span style="box-sizing: border-box;">Configure security lists, security rules, and route tables for each subnet.</span></li>
</ol>
<div>
<span style="color: #333333; font-family: Helvetica Neue, Segoe UI, Roboto, sans-serif-regular, sans-serif;"><span style="caret-color: rgb(51, 51, 51); font-size: 14px;"><br /></span></span></div>
</div>
The Human Flyhttp://www.blogger.com/profile/03489518270084955004noreply@blogger.com0tag:blogger.com,1999:blog-19771507.post-15018534351053404432019-05-28T01:22:00.001-07:002019-05-28T01:22:16.260-07:00Migrating Oracle Cloud Infrastructure Classic Workloads to Oracle Cloud Infrastructure - Migration Tools<div dir="ltr" style="text-align: left;" trbidi="on">
If you are planning to migrate your resources from Oracle Cloud Infrastructure Classic to Oracle Cloud Infrastructure, Oracle provides variety of tools to achieve this. In this blog post will discuss some of thetools which can be used to migrate Oracle Cloud Infrastructure Classic Workload resources to Oracle Cloud Infrastructure. <div>
<br /></div>
<div>
The tools below can be used to identify resources from Oracle cloud infrastructure Classic environments and to migrate to Oracle Cloud Infrastructure tenancy. Using these tools, one can setup required network, and migrate VMs and block storage volumes over the targeted systems.</div>
<div>
<br /></div>
<div>
<b><u>Tools for migrating infrastructure resources : Compute, VMs and Block Storage</u></b></div>
<div>
<b><u><br /></u></b></div>
<div>
<ul style="text-align: left;">
<li><b>Oracle Cloud Infrastructure Classic Discovery and Translation Tool</b>: as the name explains, it is a discovery tool, which assist discovering the resources of different resources in your Cloud Infrastructure Classic environments, such as : compute Classic, Object Storage classic, load balancing classic account. Additionally, it is capable of reporting the items in the specified environment, list of VMs in the source environment and also networking information of the source system.</li>
<li><b>Oracle Cloud Infrastructure Classic VM and Block Storage Tool</b>: This tool automates the process of migrating VMs and Block Storage over to the target environment. </li>
<li><b>Oracle Cloud Infrastructure Classic Block Volume Backup and Restore Tool</b>: This tool used to migrate your remote snapshot of storage volumes as well as scheduled backups. </li>
</ul>
<div>
<br /></div>
</div>
<div>
<b><u>Tools for migrating databases</u></b></div>
<div>
<b><u><br /></u></b></div>
<div>
To migrate databases to Oracle cloud infrastructure, you can use Oracle Cloud Infrastructure Class Database Migration tool. This tool uses Oracle RMAN to create backup and restore the database over the targeted system.</div>
<div>
<br /></div>
<div>
Alternatively, Oracle Data Guard solution also can be used to migrate single or RAC databases to Oracle Cloud Infrastructure.</div>
<div>
<br /></div>
<div>
<b><u>Tools for migrating Object Storage</u></b></div>
<div>
<b><u><br /></u></b></div>
<div>
<ul style="text-align: left;">
<li><i>rclone</i> command is used to migrate your object storage data <span style="background-color: white; caret-color: rgb(51, 51, 51); color: #333333; font-family: "Helvetica Neue", "Segoe UI", Roboto, sans-serif-regular, sans-serif; font-size: 14px;">f you don't use the </span><span style="box-sizing: border-box; caret-color: rgb(51, 51, 51); color: #333333; font-family: "Helvetica Neue", "Segoe UI", Roboto, sans-serif-regular, sans-serif; font-size: 14px;">Oracle Cloud Infrastructure Storage Software Appliance<span style="background-color: white;">.</span></span></li>
<li><span style="background-color: white; caret-color: rgb(51, 51, 51); color: #333333; font-family: "Helvetica Neue", "Segoe UI", Roboto, sans-serif-regular, sans-serif; font-size: 14px;">If Oracle Cloud Infrastructure Storage Software Appliance is used to store your object data, </span><span style="background-color: white; caret-color: rgb(51, 51, 51); color: #333333; font-family: "Helvetica Neue", "Segoe UI", Roboto, sans-serif-regular, sans-serif; font-size: 14px;">then you can migrate your data to your </span><span style="box-sizing: border-box; caret-color: rgb(51, 51, 51); color: #333333; font-family: "Helvetica Neue", "Segoe UI", Roboto, sans-serif-regular, sans-serif; font-size: 14px;">Oracle Cloud Infrastructure Object Storage</span><span style="background-color: white; caret-color: rgb(51, 51, 51); color: #333333; font-family: "Helvetica Neue", "Segoe UI", Roboto, sans-serif-regular, sans-serif; font-size: 14px;"> account by using the </span><span id="GUID-6F97C893-E455-469E-906A-55729E822352__OCISG" style="box-sizing: border-box; caret-color: rgb(51, 51, 51); color: #333333; font-family: "Helvetica Neue", "Segoe UI", Roboto, sans-serif-regular, sans-serif; font-size: 14px;">Oracle Cloud Infrastructure Storage Gateway</span><span style="background-color: white; caret-color: rgb(51, 51, 51); color: #333333; font-family: "Helvetica Neue", "Segoe UI", Roboto, sans-serif-regular, sans-serif; font-size: 14px;">.</span></li>
</ul>
<div>
<span style="color: #333333; font-family: Helvetica Neue, Segoe UI, Roboto, sans-serif-regular, sans-serif;"><span style="caret-color: rgb(51, 51, 51); font-size: 14px;"><br /></span></span></div>
</div>
<div>
<span style="color: #333333; font-family: Helvetica Neue, Segoe UI, Roboto, sans-serif-regular, sans-serif;"><span style="caret-color: rgb(51, 51, 51); font-size: 14px;"><br /></span></span></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
</div>
The Human Flyhttp://www.blogger.com/profile/03489518270084955004noreply@blogger.com0tag:blogger.com,1999:blog-19771507.post-41719684854168770002019-05-26T00:29:00.002-07:002019-05-26T00:29:47.102-07:00How to change Remote Trail Location at Source– Golden Gate 12c<div dir="ltr" style="text-align: left;" trbidi="on">
<div align="center" class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: 15.693333625793457px; margin: 0in 0in 8pt; text-align: center;">
<br /></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: 15.693333625793457px; margin: 0in 0in 8pt;">
There is a requirement to modify the remote trail location because of typo in the mount point. To change the remote trail location of the Golden Gate, first verify the extract trail information using the command below. <o:p></o:p></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";">GGSCI (hie-p-ggate) 48> INFO EXTTRAIL<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> Extract Trail: <b><span style="background-color: yellow; background-position: initial initial; background-repeat: initial initial; color: red;">/golgengate</span><span style="color: red;">/ggs_home/dirdat/test/ru<o:p></o:p></span></b></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> Seqno Length: 6<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> Flip Seqno Length: yes<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> Extract: DPMP1<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> Seqno: 0<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> RBA: 0<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> File Size: 500M<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> Extract Trail: <b>D:\app\oracle\product\ogg_1\lt<o:p></o:p></b></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> Seqno Length: 6<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> Flip Seqno Length: yes<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> Extract: EXT1<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> Seqno: 0<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> RBA: 0<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> File Size: 100M<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";">GGSCI (hie-p-ggate) 49><o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
First delete the current configuration of remote trail. <o:p></o:p></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";">GGSCI (hie-p-ggate) 50> delete rmttrail /golgengate/ggs_home/dirdat/test/ru, extract dpmp1<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";">Deleting extract trail /golgengate/ggs_home/dirdat/test/ru for extract DPMP1<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
After removing, then add the remote trail again with the new location. <o:p></o:p></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";">GGSCI (hie-p-ggate) 51> add rmttrail /goldengate/ggs_home/dirdat/test/ru, extract dpmp1<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";">RMTTRAIL added.<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
After deleting and adding now we can see the extract trail for the target with new location. <o:p></o:p></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";">GGSCI (hie-p-ggate) 52> INFO EXTTRAIL<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> Extract Trail: <b><span style="color: red;">/goldengate/ggs_home/dirdat/test/ru<o:p></o:p></span></b></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> Seqno Length: 6<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> Flip Seqno Length: yes<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> Extract: DPMP1<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> Seqno: 0<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> RBA: 0<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> File Size: 500M<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> Extract Trail: D:\app\oracle\product\ogg_1\lt<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> Seqno Length: 6<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> Flip Seqno Length: yes<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> Extract: EXT1<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> Seqno: 0<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> RBA: 0<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"> File Size: 100M<o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";">GGSCI (hie-p-ggate) 53><o:p></o:p></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"><br /></span></div>
<div class="MsoNormal" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: normal; margin: 0in 0in 0.0001pt;">
<span style="font-family: "Courier New";"><br /></span></div>
</div>
The Human Flyhttp://www.blogger.com/profile/03489518270084955004noreply@blogger.com0tag:blogger.com,1999:blog-19771507.post-40895406277636491192019-05-21T01:59:00.002-07:002019-05-21T01:59:48.110-07:00Oracle Database Upgrade made easy with AutoUpgrade utility<div dir="ltr" style="text-align: left;" trbidi="on">
Upgrading Oracle database is undoubtedly a daunting task which requires a careful study, planning and execution to prevent any potential post upgrade shortcomings. Since Oracle determined to release a new Oracle version every year, at some-point-of-time, we all should focus on upgrading databases quite often than we used to perform earlier.<br />
<br />
Thanks to AutoUpgrade tool(utility), available with MOS Doc ID : 2485457.1, automates all upgrade process procedure without much human intervention or inputs. For latest AutoUpgrade utility version, always refer the MOD note and download. Though, with 12.2(DBJAN2019RU), 18.5 and 19.3, the AutoUpgrade utility available by default under the oracle home.<br />
<br />
AutoUpgrade is a command-line tool which can be used to upgrade one or many oracle databases with one command and a single configuration file. This utility automates upgrade process, such as, pre-upgrade tasks, performs automated fix-ups, perform database upgrade and run through post upgrade tasks as well. This saves a huge time and money when upgrading hundreds of databases in any environment.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1GYwTFr1UBVk-pj2a34d9zb__o_NBOGpCh_2k9Ma9DFsivN-1hnVuU_Q7RQeq-lbwlY8bDmSdBpFMq6h6UDlFWx9Df4gVJxGpCelyXIBa8YNF_QjIHtvv32QHSmLZnnakH-qB-Q/s1600/Screen+Shot+2019-05-21+at+11.55.24+AM.png" imageanchor="1"><img border="0" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1GYwTFr1UBVk-pj2a34d9zb__o_NBOGpCh_2k9Ma9DFsivN-1hnVuU_Q7RQeq-lbwlY8bDmSdBpFMq6h6UDlFWx9Df4gVJxGpCelyXIBa8YNF_QjIHtvv32QHSmLZnnakH-qB-Q/s640/Screen+Shot+2019-05-21+at+11.55.24+AM.png" width="640" /></a><br />
<br />
I am pretty sure AutoUpgrade make DBA's like easier when it comes to Oracle database upgrade. Have fun and test the capabilities of the tool.<br />
<br />
<br />
<br />
<u>References:</u><br />
<span style="background-color: white; font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 14.300000190734863px; font-weight: bold; text-align: right;">MOS Doc ID : AutoUpgrade Tool (Doc ID 2485457.1)</span><br />
https://mikedietrichde.com/2019/04/29/the-new-autoupgrade-utility-in-oracle-19c/<br />
https://docs.oracle.com/en/database/oracle/oracle-database/19/upgrd/about-oracle-database-autoupgrade.html#GUID-3FCFB2A6-4617-4783-828A-41BD635FC88C</div>
The Human Flyhttp://www.blogger.com/profile/03489518270084955004noreply@blogger.com0tag:blogger.com,1999:blog-19771507.post-48758494348077968862019-04-14T03:01:00.000-07:002019-04-14T03:01:35.640-07:00Whats in Exadata X8 Server 19.2 Exadata Database Machine?<div dir="ltr" style="text-align: left;" trbidi="on">
This blog post quickly scan through the new features of Exadata Database Machine in 19.2 and also hardware capacity and change in Exadata X8 server.<br />
<br />
<br />
<ul style="text-align: left;">
<li>Exadata Database Machine Software 19.2.0, supports Exadata X8-2 and X8-8 hardware</li>
<li>Changes in IORM's flashcachesize and Disk I/O limits attributes</li>
<li>To control the cost of Exadata storage, X8 introduced a new configuration, Exadata Storage Extended (XT)</li>
<li>The XT model comes with 14TB hard drives with HCC compression capacity</li>
<li>The XT model doesn't have flash drive</li>
<li>The lower cost storage option comes with one CPU, less memory and without the core feature of SQL offloading</li>
<li>Exadata X8 server has the below hardware capacity per rack:</li>
<ul>
<li>Limit of 912 CPU core and 28 TB memory</li>
<li>2-19 database servers</li>
<li>3-18 cell storage</li>
<li>920 TB of RAW flash capacity</li>
<li>3 PB of RAW disk capacity</li>
</ul>
</ul>
<div>
<br /></div>
<div>
References:</div>
<div>
<br /></div>
<div>
https://www.oracle.com/a/ocom/docs/engineered-systems/exadata/exadata-x8-2-ds.pdf</div>
<div>
https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmso/whats-new-oracle-exadata-database-machine-19.2.html#GUID-B2A6BEAD-873A-4524-82EF-CDF53098820B</div>
<div>
<br /></div>
</div>
The Human Flyhttp://www.blogger.com/profile/03489518270084955004noreply@blogger.com0tag:blogger.com,1999:blog-19771507.post-55707494970116213092019-03-10T11:05:00.001-07:002019-03-10T11:05:18.882-07:00Oracle 19c Automatic Indexing - How well it's understood?<div dir="ltr" style="text-align: left;" trbidi="on">
I wrote an article about Oracle 19c Automatic Indexing. Go to the below link for more details:<br />
<br />
<a href="https://medium.com/@sjaffarhussain/oracle-19c-automatic-indexing-how-well-its-understood-1798d1b3d097">https://medium.com/@sjaffarhussain/oracle-19c-automatic-indexing-how-well-its-understood-1798d1b3d097</a><br />
<br /></div>
The Human Flyhttp://www.blogger.com/profile/03489518270084955004noreply@blogger.com0