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, em breve, publicarei o artigo inteiro, não só o meu como os de meus colegas também.
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ê.
[mario] Here we gooooo! [/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!

