<?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/pt-br/tags/how-to/</link><description>Recent content in How-To on Café Com Cloud</description><generator>Hugo -- gohugo.io</generator><language>pt-br</language><lastBuildDate>Wed, 14 Nov 2018 17:01:29 -0200</lastBuildDate><atom:link href="https://blog.cafecomcloud.com.br/pt-br/tags/how-to/index.xml" rel="self" type="application/rss+xml"/><item><title>Um how-to da AWS</title><link>https://blog.cafecomcloud.com.br/pt-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/pt-br/2018/11/14/a-how-to-from-aws/</guid><description>&lt;p&gt;Eu sei que vocês ouviram falar do outage da Amazon numa loja específica durante a migração de Oracle pra Aurora. Mas o que vocês não ouviram é: eles já migraram 88% do parque Oracle deles pra Aurora, e o único problema real foi o que veio a público (claro).&lt;/p&gt;
&lt;p&gt;Então, se você quer dar uma olhada nesse how-to, como usar o serviço AWS DMS, pega um café e segue o link abaixo:&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;Falamos,&lt;/p&gt;</description></item><item><title>Install do 18c on-premises - primeiras impressões</title><link>https://blog.cafecomcloud.com.br/pt-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/pt-br/2018/09/10/18c-install-on-premises-first-impressions/</guid><description>&lt;p&gt;E aí pessoal,&lt;/p&gt;
&lt;p&gt;Algumas coisas mudaram no 18c. Hoje vou explicar minhas primeiras impressões desse produto bem novinho on-premises e algumas comparações com versões anteriores (PS: eu classifiquei cada tópico antes de começar a falar.. espero ajudar vocês no próximo upgrade)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Download: se você baixar pelo Oracle OTN, vai notar que tem só um zip pro Oracle database e um zip pro install do grid.&lt;/li&gt;
&lt;li&gt;Install: agora você tem que descompactar todo o conteúdo dentro do Oracle_HOME &amp;lt;- eles chamam esse novo jeito de &amp;ldquo;Simplified Image-based Oracle Database Installation&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Install: o runInstaller foi substituído pelo gridSetup.sh (no caso de install do Grid) e pro Installer de database você ainda precisa executar o runInstall.sh&lt;/li&gt;
&lt;li&gt;Install: você vai precisar de pelo menos uma máquina com 8 GB de RAM pra instalar grid / database.&lt;/li&gt;
&lt;li&gt;Install: pro installer de database, agora você tem as duas opções de install (como no Installer do 10g) - você pode escolher instalar Enterprise ou Standard Edition 2.&lt;/li&gt;
&lt;li&gt;Install: agora você pode escolher no install do database o TFA durante a execução do 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;Falamos :-)&lt;/p&gt;</description></item><item><title>Backup na era cloud - o que está mudando?</title><link>https://blog.cafecomcloud.com.br/pt-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/pt-br/2017/12/20/backup-in-the-cloud-era-what-is-changing/</guid><description>&lt;p&gt;E aí, beleza!&lt;/p&gt;
&lt;p&gt;Espero que esse post te encontre bem. Esses dias um dos meus clientes me pediu pra aconselhar ele sobre procedimentos e soluções de backup/restore num ambiente novo rodando na AWS.&lt;/p&gt;
&lt;p&gt;Bancos de produção vão rodar em instâncias EC2, em Oracle com BYOL (bring your own license). O cliente está pensando em soluções de EBS (Elastic Block Storage) ou S3 (Simple Storage Service).&lt;/p&gt;
&lt;p&gt;Snapshots no mundo Oracle normalmente são usados em conjunto com operações de begin/end backup. Se você tira só 1 snapshot por dia, e não está disposto a perder 24h de dados commitados, você precisa ter uma segunda estratégia de backup. Existe um produto oferecido pela N2WS que é bem incrível pra orquestrar, agendar e controlar os snapshots, você pode configurar pra tirar uma foto a cada 5 min, o que geralmente é menor que um RPO de negócio. Mas e quanto a uma corrupção lógica, um delete errado feito no fim de semana passado? Como restaurar isso? Você precisa reter snaps por uma semana, talvez um mês, talvez um ano, restaurar esse snap em outra instância EC2 e restaurar os dados manualmente. Parece caro, né?&lt;/p&gt;
&lt;p&gt;O jeito do mundo ideal, vindo da documentação, é fazer deploy do OSBCS Oracle Secure Backup Cloud Service. Essa opção (paga) te dá a habilidade de usar S3 como tape, então ajustes mínimos precisam ser feitos pra migrar sua estratégia de backup pra cloud. Você precisa configurar e instalar o OSBCS em cada instância EC2, ajustar seus channels pra usar o OSBCS, e tá pronto pra ir! Retention do RMAN, catalog, tudo flui bonito se você escolher pagar por essa opção. Como o OSBCS é cobrado? Por Channel.&lt;/p&gt;
&lt;p&gt;Então, se você tem 100 bancos, você pode comprar por exemplo 10 channels, e fazer 1 backup por vez com 10 channels, ou 10 backups por vez com 1 channel, ou 2 backups por vez com 5 channels, ou 5 backups por vez com 2 channels, ou.. você pegou a ideia.&lt;/p&gt;
&lt;p&gt;Comentários são bem vindos =]&lt;/p&gt;
&lt;p&gt;Falamos,&lt;/p&gt;
&lt;p&gt;Hang.&lt;/p&gt;</description></item><item><title>12cR1 + Suse 12 SP2 = dá uma olhada nesse post</title><link>https://blog.cafecomcloud.com.br/pt-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/pt-br/2017/06/10/12cr1-suse-12-sp2-take-a-look-on-this-post/</guid><description>&lt;p&gt;Hoje eu enfrentei um problema estranho durante um HAS 12.1.0.2 no Suse 12 SP2 pra um cliente.&lt;/p&gt;
&lt;p&gt;Tudo correu bem durante o runInstaller, mas o roothas.pl falhou com o seguinte erro:&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;Esse PRCR-1006 me deixou doido. No final, depois de longas horas garimpando a web + metalink + cafeína, descobri que você precisa:&lt;/p&gt;
&lt;p&gt;vi /etc/ld.so.conf e adicionar /lib64/noelision no topo do arquivo.&lt;/p&gt;
&lt;p&gt;O arquivo deve ficar assim depois do 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;E então adiciona o symlink no 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;E só depois disso roda o root.sh/roothas.pl. Se você está lendo esse post, provavelmente já executou o roothas.pl (=[ infelizmente). Então você precisa fazer deconfigure primeiro, executar os passos acima, e então executar o roothas.pl de novo.&lt;/p&gt;
&lt;p&gt;Depois disso, a felicidade volta =]&lt;/p&gt;
&lt;p&gt;***Update***&lt;/p&gt;
&lt;p&gt;Quando for fazer patching no GI home, remove o symlink criado, aplica o patch, e refaz o symlink.&lt;/p&gt;
&lt;p&gt;Feedbacks são sempre bem vindos! Falamos,&lt;/p&gt;
&lt;p&gt;Hang,&lt;/p&gt;</description></item><item><title>Usando oradebug - eventos 10053 e 10046</title><link>https://blog.cafecomcloud.com.br/pt-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/pt-br/2017/02/27/using-oradebug-10053-and-10046-events/</guid><description>&lt;p&gt;E aí, beleza! Espero que esse artigo te encontre bem. Hoje a gente vai falar sobre oradebug, essa pequena maravilha do Oracle, e como setar os eventos 10046 e 10053 pra troubleshooting de performance.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Primeiro de tudo, o que é oradebug?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Oradebug é uma ferramenta do sqlplus, destinada só pra pessoal de suporte Oracle. Mas ela pode ser bem útil em um monte de situações. Você pode usar pra setar eventos específicos de troubleshooting, usar pra diagnosticar qual interface seu RAC está usando pras mensagens de interconnect, usar pra executar um hanganalyze (o comando, não eu, beleza? =]), system state dumps, errorstack dumps, e a lista vai longe.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Como eu uso?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Primeiro de tudo, você precisa atachar o oradebug a uma sessão/processo específico.&lt;/p&gt;
&lt;p&gt;Usando o ospid:&lt;/p&gt;
&lt;p&gt;Pega o os pid pro processo, normalmente com o comando ps, ou pegando a thread em ambiente Windows. Com o ospid (nesse exemplo 1177)&lt;/p&gt;
&lt;p&gt;oradebug setospid 1177;&lt;/p&gt;
&lt;p&gt;Se você tentar atachar o oradebug a um processo inativo, você vai receber:&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;Se tudo correu bem, você vai receber:&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;Usando o SID pra atachar o oradebug:&lt;/p&gt;
&lt;p&gt;Primeiro de tudo você precisa descobrir o orapid da sessão, rodando o sql abaixo:&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;Exemplo:&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;Tá pronto!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Setando o evento 10046&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;Setando o evento 10053&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;Por que isso é importante?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Você pode usar o 10046 pra pegar informações específicas de sql, tipo objeto, parsing, elapsed time, wait events, bind variables. É uma alternativa pro dbms_monitor e dbms_system, outro jeito de gerar um trace de sessão, e ele pode ser &amp;ldquo;tkprofado&amp;rdquo; também.&lt;/p&gt;
&lt;p&gt;Se você quer entender as decisões do optimizer, não tem jeito melhor que usar um trace 10053. Você vai entender os cost estimates, access paths, query block names, peeked binds, parâmetros de optimizer usados durante o parse.&lt;/p&gt;
&lt;p&gt;Em outro post eu vou dar detalhe sobre os levels, e por que a gente digita &amp;ldquo;name context forever&amp;rdquo;. Esse é um post how-to apenas =]&lt;/p&gt;
&lt;p&gt;Falamos!&lt;/p&gt;</description></item></channel></rss>