<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>How-To on Café Com Cloud</title><link>https://blog.cafecomcloud.com.br/tags/how-to/</link><description>Recent content in How-To on Café Com Cloud</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Wed, 14 Nov 2018 17:01:29 -0200</lastBuildDate><atom:link href="https://blog.cafecomcloud.com.br/tags/how-to/index.xml" rel="self" type="application/rss+xml"/><item><title>A how-to from AWS</title><link>https://blog.cafecomcloud.com.br/2018/11/14/a-how-to-from-aws/</link><pubDate>Wed, 14 Nov 2018 17:01:29 -0200</pubDate><guid>https://blog.cafecomcloud.com.br/2018/11/14/a-how-to-from-aws/</guid><description>&lt;p&gt;I know you heard about the Amazon outage in a specific store when migration from Oracle to Aurora. But what you didnt heard is: they already migrate 88% of their Oracle park to Aurora, and the only real issue was what came to public (of course).&lt;/p&gt;
&lt;p&gt;So, if you wanna to check out this how to, how to use AWS DMS service, grab a coffee and follow the link below:&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://aws.amazon.com/blogs/database/best-practices-for-migrating-an-oracle-database-to-amazon-rds-postgresql-or-amazon-aurora-postgresql-migration-process-and-infrastructure-considerations/" target="_blank" rel="noopener"
 &gt;https://aws.amazon.com/blogs/database/best-practices-for-migrating-an-oracle-database-to-amazon-rds-postgresql-or-amazon-aurora-postgresql-migration-process-and-infrastructure-considerations/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;See you Around,&lt;/p&gt;</description></item><item><title>18c install on premises - first impressions</title><link>https://blog.cafecomcloud.com.br/2018/09/10/18c-install-on-premises-first-impressions/</link><pubDate>Mon, 10 Sep 2018 18:35:18 -0300</pubDate><guid>https://blog.cafecomcloud.com.br/2018/09/10/18c-install-on-premises-first-impressions/</guid><description>&lt;p&gt;Hey all,&lt;/p&gt;
&lt;p&gt;Somethings have change on 18c. Today I will explain my first impressions of this pretty new product on premises and some comparisons by older versions (PS: I classified each topic before start talk about&amp;hellip; I hope to help you on your next upgrade)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Download: If you use download from Oracle OTN, you notice that there is only one zip for Oracle database and one zip file for grid install.&lt;/li&gt;
&lt;li&gt;Install: now you have to unzip all content into Oracle_HOME&amp;lt;- they called this new way as &amp;ldquo;Simplified Image-based Oracle Database Installation&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Install: runInstaller was replaced by gridSetup.sh (in case of Grid installation) and for database Installer you still need to execute runInstall.sh&lt;/li&gt;
&lt;li&gt;Install: you will need at least a machine with 8 GB RAM to install grid / database.&lt;/li&gt;
&lt;li&gt;Install: for database installer, now you have both options of install (as 10g Installer) - you can choose install enterprise or Standard Edition 2.&lt;/li&gt;
&lt;li&gt;Install: now you can choose on database install TFA during execution of root.sh.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="Screen Shot 2018-09-10 at 17.33.02" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog.cafecomcloud.com.br/images/screen-shot-2018-09-10-at-17-33-02.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Screen Shot 2018-09-10 at 18.32.51" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog.cafecomcloud.com.br/images/screen-shot-2018-09-10-at-18-32-51.png"&gt;&lt;/p&gt;
&lt;p&gt;See you. :-)&lt;/p&gt;</description></item><item><title>Backup in the Cloud era - what is changing?</title><link>https://blog.cafecomcloud.com.br/2017/12/20/backup-in-the-cloud-era-what-is-changing/</link><pubDate>Wed, 20 Dec 2017 13:07:05 -0200</pubDate><guid>https://blog.cafecomcloud.com.br/2017/12/20/backup-in-the-cloud-era-what-is-changing/</guid><description>&lt;p&gt;Hello there!&lt;/p&gt;
&lt;p&gt;Hope this post find you well. These days one of my customers ask me to advise him on backup/restore procedures and solutions on a new environment running on AWS.&lt;/p&gt;
&lt;p&gt;Production databases will run on EC2 instances, on Oracle with BYOL (bring your own license). Customer is thinking about EBS (Elastic Block Storage) solutions or S3 (Simple Storage Service).&lt;/p&gt;
&lt;p&gt;Snapshots in Oracle world usually are used in conjunction with begin/end backup operations. If you take 1 snapshot per day only, and you are not willing to lost 24hs of commited data you need to have a second backup strategy. There is a product offered by N2WS which is quite amazing in orchestrating, scheduling and controlling the snapshots - you can configure to take a picture every 5 min - which is usually lower than a business RPO. But how about a logical corruption, a wrong delete done on last weekend. How to restore this? You must retain snaps for a week, maybe a month, maybe a year, restore this snap in another EC2 instance and manually restore data. Seems costly, right?&lt;/p&gt;
&lt;p&gt;The ideal world way - from the documentation - is to deploy OSBCS Oracle Secure Backup Cloud Service. This (paid) option give you the ability to use S3 as tape, so minimal adjustments need to be done in order to migrate your backup strategy to the cloud. You need to setup and install OSBCS on each EC2 instance, adjust your channels to use OSBCS and you are ready to go! RMAN retention, catalog, everything go smoothly if you choose to pay for this option. How OSBCS is charged? Per Channel.&lt;/p&gt;
&lt;p&gt;So, if you have 100 databases, you can buy for example 10 channels, and make 1 backup at time with 10 channels, or 10 backups at time with 1 channel, or 2 backups at time with 5 channels, or 5 backups at time with 2 channels, or - you got the idea.&lt;/p&gt;
&lt;p&gt;Comments are welcome =]&lt;/p&gt;
&lt;p&gt;See you around,&lt;/p&gt;
&lt;p&gt;Hang.&lt;/p&gt;</description></item><item><title>12cR1 + Suse 12 SP2 = take a look on this post</title><link>https://blog.cafecomcloud.com.br/2017/06/10/12cr1--suse-12-sp2-take-a-look-on-this-post/</link><pubDate>Sat, 10 Jun 2017 22:19:15 -0300</pubDate><guid>https://blog.cafecomcloud.com.br/2017/06/10/12cr1--suse-12-sp2-take-a-look-on-this-post/</guid><description>&lt;p&gt;Today I face a weird issue during a HAS 12.1.0.2 in Suse 12 SP2 for a customer.&lt;/p&gt;
&lt;p&gt;Everything went smooth during the runInstaller, but roothas.pl failed with the follow error:&lt;/p&gt;
&lt;h5 id="server_blau01grid12102--u01grid12102perlbinperl--iu01grid12102perllib--iu01grid12102crsinstall-u01grid12102crsinstallroothaspl-using-configuration-parameter-file-u01grid12102crsinstallcrsconfig_params-local-add-mode-creating-ocr-keys-for-user-ora12c-privgrp-dba-operation-successful-local-only-mode-successfully-accumulated-necessary-ocr-keys-creating-ocr-keys-for-user-root-privgrp-root-operation-successful-crs-4664-node-server_bla-successfully-pinned-20170610-004642-clsrsc-330-adding-clusterware-entries-to-file-oracle-ohasdservice"&gt;SERVER_BLA:/u01/grid/12.1.0.2 # /u01/grid/12.1.0.2/perl/bin/perl -I/u01/grid/12.1.0.2/perl/lib -I/u01/grid/12.1.0.2/crs/install /u01/grid/12.1.0.2/crs/install/roothas.pl Using configuration parameter file: /u01/grid/12.1.0.2/crs/install/crsconfig_params LOCAL ADD MODE Creating OCR keys for user &amp;lsquo;ora12c&amp;rsquo;, privgrp &amp;lsquo;dba&amp;rsquo;.. Operation successful. LOCAL ONLY MODE Successfully accumulated necessary OCR keys. Creating OCR keys for user &amp;lsquo;root&amp;rsquo;, privgrp &amp;lsquo;root&amp;rsquo;.. Operation successful. CRS-4664: Node SERVER_BLA successfully pinned. 2017/06/10 00:46:42 CLSRSC-330: Adding Clusterware entries to file &amp;lsquo;oracle-ohasd.service&amp;rsquo;
&lt;/h5&gt;&lt;h5 id="prcr-1006--failed-to-add-resource-oraons-for-ons-prcr-1115--failed-to-find-entities-of-type-resource-type-that-match-filters-type_name-ends-type-and-contain-attributes-crs-0184--cannot-communicate-with-the-crs-daemon-20170610-004704-clsrsc-180-an-error-occurred-while-executing-the-command-srvctl-add-ons-error-code-0"&gt;PRCR-1006 : Failed to add resource ora.ons for ons PRCR-1115 : Failed to find entities of type resource type that match filters (TYPE_NAME ends .type) and contain attributes CRS-0184 : Cannot communicate with the CRS daemon. 2017/06/10 00:47:04 CLSRSC-180: An error occurred while executing the command &amp;lsquo;srvctl add ons&amp;rsquo; (error code 0)
&lt;/h5&gt;&lt;h5 id="20170610-004755-clsrsc-115-start-of-resource-oraevmd-failed"&gt;2017/06/10 00:47:55 CLSRSC-115: Start of resource &amp;lsquo;ora.evmd&amp;rsquo; failed
&lt;/h5&gt;&lt;h5 id="20170610-004755-clsrsc-202-failed-to-start-evm-daemon"&gt;2017/06/10 00:47:55 CLSRSC-202: Failed to start EVM daemon
&lt;/h5&gt;&lt;p&gt;This PRCR-1006 drive me nuts. Turns out, after long hours digging the web + metalink + caffeine, that you need to:&lt;/p&gt;
&lt;p&gt;vi /etc/ld.so.conf and add /lib64/noelision on top of it.&lt;/p&gt;
&lt;p&gt;The file should be like this after vi:&lt;/p&gt;
&lt;h5 id="server_blau01grid12102crsinstall-cat-etcldsoconf-lib64noelision-usrlocallib64-usrlocallib-include-etcldsoconfdconf"&gt;SERVER_BLA:/u01/grid/12.1.0.2/crs/install# cat /etc/ld.so.conf /lib64/noelision /usr/local/lib64 /usr/local/lib include /etc/ld.so.conf.d/*.conf
&lt;/h5&gt;&lt;p&gt;And then, add the symlink on GI_HOME:&lt;/p&gt;
&lt;h5 id="server_blau01grid12102lib-lns--s-lib64noelisionlibpthread-222so-libpthreadso0"&gt;SERVER_BLA:/u01/grid/12.1.0.2/lib# lns -s /lib64/noelision/libpthread-2.22.so libpthread.so.0
&lt;/h5&gt;&lt;p&gt;And only after this run root.sh/roothas.pl. If you are reading this post problably you already executed roothas.pl ( =[ sadly). So you need to deconfigure first, execute the steps above, and then execute roothas.pl again.&lt;/p&gt;
&lt;p&gt;After this, happiness is back =]&lt;/p&gt;
&lt;p&gt;***Update***&lt;/p&gt;
&lt;p&gt;When patching GI home, remove the symlink created, apply the patch, and make the symlink again.&lt;/p&gt;
&lt;p&gt;Feedbacks are always welcome! See you around&lt;/p&gt;
&lt;p&gt;Hang,&lt;/p&gt;</description></item><item><title>Using oradebug - 10053 and 10046 events</title><link>https://blog.cafecomcloud.com.br/2017/02/27/using-oradebug-10053-and-10046-events/</link><pubDate>Mon, 27 Feb 2017 12:00:06 -0300</pubDate><guid>https://blog.cafecomcloud.com.br/2017/02/27/using-oradebug-10053-and-10046-events/</guid><description>&lt;p&gt;Hello There! Hope this article finds you well. Today we will talk about oradebug, this little wonder in oracle, and how to set the 10046 and 10053 events to troubleshoot performance.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;First of all, what is oradebug?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Oradebug is a sqlplus tool, intended to oracle support personel only - however, it can be very handy in a bunch of situations. You can use it to set specific troubleshooting events, use to diagnose on which interface your RAC is using for the interconnect messages, use to execute a hanganalyze ( the command, not me, okay? =] ), system state dumps, errorstack dumps and the list goes on.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How do I use it?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;First of all, you need to attach oradebug to a specific session/process.&lt;/p&gt;
&lt;p&gt;Using the ospid:&lt;/p&gt;
&lt;p&gt;Get the os pid for the process, usually with and ps command, or getting the thread in windows environment. With the ospid (in this example 1177)&lt;/p&gt;
&lt;p&gt;oradebug setospid 1177;&lt;/p&gt;
&lt;p&gt;If you try to attach oradebug to an inactive process, you will receive:&lt;/p&gt;
&lt;p&gt;SQL&amp;gt; oradebug setospid 13050; ORA-00072: process &amp;ldquo;13050&amp;rdquo; is not active&lt;/p&gt;
&lt;p&gt;If everything went smoothly, you will receive:&lt;/p&gt;
&lt;p&gt;SQL&amp;gt; oradebug setospid 16792; Oracle pid: 150, Unix process pid: 16792, image: oracle@BLASERVER12&lt;/p&gt;
&lt;p&gt;Using the SID to attach oradebug:&lt;/p&gt;
&lt;p&gt;First of all you need to find out the orapid for the session, running the sql below:&lt;/p&gt;
&lt;p&gt;select p.pid orapid from v$process p, v$session s where s.sid = &amp;amp;SID and p.addr = s.paddr /&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;p&gt;SQL&amp;gt; select p.pid orapid from v$process p, v$session s where s.sid = &amp;amp;SID and p.addr = s.paddr / 2 3 4 5 6 Enter value for sid: 651 old 4: where s.sid = &amp;amp;SID new 4: where s.sid = 651&lt;/p&gt;
&lt;p&gt;ORAPID &amp;mdash;&amp;mdash;&amp;mdash;- 152&lt;/p&gt;
&lt;p&gt;SQL&amp;gt; oradebug setorapid 152; Oracle pid: 152, Unix process pid: 5392, image: oracle@BLASERVER12 (TNS V1-V3)&lt;/p&gt;
&lt;p&gt;You are ready to go!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Setting the 10046 event&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;oradebug event 10046 trace name context forever, level 12;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Setting the 10053 event&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;oradebug event 10053 trace name context forever, level 1;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why this is important?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You can use the 10046 to get sql specific informations, such as object, parsing, elapsed time, wait events, bind variables. It is an alternativa for dbms_monitor and dbms_system, another way to generate a sessions trace, and it could be &amp;ldquo;tkprofed&amp;rdquo; as well.&lt;/p&gt;
&lt;p&gt;If you wanna to understand the optimizer&amp;rsquo;s decicions, there is no better way that using a 10053 trace. You will understand the cost estimates, access paths, query block names, peeked binds, optimizer parameters used during the parse.&lt;/p&gt;
&lt;p&gt;In another post I&amp;rsquo;ll give detail about the levels, and why we type &amp;ldquo;name context forever&amp;rdquo;. This is a how to post only =]&lt;/p&gt;
&lt;p&gt;See you around!&lt;/p&gt;</description></item></channel></rss>