Search Engine Terms
Fala, pessoal!
Antes de mais nada, preciso publicar minhas sinceras desculpas. Não atualizo o blog com frequência. Isso é falta de disciplina e empenho. A descrição do blog não condiz com o que ele é hoje, mas ainda há tempo para mudanças.
Há tempo para mudar essa situação, mas não vai ser hoje! Hahaha!
Hoje vamos aproveitar para dar um pouco de risada!
A parte mais divertida de ter o blog é ler os termos pesquisados nos sites de pesquisa que levaram algumas pessoas a chegarem aqui. Vejo que, possivelmente, ajudei bastante gente procurando algo sobre blocos anônimos e PL/SQL e também aquele erro que passei para iniciar o ocssd.bin uma vez. Mas também vejo que, algumas pessoas, realmente não encontraram o que queriam ao cair no meu blog.
Lendo os termos usados, eu caio na gargalhada! Vou listar os mais engraçados de 2012 até hoje, que eu recebi.
Sigam-me os bons!
Obs: Minha intenção não é ridicularizar ninguém que estava buscando informação, longe disso… Apenas permita-me fazer um pouco de graça com o contexto das palavras escolhidas que você digitou, okay?
And the Oscars goes to…
CATEGORIA: RELACIONAMENTO PESSOAL
“mercado, dba, mulher”
Ih, rapaz… Nesse mar não tem muito peixe. Mas se procurar bem e tiver a isca certa, você acha!
“sql viagem a lua de mel”
Pelo amor de Odin! Não misture essas coisas, meu amigo!!! Ninguém merece estragar a lua de mel com trabalho!
“o que eu levo na bolsa para o plantao”
Notebook, fonte, modem 3g, músicas, energético, paciência, sudoku… Mas deixa o sono em casa.
“dba acaba sem mulher”
É, pois é. É o futuro de muitos DBAs. Pra não cair nessa tem que ter mais de 5 anos de experiência na feature “jogo de cintura” do 11g.
CATEGORIA: RELACIONAMENTO SOCIAL E FILOSOFIA
“como vee um dba como ele realmente e”
Para ver um DBA como ele realmente é, você tem que extrair o DDL de criação dele do DNA. Insere um fio de cabelo no drive de CD, vai até o drive pelo Prompt do DOS, chama o SQL*Plus e executa dbms_metadata.get_ddl(…).
“galera do trabalho dba”
É nóis, mano! DBA na veia! As mina pira!
“encaminhar a outra pessoa sql”
Então, pode ser de várias maneiras. Você podia escrever o código no papel e mandar por carta. Pouca gente recebe carta de colegas hoje em dia, você iria fazer a diferença.
“o que significa dar privilégio dba para outrem”
Olha, fazia tempo que não lia o termo “outrem”. Com esse vocabulário parece até um cara que trabalha comigo, por isso não vou zoar! Hahaha!
“como faço para colocar nome em um bloco anonimo”
Só porque o bloco é anônimo você quer dar nome pra ele? Se tivesse nome você ia querer tirar. DoContra…
“nome de bloco anonimo para carnaval”
Eu ja falei num dos primeiros posts! “Bloco Anonimo” é o melhor nome para um bloco de carnaval (que só os DBAs e Desenvolvedores vão entender). E é anônimo por definição!
CATEGORIA: FUTURO NA PROFISSÃO
“a profissao dba vai acabar??”
Bom, há um tempo atrás, ferreiro era uma profissão muito importante e reconhecida. Ao contrário de DBA, que não é importante e nem reconhecido em muitas empresas por aí.
“vaga dba empresa games”
Espertinho! Quer unir o útil ao agradável! Não quer mais nada, né? Eu nunca pensei nisso e, pensando agora, deve ser bem legal… Cara, se você achou uma empresa de games e trabalha como DBA lá, LEVA MEU CURRÍCULO POR FAVOR!
“dba sempre trabalha em plantão”
Sim. É mais verdadeiro que “o pão sempre cai com a manteiga pra baixo”.
“dba trabalhar madrugada demanda”
Idem. Se você tá de plantão, o horário mais provável de te ligarem é de madrugada. A única vez em que não fiquei bravo foi quando me ligaram 3 da manhã, mas, coincidentemente, eu estava saindo de um motel, então estava bem relaxado! Se ligassem pouco antes disso, eu ia ficar MUITO bravo. Dica: nem vá pro motel se estiver de plantão. Pode ser um corta-tesão do caramba…
“quando a empresa depende demais do dba”
Hahahaha! Conheço uns DBAs que levam a empresa nas costas mesmo. Azar (ou sorte) deles.
CATEGORIA: LEVE-ME PELA MÃO
“depois de criar um scrip cite os passos para executa-lo”
Clica em “START”, depois em “Programas”… Só pode estar de sacanagem, né!
CATEGORIA: FOFOCA
“casos de dbas”
Olha, não sou de espalhar boatos, mas uma vez um DBA disse à sua esposa que tinha uma change/RDM/migração até tarde e que o celular não pegava no CPD/DataCenter. Quando pegava, mal dava pra ouvir porque o ar condicionado faz muito barulho lá dentro. Só que, na verdade… Foi exatamente isso que aconteceu! DBA não mente, NUNCA!
CATEGORIA: WTF?!
“o que significa e anônimo ainda”
Resposta: 42
“dizimo com oca”
Hahaha! É… Tira OCA, começa a trampar e aí pode pagar o dízimo com esse dinheiro. Sounds like a plan.
“precauções ciclanos”
Cuidado sempre é bom. Fulano sempre me disse que esses Ciclanos não prestavam… Watch out.
“dba maluco”
É nóis que avôa, bruxão!
1º GUOB 2012
GUOB Tech Day with Craig Shallahamer
In my feedback about last GUOB event (on March 24th, 2012) I will mainly talk about Mr. Craig Shallahamer, who enlighted us with two brilliant lectures.
I decided to write this post in English so Craig would understand what I am saying about him. I think it wouldn’t be fair to write in Portuguese.
Well, GUOB Tech Day. Once again, I shall compliment Eduardo Hahn and staff for a very well organized event, very nice coffee breaks and all the work/effort backstage we can’t see but is vital for a great outcome.
From my point of view, as a DBA working with Oracle, last GUOB Tech Day wouldn’t be very interesting if it wasn’t for Craig’s lectures. Aside from Craig’s, the others were more like product’s advertisements: “This is my software, it does everything you need fast and accurately. Buy it now and be happy”.
Don’t get me wrong, I’m not making fun of those softwares. The point is I wasn’t there to hear about new tools to work with or learn what they are capable of. I usually go to GUOB events expecting to get some tips about my job as DBA, advices on how to manage databases more efficiently, to understand more of Oracle internals, to know what more experienced DBAs consider as best practices, that kind of stuff. And I expect to hear it from widely known professionals. Don’t blame me, blame GUOB’s staff that already brought us Tom Kyte, Graham Wood, Arup Nanda, Francisco Muñoz, Kai Yu…
I wasn’t the target audience for those 2 specific presentations. Probably a lot of other people enjoyed it. But this is my blog and I’m writing about what matters to me and my fellow DBAs.
That said, 50% of the presentations scheduled meant nothing to me. Fortunately, Mr. Craig came to save the day!
I want to praise Craig’s speeches not by the value of their content, not by how much what he said make sense to me and allowed me to understand Oracle’s internals in a different way, but by how he managed to share his knowledge on the subject with the audience.
What I loved about Craig’s way of speech, was his enthusiasm while speaking to us. It’s completely different to hear a speech from someone that master the subject but stands there, in front of the crowd like it’s just another day in his life than from someone who also masters the subject, but shows he really loves talking about it, with shine on his eyes, with passion for what he chose to study and work with. It’s inspiring.
His struggle to make a picture of what happens behind the scenes in Oracle memory made a huge difference and was really worth it (at least to me). It could’ve been a completely acceptable speech without all that pictures and gestures but by drawing in the air and interacting in the created scene (reminded me of Minority Report, the movie) he transformed all that abstraction into “invisible-visible” objects and I will never forget the “LRU-modified²” (touch-count) algorithm.
I think he nailed it as a professor transferring (a tiny little bit of) his knowledge to his students. That’s how I felt.
I had the chance to talk to him during coffee break. Craig is very friendly and seems to enjoy talking to people face to face, not only while lecturing. This changes the impersonality lectures usually carry into something much more comfortable and personal between speaker and audience.
Hope he can come back to Brazil many more times to inspire us again with new lectures!
You don’t know him yet? Well, you should!
Twitter: @CShallahamer
Company: Orapub Inc.
Blog: A Wider View
Thank you very much, Mr. Craig!
crsctl start crs… FAILURE!
Puta que pariu! Não subiu!
Perdoem-me o palavrão, mas foi isso que ecoou na minha cabeça quando recebi a mensagem abaixo:
[root@machine bin]# ./crsctl start crs
Attempting to start CRS stack
Failure at scls_scr_create with code 1
Internal Error Information:
Category: 1234
Operation: scls_scr_create
Location: mkdir
Other: Unable to make user dir
Dep: 2
Eu não achei nada relevante na internet sobre esse erro! Nem no Metalink estava claro. Agora sei a solução e, por isso, compartilho com vocês!
Detalhes do ambiente
• Servidor Enterprise Linux 5 (EL5) 64 bits
• Oracle DB Enterprise 10.2.0.5 com PSU 10.2.0.5.6 aplicado, single instance
• Usando ASM
Mas… “Crsctl” sem ser ambiente RAC?
Em ambientes não RAC mas com ASM, temos um processo no SO chamado “ocssd.bin” ativo também. Esse processo fica responsável pela comunicação entre a instância do BD e a instância ASM, ou seja, é vital para o funcionamento do seu BD single instance usando ASM como controlador de arquivos.
Exemplo desse processo ativo em um dos meus servidores agora:
[ prod_db@machine /home/oracle ]: ps -ef |grep ocssd |grep -v grep
oracle 20168 19928 0 Mar23 ? 00:00:13 /oracle_home/bin/ocssd.bin
Esse processo pode estar ativo mesmo se você não estiver usando ASM ou mesmo antes de você criar uma instância (foi iniciado por padrão após instalação de algum produto).
Rápido adendo:
Antes de aplicar um patch ou se não vai usar ASM nesse servidor e quer parar o serviço, você pode parar/iniciar esse serviço com o comando “init.cssd stop”/”init.cssd start”, estando logado como root. Comando válido para ambientes NÃO-RAC. Com RAC esse processo também é vital, tome cuidado.
A parte que interessa: Por que aconteceu? Como corrigir?
No meu caso, fui contemplado com o erro após trocarmos o IP e hostname desse servidor. O banco foi instalado com o servidor tendo o hostname=A e IP=X, já estava tudo rodando bonitinho (ASM, DB, usuários trabalhando).
Só que precisávamos trocar o hostname e IP. Durante a janela de manutenção planejada, seguimos os seguintes passos:
• Parei a instância de banco
• Parei o ASM
• Parei o ocssd.bin (com “crsctl stop crs”)
O analista de Linux trocou o hostname de A para B e o IP de X para Y.
Fui todo contente fazer os passos inversos e, ao mandar o primeirão “crsctl start crs”, levo na fuça um direto de um punho com soco inglês cravando esse log na minha testa:
[root@machine bin]# ./crsctl start crs
Attempting to start CRS stack
Failure at scls_scr_create with code 1
Internal Error Information:
Category: 1234
Operation: scls_scr_create
Location: mkdir
Other: Unable to make user dir
Dep: 2
Para sanar o erro acima, tive que reconfigurar o CSS seguindo os passos:
1. Se houver algum processo do CSS executando, mate-o:
$ kill -9
2. Com o usuário root, vá até o $ORACLE_HOME/bin
$ cd $ORACLE_HOME/bin
3. Faça a reconfiguração do CSS
$ localconfig reset $ORACLE_HOME
4. Inicie o processo do CSS
$ /etc/init.d/init.cssd start
Agora sim! O CSS subiu normalmente e eu pude iniciar o ASM e, depois, o BD!
O porquê de acontecer isso e os detalhes técnicos eu não sei ainda. Não achei documento que explicasse. No máximo, em um PDF chamado “ASM Best Practices” que achei, diz que “If CSS does not start automatically on reboot or if there is a hostname configuration change. The following command (localconfig reset) can be used to reconfigure CSS on that host”.
É tudo que sei! Se for trocar hostname por aí, fique ligado nisso.
Obs: Essa solução funcionou para meu ambiente, mas pode não funcionar no seu. Use por sua conta e risco!
SQL Magazine!
Publicação
Galerinha, saiu uma publicação de um artigo meu na revista SQL Magazine!
É o artigo que fiz durante minha Pós-Graduação como trabalho final (tipo TCC), do qual extraí um pedaço que publiquei no post explicando sobre latches. O assunto abordado são algumas das opções de tuning para problemas de performance devido grande ocorrência de hard parses.
Infelizmente, não posso republicar meu artigo inteiro aqui no blog, pois ele está na revista, normas editoriais. Mas vocês podem adquirir a revista ou ler online. A prévia do artigo está aqui, SQL Magazine edição 95.
Essa é notícia velha, é verdade, o artigo saiu no começo do ano, eu que não consegui me organizar para vir atualizar o blog.
Estou tirando algumas teias de aranha daqui agora. =)
Obrigado a todos pelos incentivos e pelo carinho.
Gotta keep moving! Go go GO!
2011 in review
The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog.
Here’s an excerpt:
A San Francisco cable car holds 60 people. This blog was viewed about 1,700 times in 2011. If it were a cable car, it would take about 28 trips to carry that many people.
Latches – Conceito
Briefing
Pessoal, esse é um post simples e direto. Só irei explicar o que é um Latch.
Se você, estudante do banco de dados Oracle, começar a ler sobre a arquitetura desse SGBD, vai encontrar esse termo e, não sabendo o que é, pode interferir no entendimento. Nesse momento a minha expectativa é que você abra o Google e pesquise “o que é latch?” ou “o que são latches?” e, com sorte, caia exatamente aqui nessa página!
Esse texto é parte de um artigo que escrevi como TCC da Pós-graduação e minha intenção era publicá-lo na íntegra aqui no Blog, mas não será possível. Felizmente é por um bom motivo! Esse artigo foi publicado na SQL Magazine e, pelas normas editoriais, não pode ser publicado em outros meios. Confiram o artigo completo na revista! =)
O trecho abaixo eu já tinha publicado antes de trabalhar com a revista SQL Magazine, então vou mantê-lo aqui.
Espero que ajude tanto quanto o post sobre Blocos Anônimos (esse aqui) me parece que têm ajudado.
Não é um conceito direcionado aos iniciantes, está mais ligado a análises de tuning mas, enfim, não vai fazer mal saber o que é, ter uma noção sobre latches. Se eu li, aprendi um pouco e me foi útil, também pode ser pra você.
[Super Mario] Here we gooooo! [/Super Mario]
Latch – Extraído do meu artigo sobre Hard Parses
Latch é um mecanismo de alocação de estruturas na memória SGA serializado e desenhado para que sejam alocados por curtos períodos de tempo. Ele controla os vários processos que desejam acessar áreas compartilhadas da SGA, permitindo que somente um processo de cada vez acesse a estrutura requisitada, evitando corrupção da memória, ou seja, mantendo a integridade.
Latch não implementa fila de espera, como acontece com outros tipos de locks (travas). Se, ao tentar obter um latch, é identificado que outro processo já o obteve, sua sessão irá aguardar algum tempo e, depois, tentará novamente obter o latch.
Quando o latch for liberado pelo processo que o obtinha, se houver vários processos que precisam do mesmo latch, o primeiro processo que solicitá-lo após a liberação terá sucesso, os demais continuarão tentando aleatoriamente até conseguir ou até esgotar o tempo de tentativas.
Atente-se que não houve fila de espera e, portanto, pode ser que o primeiro processo que chegou para obter o latch bloqueado não seja o primeiro a consegui-lo após a liberação do latch.
Quando um processo fica em loop tentando obter o latch e há várias sessões tentando a mesma coisa, tal processo ficará um tempo ocupando CPU na esperança que o latch seja liberado logo (como o latch foi desenhado para durar curtos períodos, presume-se que a chance de ser liberado em breve é alta). Somente após algum tempo em CPU tentando obter o latch e falhando, o processo liberará a CPU e tentará de novo mais tarde. Isso indica, normalmente, um cenário em que há várias sessões tentando obter o mesmo latch, ao invés de uma sessão única alocando o latch por um longo tempo, como acontece com outros tipos de locks.
Tanto essa espera na CPU quanto a saída e a volta para a CPU para tentar novamente são gastos com recursos primários devem ser evitados, se possível.
Hard parse é uma operação que utiliza latches para ser completada. Portanto, temos a seguinte relação: quanto mais hard parses, mais latches. Aumentar o número de latches significa ter mais processos alocando as estruturas compartilhadas da memória (alta concorrência) e, consequentemente, aumenta a chance de que outro processo tenha que aguardar para obter seu latch ao invés de obtê-lo instantaneamente.
Quanto menos hard parses, menos latches, maior a chance de um processo obter seu latch instantaneamente (baixa concorrência), menor a chance de espera, mais rápido será o fluxo através dos mecanismos internos e mais rápido será o término da operação executada.
Caso o trecho tenha te deixado ainda mais confuso, peço que aguarde o post com o artigo completo. Se esse capítulo extraído não fez sentido no contexto onde você leu sobre latch, fará dentro do artigo.
Um desafio para todo DBA
O DBA e seus relacionamentos
Relacionamento? Entre duas entidades? MER, DFD? Nada disso.
Salvo raras exceções, um grande desafio para todo DBA (e outras profissões de TI relacionadas a suporte) não é gerenciar sua caixa de emails, mas gerenciar sua vida pessoal. Especialmente um relacionamento com a pessoa amada.
DBAs leitores, estou certo ou estou errado? Pela rápida pesquisa que fiz, são bem poucos os felizardos que nunca tiveram problema com isso. Os demais se identificaram com essa questão, pois já passaram, pelo menos algumas vezes, por situações do tipo.
Quando um colega meu veio com a pargunta “Paulo, você já mora com sua namorada?” eu já sabia o assunto que estava por vir. Era mais um sofrendo as consequências de um relacionamento prejudicado por causa de uma rotina de trabalho mais desgastante que a outra.
Foi essa situação que me deu uma idéia. Resolvi pedir à minha noiva, Lelê, que falasse um pouco sobre como é ser a pessoa que está ao lado do DBA, aquele cara ocupado. Já passamos por problemas, mas, com o tempo, a proximidade, a afinidade e o esforço dela em entender o que faço, passamos por cima das dificuldades e hoje ela sabe o que é realmente importante para mim, no meu trabalho e na minha carreira.
Vejam mais abaixo a visão dela sobre tudo isso. Eu mesmo grifei duas frases que, para mim, são as mais importantes. Mostrem esse texto para suas respectivas (ou respectivos), não para forçar alguma mudança de comportamento (acredito que ambos devem se esforçar para melhorar o inter-relacionamento), mas acho que ela/ele irá gostar de saber que não está sozinha(o) nessa luta. E podem, inclusive, trocar algumas figurinhas, algumas dicas, sobre como levar melhor a situação… Ou então desabafar que ser mulher/marido de DBA não é fácil!
Olá! Quem vos fala é a Lelê, noiva do PHP. Eu sou formada em Letras e especialista em gestão empresarial (nada a ver… eu sei!). Hoje, sou Gerente de Projeto de T.I. (e professora de inglês nas horas vagas!) e foi, principalmente, depois de assumir essa função, que eu comecei a entender esse mundo de
T.I. e suas demandas para “antes de ontem”.Estou aqui para atender a um convite feito pelo PHP, para falar a vocês o que é ter um relacionamento com um DBA. Quando ele veio com a idéia, achei bem interessante, mas não sabia como começar. Fiquei dias pensando! E, para ser sincera, não sei se vou ajudar muito! De qualquer maneira, vou tentar
colocar aqui como levar a rotina de um DBA, quando você, apesar de não fazer parte desse mundo, precisa entender para conseguir manter seu relacionamento saudável.Trabalhar na área de T.I. pode mesmo desgastar a vida pessoal de uma pessoa. Uma coisa que nós, queridas namoradas/noivas/esposas desses homens, precisamos ter em mente é que, infelizmente, o cliente sempre tem a razão! E a satisfação desse cara (muitas vezes) depende de nosso amado estar lá, corrigindo bugs no Banco, colocando-o de volta no ar, achando uma solução pra uma comunicação que está falhando etc…
Vida dura né? Todavia, não confundam ser tolerante com ser “Amélia”. Não devemos aceitar tudo, mas ter sensibilidade, principalmente se o gato é fera e muitas coisas de um determinado ambiente estão sob sua administração. Pior ainda se ele está começando a carreira! Como qualquer outra função Junior, a pessoa se submete a condições um pouco mais desgastantes, como trabalhar em expedientes malucos etc.
Um DBA precisa estar disponível para acionamentos sempre que o banco pelo qual ele é responsável dá algum problema, afinal, ele é o ADMINISTRADOR. Isso pode significar trabalhos extras a qualquer momento? Com certeza. E cabe ao casal conseguir arrumar sua agenda para que tenham um tempinho um para o outro. Talvez, um dia ou outro ele precise se ausentar porque passou a madrugada num processo de alterações/mudanças no ambiente? Sim, talvez… Pode ser que vocês organizem uma super viagem e ele precise levar um laptop e, se bobear, receber ligações de superiores e ter que atuar/trabalhar nesse período? Infelizmente, sim.
Porém, e você, amiga? Não tem sua carreira também? Então! Pode não ser na área de T.I., pode não exigir como a dele, mas te faz feliz? Aposto que seu DBA adora o trabalho dele. Então, cabe às pessoas à volta dele apoiá-lo e você é uma das mais importantes.
Além do trabalho árduo, DBAs têm várias certificações para tirar. Isso é bom para eles e requer tempo e dedicação. Apoie seu DBA a se certificar. Se sua profissão também tiver certificações disponíveis, aproveite e estudem juntos (mesmo que isso siginifique cada um num canto), o apoio do parceiro pode fazer toda a diferença.
Metaforicamente, e em suas devidas proporções, o trabalho de um DBA é como o de um médico obstetra. Se a bolsa de uma paciente estoura às 03h05 da manhã, lá vai o médico fazer o parto. Se um banco cai às 03h15 da manhã, lá vai o DBA determinar a causa do problema e colocá-lo de volta no ar. Apesar de não lidar com vidas, ele lida com satisfação do cliente, lucratividade. Itens importantíssimos para qualquer empresa.
Acho que a comparação com o médico obstetra é a que melhor ilustra como será seu relacionamento. Ele terá plantões e emergências, e você precisa aceitar isso. Já chega o coitado virar madrugadas resolvendo problemas, levando chicotada do chefe, do chefe do chefe, do cliente, ainda vai ter que aguentar a namorada bicuda quando voltar para casa? Aí não dá, né?
Aproveite o tempo que vocês têm juntos! Curta e viva intensamente. Imprevistos, emergências e plantões vão acontecer e, quando acontecerem, você levará de boa, pois sabe que depois da tormenta, virão dias de calmaria!
Quem escreveu esse texto maravilhoso foi minha noiva, Lelê. Quem quiser contactá-la fique a vontade, ela está disponível para conversar ou ajudar quem precisar de uma força nesse assunto. Além do mais, ela adora pagar de cupido!
Aproveitem e passem no Blog dela para ver o último post, que tem dicas bacanas sobre comunicação escrita em inglês. Pra quem manda email para colegas de trabalho internacionais, ou fala com o Suporte da Oracle, são dicas valiosas para incrementar ou afinar seu segundo idioma!
Contatos Lelê:
- Blog Language Town
- Twitter @lezoca (O perfil não está aberto, mas podem pedir para seguir, se quiser, que ela não vai dizer não)
- Facebook Lelê
Muito obrigado, meu amor, por ser compreensiva e carinhosa mesmo com tantos empecilhos na minha rotina. Sua força e seu apoio são extremamente importantes na minha vida. Você está certa, um DBA ama o que faz, muito obrigado por entender isso. Sinto-me realizado profissionalmente porque amo o que faço e porque você torna meu dia-a-dia mais leve, quando o expediente acaba e vou para seus braços. Love you!


