Luciano Moreira

Luciano Moreira

(0 comments, 128 posts)

This user hasn't shared any profile information

Home page: http://luticm.blogspot.com/

Posts by Luciano Moreira

DB2 trap problem determination

Durante minha vida profissional pude observar muitas análises ruins quando se está tentando determinar a causa raiz de um problema. O x da questão usualmente não é a qualidade técnica do profissional, mas sim a metodologia adotada detalhar a situação para se criar uma linha de eventos válida, somada a uma frequentemente falta de paciência em varrer os logs e analisar com calma as evidências.
Pensando nisso eu escrevi um pequeno passo a passo para uma identificação de causa raia que fiz em uma instância do DB2 que uso para meus testes, onde sem querer esbarrei em um bug do DB2. Espero que sirva como um bom exemplo de análise, independente do produto que você trabalha.

Cenário: em meu ambiente de laboratório eu notei que uma instância do DB2 recorrentemente parava de funcionar na madrugada, sendo necessário um db2start para coloca-la operacional.

Como fiz a análise...

1.      Partindo de um momento perto do horário em que o serviço foi interrompido analisa-se o diaglog, onde encontro uma entrada muito importante:

2014-03-26-00.43.45.477605-180 I38149015A601        LEVEL: Error
PID     : 9475                 TID : 4383345469712  PROC : db2sysc 0
INSTANCE: db2inst1             NODE : 000           DB   : HCOREDB
APPHDL  : 0-10765              APPID: *LOCAL.db2inst1.140326052243
AUTHID  : DB2INST1             HOSTNAME: db2luti
EDUID   : 5674                 EDUNAME: db2agent (HCOREDB) 0
FUNCTION: DB2 UDB, base sys utilities, sqleagnt_sigsegvh, probe:1
MESSAGE : Error in agent servicing application with coor_node:
DATA #1 : Hexdump, 2 bytes
0x000003FC9380996C : 0000

2.      Em seguida começamos a ver diversas entradas no diretório do FODC (First Ocurrence Data Capture). Analisando o diretório FODC temos N diretórios com o timestamp do trap, o de nosso interesse é FODC_Trap_2014-03-26-00.43.45.300571_0000.
3.      Neste diretório temos diversos artefatos que foram gerados, mas para essa análise o que nos interessa é o arquivo com trap, que é um snapshot do estado do DB2 quando o stack dump foi capturado (*.trap.txt).
a.      Neste caso foi gerado o 9475.5674.000.trap.txt;
b.      Notem o PID e EDUID destacados no diaglog, o nome do arquivo do trap é iniciado pelo process ID do db2sysc no Linux e o EDU ID do agente;

4.      O arquivo do trap tem diversas informações, entre elas a stack que fica um pouco chata de ler por conta dos nomes gerados pelo compilador. Então para analisar o arquivo e limpar o nome dos métodos, peçam ajuda ao c++filt:

cat 9475.5674.000.trap.txt | c++filt | less

a.      Signal #11 Indica um erro inesperado (9 é o SIGKILL, 2 é o SIGINT, etc..;)

Signal #11 (SIGSEGV): si_addr is 0x000003FC2640A000, si_code is 0x00000002 (SEGV_ACCERR:Invalid permissions for mapped object.)

b.      A entrada <POFDisassembly>  (POF = Point Of Failure) é o método que estava sendo executado quando o problema aconteceu.

<POFDisassembly>
sqldHashZValue32(int, sqlz_value**, sqld_sortkey**) + 0x0116   (/home/db2inst1/sqllib/lib64/libdb2e.so.1)

c.       Isso já dá um ótimo filtro de pesquisa no Google ou Bing, tentem: db2 10.1 “sqldHashZValue32”
                                                              i.      De cara a primeira saída é interessante: http://www-01.ibm.com/support/docview.wss?uid=swg1IC92798 (IC92798: RUNNING MULTIPLE CONCURRENT SAMPLED DETAILED INDEX RUNSTATS MIGHT CAUSE A SERVER ABEND OR INACCURATE INDEX STATISTICS)

d.      Na APAR temos o detalhamento do problema e stack trace de interesse:

sqloEDUCodeTrapHandler
sqldHashZValue32
sqlis_touch_page
sqliProcessColStats
sqlischs
sqlistat
sqldIndexStats
sqlrLocalRunstats

e.      Para garantir que se trata do mesmo problema, vamos comparar a stack no arquivo de trap:

0x000003FFFAAC4888 sqloEDUCodeTrapHandler + 0x0250 (/home/db2inst1/sqllib/lib64/libdb2e.so.1)
0x000003FC93809DF0 address: 0x3fc93809df0
0x000003FFF8BB97D6 sqldHashZValue32(int, sqlz_value**, sqld_sortkey**) + 0x0116
                (/home/db2inst1/sqllib/lib64/libdb2e.so.1)
0x000003FFFBFC8A92 sqlis_touch_page(unsigned long, schs_cluster_data*) + 0x00ca
                (/home/db2inst1/sqllib/lib64/libdb2e.so.1)
0x000003FFFBFB0C46 address: 0x000003FFFBFB0C46 ; dladdress: 0x000003FFF74C9000 ; offset in lib: 0x0000000004AE7C46 ;
                (/home/db2inst1/sqllib/lib64/libdb2e.so.1)
0x000003FFFBFB5B32 sqliProcessColStats(schs_data*, SQLI_CB*, unsigned int*) + 0x052e
                (/home/db2inst1/sqllib/lib64/libdb2e.so.1)
0x000003FFFBFB7314 sqlischs(SQLI_CB*, SQLD_ISTAT*, SQLD_CSTAT*, SQLD_TSTAT*, schs_data*, int) + 0x0e4c  (/home/db2inst1/sqllib/lib64/libdb2e.so.1)
0x000003FFFC143CF2 sqlistat(sqeAgent*, SQLD_CCB*, unsigned int, SQLD_IXCB*, SQLD_ISTAT*, SQLD_CSTAT*, SQLD_TSTAT*) + 0x100e
                (/home/db2inst1/sqllib/lib64/libdb2e.so.1)
0x000003FFF8CBA094 sqldIndexStats(sqeAgent*, unsigned short, unsigned short, unsigned char, unsigned short, int, unsigned int, SQLD
_ISTAT*, SQLD_TSTAT*, char*, int, char*, int, unsigned int, bool&) + 0x0b58
                (/home/db2inst1/sqllib/lib64/libdb2e.so.1)
0x000003FFFAF28004 sqlrLocalRunstats(sqlrr_cb*, sqlrrstring*, sqlrrstring*, sqlrrstring*, ….

f.        Coincidência? A APAR diz que o problema foi corrigido no fix pack 3, e qual a nossa situação.

Ø  db2level

db2inst1@db2luti:/db2/db2inst1/diaglog> db2level
DB21085I  This instance or install (instance name, where applicable: "db2inst1") uses "64" bits and DB2 code release "SQL10012" with level identifier "0203010E".
Informational tokens are "DB2 v10.1.0.2", "s121127", "IP23396", and Fix Pack "2".

g.      Analisando a CRONTAB do servidor db2luti temos um agendamento marcado para executar todos os dias exatamente 00:43h. Que bate exatamente com o timestamp do diaglog (00.43.45.477605).

43 00 * * * /home/db2inst1/scripts/runstats.ksh hcoredb
43 00 * * * /home/db2inst1/scripts/runstats.ksh hcoredb1
43 00 * * * /home/db2inst1/scripts/runstats.ksh hcoredb2
43 00 * * * /home/db2inst1/scripts/runstats.ksh hcoredb3
43 00 * * * /home/db2inst1/scripts/runstats.ksh hcoredb4


Conclusão

O agendamento que eu criei para testar variações da rotina de runstats é executada em cinco bancos de dados no mesmo horário, o que nos coloca no cenário do bug. Como paliativo podemos alterar o agendamento, mas a solução definitiva é aplicar o Fix Pack 3 do DB2.

Claro que a análise em si levou mais tempo, pois foi necessário varrer em maior detalhe o diaglog, correlacionar eventos, analisar a APAR, entre outros. É esse cuidado que muitos não têm e como resultado são feitas análise incorretas, onde já vi sugestão de se aplicar fix em que a mensagem de erro é igual, mas com uma stack totalmente diferente, o que significa não se tratar do mesmo problema.

Para quem está procurando material de referência, infelizmente não tenho um link específico, mas participei de um bom seminário em 2013 no IDUG em Barcelona (http://www.idug.org/emea2013) chamado “DB2 LUW Problem Determination and Troubleshooting Workshop”, com o Pavel Sustr e Samir Kapoor. Eles estarão presentes no IDUG 2014 em Phoenix (que acontecerá agora me Maio), então se estiverem por lá eu recomendo participar deste workshop de um dia.

Espero que o exemplo seja útil, não para esse caso em si, mas para ilustrar um pouco a prática na análise de problemas. Espero postar aqui mais casos de análise.

Abraços,

sr. Nimbus Serviços em Tecnologia - www.srnimbus.com.br

PASS Summit para Brazucas

OBS: já comprei minha passagem e estarei no PASS Summit 2014!

Atendendo pedidos escrevo esse post, que espero que esse seja um living post, com diversas atualizações e dicas para Brasileiros que irão ao PASS Summit em Seattle, pois é um lugar que conheço razoavelmente bem...
·         PASS Summit 2013: http://www.sqlpass.org/summit/2013/Sessions.aspx
·         PASS Summit 2014: http://www.sqlpass.org/summit/2014/RegisterNow.aspx
·         Meus posts do PASS Summit 2012:
A viagem
Seattle não fica ali na esquina, então se prepare para uma viagem cansativa. A menos que você pegue alguma promoção eu espero que gaste entre R$ 2.500,00 e R$ 3.500,00 na passagem aérea, se tiver milhas para gastar, melhor. O aeroporto que você quer é Seattle Tacoma International Airport (Sigla: SEA - http://www.portseattle.org/Sea-Tac/Pages/default.aspx).
Para quem sai de Brasília a Delta oferece os melhores trechos, sendo o melhor BSB – Atlanta – Seattle (média de 17 horas de viagem). Vale ressaltar que o trecho dentro dos EUA é longo, com mais que 4 horas, e as refeições usualmente pagas. Então aproveito os minutos no aeroporto de entrada nos EUA para comprar alguma coisa para comer e já faço um teste com o cartão de crédito, para ver se foi liberado para uso no exterior.
Outra coisa que gosto de fazer é sair na sexta-feira de noite e chegar sábado de manhã em Seattle, assim eu aproveito o fim de semana antes do evento. Costumo voltar no voo de sábado, para chegar domingo cedo no Brasil, curtir a família e descansar para a segunda-feira.
O evento
O Summit tem 3 dias de duração com sessões diversas, precedido por 2 dias de pre-con (pagos à parte, US$ 495 cada). Idealmente você compra seu ingresso com bastante antecedência (se comprar até o fim desse ano o Summit de 2015 o desconto é muito bom!) e também as pre-sessions, que costumam ter de altíssimo nível. Não deixe de comprar o DVD Set com as gravações do evento, que para participantes costuma sair por US$ 195,00 e muito legal, pois usualmente existe colisão de horário entre grandes sessões.
O evento acontece no centro de convenções da cidade, o Washington State Conference Center (http://www.wscc.com/), que é um lugar grande, bem localizado e que acomoda muito bem um evento desse porte.
Caso você não vá participar da pre-con, pode procurar outros eventos, com o SQLSaturday que costuma acontecer nas redondezas de Seattle ou SQL in the City da RedGate (http://sqlinthecity.red-gate.com/), que torço para acontecer neste ano.
Dicas para aproveitar ao máximo o evento
TODO
Carro
Durante o evento é besteira você ficar com o carro, a menos que queria sair de noite para lugares mais longes, porém no centro de Seattle tem muita coisa legal para fazer, então minha recomendação é para pegar um carro antes ou depois do evento. Aí você deve considerar se o seu hotel tem incluso estacionamento, pois alguns cobram uma taxa (ex.: US$ 15) pela diária do estacionamento.
Outra dica é ficar atendo a lugares onde se pode estacionar e horários permitidos, pois é normal ficarmos sabendo de história onde amigos tomaram multa. Eu nunca tomei, mas bastou empresar um dia o carro que tomaram uma por mim! Hehehehe
Como o aluguel da semana é relativamente barato, muitos acabam optando por ficar a semana inteira com o carro. Se você optar por isso, ao invés de pagar a diária do GPS, por um pouco mais você compra um GPS novo e fica com ele para você.
Hospedagem
Ao lado do evento existem hotéis excelentes, como o Sheraton, Hilton, Crowne, Westin e W hotel, todos muito bons, mas um pouco salgado ($$$).
No meu caso eu costumo ficar nos hotéis pertos do Space Needle, que tem um bom custo benefício e são relativamente perto do centro de convenções (8 a 10 quarteirões – 15 a 20 minutos de caminhada). Alguns deles (busque por “<nomedoHotel> by the space needle”):
·         Travelodge: http://www.travelodgeseattlecenter.com/
Além do estacionamento duas outras coisas que sempre checo é o café da manhã e política de entrega de pacotes, pois alguns hotéis cobram para guardar e entregar suas encomendas.
Clima
TODO
Compras
Esse aqui Brasileiro curte:
·         Eletrônicos: Bestbuy que nada, eu gosto de ir à Frys, que é uma loja de eletrônicos imensa que tem perto do aeroporto de Seattle (SEA-TAC) - http://www.frys.com/.
·         Seattle Premium Outlet: aaaaahhhh, outlets, ruim né? O de Seattle fica longe da cidade, então recomendo ir de carro.
o   Faça seu cadastro no site, imprima as promoções e pegue o cupom book, que dá bons descontos no outlet.
·         Toys r’us e Baby r’us: para quem tem filho é parada obrigatória e existem lojas espalhadas ao redor de Seattle.
Não vou esticar aqui mais lojas, se quiserem mais dicas peçam.
O que visitar e conhecer
TODO – Provavelmente a parte mais longa deste post

Abraços
sr. Nimbus Serviços em Tecnologia - www.srnimbus.com.br

[SQLServerDF] Encontro XX – Integrando o PowerView e PowerPivot no SQL Server 2012 e Sharepoint 2013

Na próxima semana vamos aproveitar a presença do amigo Demétrio Silva em Brasília para recebermos um palestrante de outra cidade (o SQLServerDF está ficando chique!). E melhor ainda, ele vai palestrar o vigésimo encontro do grupo, o que aumenta a responsabilidade.
Dado a lotação da última sessão sei que esta não vai ser diferente, mas infelizmente eu ainda estou avaliando outros locais para realização dos nossos encontros, que poderão suportar um público maior. Porém como foi em cima da hora vamos ficar com o tradicional auditório da Microsoft, que sempre nos acolheu muito bem.
Local: Auditório da Microsoft - Edifício Corporate Financial Center, sala 302 – Brasília, CEP 70712-900
Data e horário: 19/03/2014, 17:30h ~ 20:00h
Tema: Integrando o PowerView e PowerPivot no SQL Server 2012 e Sharepoint 2013
Descrição: Nesta sessão iremos abordar a configuração das ferramentas Enterprise de BI da Microsoft, mais especificamente, será demonstrado como configurar o SSRS, PowerView e PowerPivot do SQL Server 2012 no Sharepoint 2013.
Palestrante: Demétrio Silva
Mini-bio: Demétrio Silva atua no ramo de Tecnologia da Informação há mais de 11 anos, é bacharel em Sistemas de Informação com ênfase em Desenvolvimento de Software, pela FIR-Recife. Instrutor oficial Microsoft, trabalha com SQL Server há 10 anos, com Desenvolvimento, BI e Administração. Também é consultor Sharepoint e possui as certificações MCTS/MCITP/MCT - Sharepoint, Project, SQL Server e Windows Server. É palestrante ativo da comunidade Microsoft e já fez várias palestras e webcasts sobre SQL Server e Powershell.
Quer participar? Então mande um e-mail para o grupo SQLServerDF (https://groups.google.com/forum/#!forum/sqlserverdf) confirmando sua presença, pois a capacidade do auditório é limitada, portanto atendemos na ordem de recebimento dos e-mails!
E por fim, para quem não conhece o Demétrio ele é o cara que sempre pergunta se os encontros serão gravados (inclusive isso “animou” a lista no último encontro), então não deixem de perguntar isso para ele, e dessa vez tenho certeza que será gravado! Hahahahaha
Abraços
sr. Nimbus Serviços em Tecnologia - www.srnimbus.com.br

SQLSat #284 Porto Alegre

Como muitos já devem saber em Abril teremos mais um SQLSat no Brasil, dessa vez em Porto Alegre. Acho que o evento dispensa apresentações, mas se você não sabe muito sobre os SQLSats recomendo que visite o site: http://www.sqlsaturday.com/.
Eu submeti uma sessão que felizmente foi aprovada, então vou falar um pouco sobre paralelismo:
Título: Entendendo o paralelismo no SQL Server
Descrição: Um assunto recorrente em discussões sobre SQL Server é o uso do paralelismo, e sempre fica a pergunta, é bom ou ruim? Nessa sessão vamos ver detalhes do paralelismo no SQL Server, configurações que influenciam seu uso (MAXDOP = 1?), entender o famoso wait type CXPACKET e analisar diversas consultas paralelas. Ao fim da sessão você vai poder olhar para o paralelismo com um olhar crítico e realista!
O que estou achando mais fantástico nesse SQLSat é a quantidade de palestrantes diferentes, número maior que o de Brasília (talvez o pessoal tenha ficado com receio da “desorganização do organizador” do evento em BSB, não sei). Evento que até o momento se mostra imperdível, e tenho certeza que será assim até o fim!
Ficou curioso? Então veja todas as palestras: http://www.sqlsaturday.com/284/schedule.aspx
Abraços
sr. Nimbus Serviços em Tecnologia - www.srnimbus.com.br

[SQLServerDF] Encontro XIX – Invadindo o SQL Server? DBA vs. Hacker

Nosso MVP Luan Moreno está de volta ao SQLServerDF com mais uma palestra, e devo confessar, estou muito curioso para ver o que ele anda aprontando com o SQL Server. Ele disse que vai me surpreender, estou ansioso para ser verdade!
Local: Auditório da Microsoft - Edifício Corporate Financial Center, sala 302 – Brasília, CEP 70712-900
Data e horário: 19/02/2014, 17:30h ~ 20:00h
Tema: Invadindo o SQL Server? DBA vs. Hacker
Descrição: Nessa sessão iremos apresentar alguns dos tipos de ataques possíveis no SQL Server e como evitá-los. Iremos visualizar esses ataques de duas perspectivas: Na visão do DBA aonde ele terá que se defender do ataque, e na visão do Hacker que irá mostrar as diversas possibilidades de acesso ao Servidor de Banco de Dados, quem irá vencer? Descubra nessa sessão com duração de 02:30h.
Palestrante: Luan Moreno e Lenon
Quer participar? Então mande um e-mail para o grupo SQLServerDF (https://groups.google.com/forum/#!forum/sqlserverdf) confirmando sua presença, pois a capacidade do auditório é limitada, portanto atendemos por ordem de recebimento dos e-mails!
A sessão será gravada e disponibilizada depois? NÃO! Ah Luti, por favor... NÃO! Mas na minha cidade não tem reuniões de capítulos do PASS para eu participar... Ah não? Então levanta esse traseiro da cadeira, contate o Diego Nogare ou Laerte Júnior (atuais mentores regionais do PASS) e comece a fazer alguma coisa na sua cidade. Aí quem sabe não vamos palestrar por aí...
Abraços
sr. Nimbus Serviços em Tecnologia - www.srnimbus.com.br

MCM SQL Server fail (x2)

Esse é aquele post que eu gostaria de não escrever, mas nas crises de sinceridade e criticismo não vai poder passar em branco...
Em 11 de Setembro de 2013 eu passei mais de 6 horas em frente ao meu notebook, com outro ao lado posicionando a webcam para que me vejam, realizando o exame de laboratório para tentar me certificar como Microsoft Certified Master em SQL Server 2008. Nem preciso dizer que foi muito cansativo, mas uma experiência bacana.
A prova era composta de N questões que você deve responder cada uma em detalhes e em menos de 25 minutos para conseguir a pontuação completa. Executei as atividades de N – 3 questões quando o tempo de prova acabou. Pouca esperança em para um resultado positivo, mas sendo essa a última que morre, esperei agoniado pelo seu atestado de óbito, que chegou na semana seguinte. Minha pontuação de 50% da prova não foi suficiente para conseguir a aprovação no exame.
Nesse momento o próximo passo lógico seria remarcar a prova, pagar mais US$ 2.000,00, agendar a próxima data, estudar mais e tirar a certificação. Só que optei por não fazer novamente o laboratório para me tornar MCM, uma mistura de raiva e priorização de outras atividades, que vai me deixar por muito tempo com um sentimento ruim, mas foi minha escolha, justificada abaixo.
Depois de realizar a prova de conhecimento em Novembro de 2012 perto de Seattle (http://luticm.blogspot.com.br/2012/11/sql-2008-mcm-knowledge-exam.html), com um voucher cedido pelo simpático Bob Taylor, me restava estudar para o laboratório. Fun!
Com a reviravolta de 2013 eu gastei meu tempo estudando muitas outras coisas que não SQL Server, mas resolvi marcar meu laboratório e obviamente tinha que estudar para passar nesta prova. Prova marcada, aguardando o dia D, e numa sexta-feira negra de 2013 recebi a notícia de que o programa de MCM tinha sido cancelado pela Microsoft. Quanta alegria! E isso a menos de duas semanas da minha prova de laboratório.
Se você não leu a respeito, basta procurar na web que vai encontrar muita coisa sobre o assunto, sendo um dos melhores posts o do Joseph Sack (http://www.sqlskills.com/blogs/joe/we-can-handle-the-truth/). Ainda rolou uma thread gigante no Connect sobre a morte do MCM, mas a Microsoft tirou a thread do ar pouco depois da sua repercussão, que beleza.
Critico a decisão porque a Microsoft vive falando do SQL Server como uma plataforma de dados robusta e pronta para grandes empresas, que eu acredito e assino embaixo, mas suas ações não condizem com o discurso. Para um SQL Server sólido é preciso excelentes DBAs, mas seus treinamentos oficiais são superficiais, as certificações básicas relativamente simples, e o programa que é o grande diferencial para profissionais de SQL Server foi cancelado. Para mim a mensagem entregue hoje é que ser um DBA júnior SQL Server está OK! Mas eu friso queridos amigos, ambientes críticos precisam de DBAs sêniores ou superior.
Entendo a questão financeira do programa, que provavelmente não dava o retorno esperado, mas esse é o tipo de coisa que a empresa precisa financiar. Pegue uma pequeniníssima fração de N orçamentos de marketing da Microsoft que o programa está coberto, mas budget é bugdet, a decisão foi tomada e não quero entrar nessa discussão!
Certo, mas deixando o fim do programa de lado, porque eu não passei no exame? Basicamente porque não dei o devido respeito à prova, somada toda minha preparação para o MCM foram apenas 20 horas de estudo. Revisando posts de outros MCMs, tem gente estudando faz tempo e diversas horas por dia, outro camarada ficou 20 meses em cima de livros e praticando, eles sim merecem o MCM.
O laboratório não exige que você saiba nem 1/3 dos detalhes que ministro em alguns treinamentos, mas exige que você esteja proficiente (saber como fazer e executar rápido) em muitas coisas, como ilustração: configure uma replicação X, mirror com certificado, executar um procedimento de disaster recovery, etc. No meu caso eu acredito que precisaria de algo em torno de 80 horas de estudo para me sair bem, já que agora conhecia a estrutura da prova.
Então para uma segunda tentativa eu teria que gastar muito tempo, do qual não dispunha, para ficar rápido em executar algumas atividades no SQL Server e decorar outras coisas. Preferi respirar fundo, concluir meu MBA, estudar outras coisas, ter tempo para minha família e me contentar em ser um eterno MCM-wannabe, já que a MS puxou o plug do programa. E o retorno financeiro compensa? Provavelmente não, mas como desde o início eu fazia isso por mim, não era empecilho.
Ressalto aqui os dois únicos MCMs do Brasil:
·         O primeiro é conhecido de longa data e um dia quero saber 10% do que ele: Fabricio Catae (http://blogs.msdn.com/b/fcatae/).
·         O segundo é o Ricardo Leka, que tenho pouco contato, mas fez um investimento grande no programa MCM e felizmente conseguiu chegar até o fim com sucesso! (http://leka.com.br/)
Vocês dois tem meu profundo respeito, a certificação não é simples. E acho que no Brasil temos potencial para outros MCMs, mas a adoção do programa realmente foi lenta, então vou continuar mantendo minha “lista” de profissionais SQL Server que tem minha admiração.
Da minha parte vou continuar estudando para ser o melhor DBA SQL Server que eu consigo ser (também DB2), e trabalhando para criar os melhores e mais avançados treinamentos do país. Falando em treinamento, recentemente um fato que merece destaque veio de um mestre do Oracle, Ricardo Portilho da Nerv, que esteve em um treinamento da Nimbus e deixou um bom feedback (http://nervinformatica.ddns.com.br:8080/blog/?p=3695). São comentários que talvez valham mais que uma sigla, e espero que a próxima chance de aprender seja minha, de Oracle e com o Portilho.
Resultado: MCM SQL Server fail x2, um para mim e outro para a Microsoft! Então o geek Luti não será um Master em SQL Server? Não amigos, pelo menos não em um papel assinado pela Microsoft...
Abraços
sr. Nimbus Serviços em Tecnologia - www.srnimbus.com.br

2014 o ano para…

Gosto de começar o ano com um post falando um pouco sobre o que eu penso para 2014, esse demorou um pouco para sair do forno, mas espero que você goste. Obviamente é um registro carregado de comentários (eventualmente ácidos) e um pouco de emoção.
Se você quer ler um pouco sobre o que eu já escrevi na virada dos anos e um pouco sobre carreira, aqui estão os links:
Breve revisão de 2013
O ano de 2013 foi definitivamente bem diferente para mim, deixei um pouco de lado minha amada Nimbus, entrei para o Sicoob para ser DBA DB2, estudei muita coisa diferente (Linux, shell script, data science, Python, entre outros assuntos), tirei todas as certificações de DB2 10.1 e finalmente concluí meu MBA Executivo pelo IBMEC! O lado ruim é que tive que priorizar minhas atividades, deixando alguns pratos caírem, e falhei no laboratório do MCM (mais sobre o assunto em um post dedicado).
A mudança era necessária, pois algumas vezes precisamos de uma quebra radical para virar a mesa, e depois de escrever um post bem crítico no início do ano falando do pouco que vai mudar (para a maioria), curiosamente olha só o que aconteceu com meu ano. Tenho constantes momentos de inquietação, o que algumas vezes pode ser bem ruim, mas no geral prefiro o lado agitado da vida.
A pergunta do momento é se eu fiz a escolha certa (igual quando saí da Microsoft), e como sempre respondo para quem está do meu lado “até o momento eu não posso reclamar”. Quer dizer que tudo é perfeito? HA   HA    HA. 
2014 o ano da EXCELÊNCIA
Sempre escolho um tema para o ano, e dessa vez será o ano da excelência. Excelência em tudo que fazemos, seja nos projetos do trabalho, na área acadêmica ou nos seus estudos. Coincidentemente recebi uma frase bem legal nesta semana e cabe como uma luva neste post: “Perfection is not attainable, but if we chase perfection we can catch excellence.” — Vince Lombardi
Eu já estava com este lema em mente no fim do ano passado, dado algumas dívidas pessoais que vou anotando, a ânsia de aprender novas tecnologias e ficar realmente bom nelas. Soma-se acontecimentos recentes e consultorias de anos que mostram o quão somos despreparados, faço questão de frisar a importância da busca pela perfeição.
Em contrapartida o ano de 2014 será diferente para o Brasil, Carnaval em Março, Abril com seus feriados e copa do mundo no país do futebol. Neste ano comodismo e procrastinação tem espaço garantido e ainda maior! O que significa que para aqueles com “sangue nos olhos” a oportunidade de crescimento profissional é muito grande.
O profissional Luti
Trabalhar com outro banco de dados (DB2) foi a peça que faltava para tomar uma decisão que vinha se solidificando: até o fim da minha vida profissional eu quero trabalhar perto dos dados, seja administrando um banco de dados (relacional, NoSQL, newSQL, etc.) ou como cientista de dados.
E para que isso aconteça de forma gradual e efetiva, é necessário entender o coração dos bancos de dados e a teoria envolvida. Então se me perguntar qual o livro que eu gostaria de ler até o fim do ano, aqui está: Transaction Processing: Concepts and Techniques (http://www.amazon.com/Transaction-Processing-Concepts-Techniques-Management/dp/1558601902). Livro de 1992 (!!! J) e que dificilmente consigo concluir até o fim do ano.
E qual a minha motivação para buscar a excelência todos os dias?
Buscar sempre o melhor para minha família, garantir que tudo funcione da melhor forma no meu trabalho, conseguir ajudar as pessoas que estão ao meu redor e saber que podemos deixar uma marca neste mundo.
E você só vai conseguir isso se descobrir o que te deixa feliz! Resolver um problema? Entender uma tecnologia? Dar aula? Na semana passada eu estive em São Paulo ministrando o treinamento Mastering SQL Server 2012, o que sempre me deixa muito feliz (chego a ficar ainda mais chato), e sempre que ouço um feedback de como ajudei um aluno, meu dia está completo.
Importante: ouvi na semana passada um comentário que me chocou. Um amigo me disse que em uma mesa de bar foi dito que alguns profissionais iriam largar o SQL Server, pois eu deveria saber alguma notícia ruim vindo de dentro da Microsoft. Nem preciso dizer que eu isso (claro) é uma grande besteira e não estou largando o SQL Server, estou adotando um novo filhote. Quem sabe depois de um treinamento de Oracle na Nerv eu não adoto mais um...
A Nimbus
Um breve adendo à este post: Muito mudou depois da minha escolha do ano passado, e vejo que para melhor. A Nimbus continua ativa e tenho investido muito tempo pessoal em cima de um novo projeto, que espero apresentar em breve. E adiantando, estamos focados em treinamento, seja no modelo presencial ou remoto.
O mercado e você
Em época de pleno emprego todo mundo tem vaga garantida, então acho que a qualidade dos profissionais continua caindo (assustadoramente), mas não ser iluda porque isso vai mudar e os fracos e incompetentes terão sua vaga extinta.
Antes de reclamar do seu chefe que não te dá treinamento ou oportunidades, pense se você está sendo o profissional que poderia ser. Se você não trata com excelência seu trabalho, porque sua empresa deveria cuidar bem de você?
Abraços
sr. Nimbus Serviços em Tecnologia - www.srnimbus.com.br

Certificações DB2

No início de novembro eu passei na minha terceira prova de DB2. Conforme vocês já sabem por este blog eu também estou trabalhando com outro banco de dados além do SQL Server, o que está sendo uma experiência fantástica. As provas que eu passei foram:


·         610: DB2 10.1 Fundamentals (http://www-03.ibm.com/certify/tests/ovr610.shtml)

·         611: DB2 10.1 DBA for Linux, UNIX, and Windows (http://www-03.ibm.com/certify/tests/ovr611.shtml)

·         614: DB2 10.1 Advanced DBA for Linux UNIX and Windows (http://www-03.ibm.com/certify/tests/ovr614.shtml)


Depois de mais de 25 provas da Microsoft foi interessante fazer as provas de outra empresa. Minhas considerações (superficiais) sobre as provas:


·         Em termos de complexidade acredito que Microsoft e IBM estão alinhadas, não são provas muito profundas e não exigem demais do candidato.

·         A prova da IBM se mostrou mais exigente na decoreba do que em questões mais lógicas, então acredito que favorece braindumpers.

o   Como tenho pouco contato com profissionais certificados DB2, não sei se a situação com braindumpers estão tão crítica quanto a do SQL Server.

·         As questões são bem diretas, sem enunciados longos como costumamos ver nas provas de SQL Server, o que me fez praticamente acabar os exames na metade do tempo, e irá ajudar aqueles com inglês um pouco mais fraco já que vão perder menos tempo o enunciado.

·         Aproveitei o IDUG em Barcelona para fazer as duas primeiras provas e o IOD em Las Vegas para fazer a advanced, então diretamente não gastei um centavo com prova, pois os eventos garantiam 1 ou 2 provas sem custo.

o   O IOD deu a oportunidade de fazer um teste de assessment, que é interessante para você saber como está sua preparação e também permitir aos novatos conhecer o estilo da prova.

·         As provas de DB2 custam US$ 200,00, mas você pode aproveitar algumas oportunidades que eu já vi (aqui em Brasília uma parceria com a Universidade Católica) para fazer a prova pagando bem menos.

·         A essa altura do campeonato eu já sei como me portar nas provas, não ficar nervoso, onde gastar tempo e dar um bom direcionamento na questão que não sei a resposta. E isso ajuda muito!


Como sempre digo: essas provas não avaliam o conhecimento efetivo do profissional ou se ele será um bom DBA, mas no meu caso foi interessante para validar um pouco de como esta minha assimilação dos conceitos de DB2, e sem gastar nada valeu muito a pena.

Até o momento eu não vi nada semelhante ao Oracle Master para DB2 (ou o finado MCM de SQL Server), então basicamente fechei as certificações para o 10.1 e agora é ir para DB2 for zOS, esperar provas da próxima versão ou quem sabe outras maluquices... E claro, aprender internals do DB2!



Deixo o gancho para outros dois posts que estou escrevendo: “MCM SQL Server Fail (x2)!” e “DBA DB2 e SQL Server – a saga”.


[]s
Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

[Treinamento] Mastering SQL Server 2012 em São Paulo

Não é simples concilicar uma jornada dupla de trabalho com momentos de qualidade com sua família, o projeto de seu MBA, estudos de novas tecnologias e colocar em prática outros planos, além é claro de momentos para você. Neste fim de ano espero conseguir chegar em um bom plateau de produtividade para finalizar algumas pendências de 2013.

Algo que vem sendo muito, mas muito pedido, é o treinamento de Internals do SQL Server 2012, agora conhecido como Mastering.

Então aqui está a turma para São Paulo em 2014: http://www.srnimbus.com.br/calendario/sql23_spjan2014/

Estou cogitando utilizar outro espaço bem legal em São Paulo, por isso ainda não publiquei o local do evento, mas até fim de outubro o farei.

Diferente do passado onde 3 ou 4 turmas eram anunciadas por ano, dependendo do ritmo talvez essa seja a única que eu consiga ministrar em São Paulo no ano de 2014, então meu conselho é não procrastinar seus planos de aprendizado, principalmente se este incluir um Mastering...

[]s
Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.brwww.twitter.com/luticm
www.srnimbus.com.br

SBBD 2013

Neste ano eu tive a felicidade de participar do 28º Simpósio Brasileiro de Banco de Dados. O SBBD 2013 aconteceu em Recife, com diversas opções de palestras, apresentação de teses e sessões técnicas, que você pode ver aqui: http://sbbd2013.cin.ufpe.br/sbbd/programacao-geral.
Talvez você esteja se perguntando, que diabos o Luti está fazendo em um evento puramente acadêmico? Vou falar do meu interesse e porque quando a oportunidade apareceu eu fiquei muito animado.
Nos estudos do dia a dia e nas atividades do trabalho ficamos focados no que os produtos oferecem e resolvendo problemas, como posso dizer... de ordem prática. Só que os avanços que vemos hoje nos SGBDs usualmente vem dos estudos de mestrado e doutorado que as universidades e empresas desenvolvem. Então é mais do que esperado estarmos sempre “atrasados” e em geral os problemas que enfrentamos diariamente são simples, se comparado às questões acadêmicas.
É bom ser desafiado a entender assuntos diversos e novos. Assistir a uma sessão chamada Hierarchical Bottom-Up Safe Semi-Supervised Support Vector Machines for Multi-Class Transductive Learning, onde diversos algoritmos são citados, deixa muito espaço para dúvidas e uma lista de artigos gigante para ler (um dia qualquer!).
Essa saída da zona de conforto me dá a possibilidade de abrir mais a mente durante alguns dias, pensar em soluções mirabolantes para problemas existentes e uma chance única para traçar planos e cogitar novas ideias, que usualmente não faço durante a carga usual de trabalho.
Entre diversas apresentações de short e full papers (sessões de 15 e 30 minutos), tivemos algumas sessões mais longas e muito interessantes.
Data Management Challenges for Social Applications – Estamos acostumados com estudo de caso e exemplos, o que o Johannes apresentou foi como estão pensando em resolver problemas do tipo: quero fazer uma viagem com amigos X, Y e Z. Já pensou em extensões da linguagem SQL onde escrevemos consultas do tipo: escolha um voo onde meus amigos estarão presentes, de preferência para companhia aérea AAAA, reserve um hotel perto do evento em um raio de X KMs e isso deve ser resolvido em até 3 dias, e claro, mantendo as propriedades ACID. Interessante e já tem gente grande pensando nisso.
Mineração de dados: modelos, algoritmos, sistemas e aplicações – Apresentação muito motivadora do Wagner Meira, que foi além do técnico e falou sobre carreira, esforço, persistência, trabalho duro e ir sempre além.
Challenges and Opportunities with Big Data – Nesta sessão o Jagadish mostrou um lado do Big Data que poucos mencionam, como visualização de conjuntos de dados para exploração e outras questões relacionadas aos Vs do Big Data, que não sejam volume.
Solid-State Disks: How Do They Change the DBMS Game? Durante 3 horas dois professores discutiram como o que muda com a chegada do SSD. Devido à assimetria das operações de escrita e leitura precisamos de novos algoritmos de indexação (ex.: FD-Tree e FAR-Tree), processamento de joins (ex.: flash join) e otimização de consultas, caching e tratamento do Buffer Pool (ex.: LRU-WSR, SCM-BP), e claro, logging. Simplesmente fantástico e fico muito feliz por poder ver os avanços que estão acontecendo para um problema muito atual, inclusive esse que já havia sido discutindo na Nimbus com o Fabiano, enquanto ele testava o DBCC OPTIMIZER_WHATIF.
O evento chegou ao fim, mas saí de lá com muita vontade de dedicar mais tempo para a leitura de papers acadêmicos, coisa que faço um pouco, mas não o suficiente.
E claro, nada melhor que ter amigos por perto! Torço para conseguir ir no SBBD 2014, que acontecerá em Curitiba.
 Abraços
sr. Nimbus Serviços em Tecnologia - www.srnimbus.com.br
Luciano Moreira's RSS Feed
Go to Top