Banco sem arquivo de data e log

Pessoal,

Mais um post da categoria “me descabelei mas resolvi!“, relatando um chamado do dia-a-dia, vou relatar um rescente problemas que tivemos em um servidor de BI.

Cenário -> SQLServer 2008 R2 / Windows Server 2008
Resumo do Ambiente -> BI/Alto volume de dados/Grandes databases direto no Storage

Problema -> Dois databases (os principais do sistema de BI) estavam inacessíveis. Ao entrarmos pelo Management Studio e visualizarmos os databases, os mesmos estavam online, porém, não era possível abri-los.
Ao tentar acessar o properties/files o mesmo estava inacessível.
Ao executar um:
sp_helpdb ‘database_BI’
tinhamos o retorno do nome dos seus arquivos de data e log, porém, sem um informações sobre os mesmos.

Análise -> Com isso, pesquisamos em diversos locais, como um database poderia perder refencia a seus arquivos, e localizamos uma referencia a este problema.

Solução -> Logado no Management Studio, colocar o database como offline (Tasks…/Take Offlinerezar 2 pai nossos, aguardar 10s,  colocar o database como online (Tasks…/ Bring Online) Neste momento, o database pode demorar um tempo para subir, pois o mesmo está buscando a referência aos arquivos. Ao subir, o mesmo se tornou acessível novamente.

Riscos -> Caso algum arquivo estivesse corrompido, o risco de o database não subir era altíssimo (de 150% pra mais). Por isso, vale reforçar que esta medida foi realizada após muita análise e nenhuma solução funcionar. Onde ‘já não tinhamos mais o que fazer’, apontamos para esta ação.

Causa -> Como dito no início, este servidor é de BI, e tem discos na barriga e no Storage. Os discos que se tornaram indisponíveis foram os do Storage. Posteriormente descobrimos que na noite anterior, houve um problema na infraestrutura ao qual indisponibilizou o Storage. O banco tentou visualizar o caminho, não localizou, com isso perdeu a referência.

Pessoal, vale reforçar que a ação de colocar o database offline foi tomada depois de muitas análises. Ao se deparar com um problema semelhante, antes de mais nada, verifique as informações do servidor para localizar algum LOG de erro de discos ou processos. Verifique também o errorlog do SQL Server, onde pode apontar algum problema lógico, que possa impedir o banco de subir e tenha outra solução!

Espero ter ajudado!
Até mais ! =)

Dicas: SQL Server 2012 chegou!

Pessoal, como todos sabemos o SQL Server 2012 – Denali está oficialmente lançado!

A microsoft desde então vem alimentando seu site com diversas informações, tutoriais, documentos, etc , sobre o produto!
A dica de hoje é: pesquisem! Dizem que o Denali vem com muita força e inovando em muitos pontos, com uma performace que chega a ser assustadora.

Recomendo: Consultem o Virtual Lab da microsoft! Ele tem diversas informações, desde tutoriais de instalação até upgrade de versão (logo faremos um upgrade e contamos como nos saimos!). Vale lembrar que o Denali é recente, cuidado com as informações espalhadas pela internet e busquem se manter atualizados pelo site oficial da microsoft!

Para acessar o link de dowload oficial da microsoft do denali, clique aqui

See you amiguinhos!

fonte: microsoft

Problemas com Upgrade de MySQL

Rescentemente passamos por problemas ao atualizar a versão do MYSQL em um ambiente.
Por mais que as versões do MYSQL sejam bem próximas, nem sempre já 100% de compatbilidade entre os ambientes.
Vou contar aqui um episódio que tivemos, rapidamente, com a solução:

Cenário -> Ambiente MySQL v. 5.2 / Linux
Ação -> Atualizar para versão 5.5
Plano de execução -> Backup do ambiente – Upgrade da versão – Restore dos databases
Risco -> Crescimento do ibdata1
Precaução -> Realizar o drop dos databases e o drop do ibdata

Resultado -> Sucesso. Todas as ações acima foram realizadas e o upgrade & restore foram perfeitos.

Problema -> Algum tempo depois, com a validação do ambiente pelos desenvolvedores, um deles levantou a falta de uma procedure.
Como tinhamos backup dos objetos, tentamos executar o script de criação da procedure e tivemos o seguinte erro:

column count of mysql.proc is wrong. expected 20 found 16. the table is probably corrupted

De imediato, achamos que houve algum erro no restore, corrompendo a base mysql.
Mas pesquisando, localizamos na documentação oficial do Mysql, um artigo de upgrade.
O arquivo de upgrade, indica que, após realizar algum upgrade, caso haja um problema de “tabela corrompida”, antes de mais nada, um comando seja executado:

mysql_upgrade

Este comando gera a compatbilidade das versões, fazendo com que arquivos (como os do database mysql que é um database de sistema) sejam atualizados e sincronizados com a nova versão do banco.
A sintaxe para execução é a seguinte:

mysql_upgrade -uroot -psenha

Ao término desta execução, todas as procedures estavam acessíveis no SGBD, não sendo necessária a criação das mesmas. E o problema foi solucionado.

Espero ter ajudado!
Até a próxima =)

Como estudar para uma certificação?

No post Anterior, falamos sobre tirar certificações.

O processo para ter uma certificação exige um bom tempo de deidicação, estudo e objetividade. São provas específicas e que vão exigir que você tenha conhecimento sobre o assunto para que dê conta de tirar as mesmas.

Além do clássico: as provas exigem atenção, por serem focadas, um bom resultado passa diretamente a impressão de total conhecimento do assunto. Para isso, estudo é essencial. Algumas dicas para estudo:

> Aproveite os cursos: sabemos que os coffee-breaks dos cursos são sempre muito bons, mas comer não é o foco. Os cursos de SQL Server, por exemplo, duram 5 semanas (treinamentos: 2778 – 1 semana, 6231 – 2 semanas, 6232 – 2 semanas). As opções são: vire uma bola ou vire um entendedor de SQL. Foco no curso, tire dúvidas, participe, ouça. Coma menos e evite o sono.

> Tenha o seu laboratório: Ter seu espaço para simulações e estudo é fundamental. Aloque seu pc e tenha seu espaço de simulação. Utilize VMs, que seja, e tenha ambientes com seu SO e SGBD simulando um ambiente real. Faça testes, crie, apague, recrie. Saber o que você faz é fundamental, e lembre-se: o básico você deve saber de olhos fechados. Você precisa saber como mexer, precisa saber errar.

> Utilize os training kits: Você fez os cursos (espero), e ganhou livros enormes de materiais absurdamente grandes. Ok, eles são completamente técnicos e úteis, mas mais úteis ainda são os labs ao fim de cada capítulo. Importante ter seu ambiente montado para que possa executar os exercícios do lab, tendo o livro como apoio. Vale a pena. Além do material, você encontra facilmente pela internet alguns training kits que irão te ajudar a estudar.

> Faça simulados: As mesmas instituições que fornecem cursos, tem disponíveis simulados. Sob agendamento, você vai e realiza a prova. É do mesmo modo que são feitas as provas de avaliação. É bem interessante para saber como você está. Consulte onde você fez os cursos para ver a disponibilidade (OBS: isso para as provas N1 como 70-431 e 70-432. As N2 (ITPRO), não localizei onde tivessem simulados)

> Saiba inglês: É fundamental que você saiba inglês. Ai você vai dizer: “Pow, é só eu escolher o material do curso em português e faço a prova em português!”. Ah falo bonito. Então chegue na empresa e pergunte quais os disparadores ou gatilhos (triggers) utilizados para uma determinada aplicação. Ou qual procedimento estruturado (storad procedures) executa a função ABC, ou que tal utilizar o ‘Orientador de Otimização’ (tuning advisor) para analisar seu ambiente? O problema dos materiais em português é que os nomes técnicos que você só usa em inglês, são traduzidos. E quando você for fazer uma ITPRO, não tem em português. Sem contar que inglês é sempre bem-visto pelo mercado!

Além de todas as dicas, saber o conteúdo é fundamental. Recomendo pelo menos 1 mês de estudo, vale a dedicação. As vezes uma certificação vale mais que a sua graduação!

Espero ter ajudado!
Até mais =)

Comece o ano com certificações!

Sim, você viu bem: Certificações!
O estudo para quem é de TI deve ser eterno. Não podemos parar de estudar, nos atualizarmos, e manter no cirquito das novas tecnologias, técnicas, métodos e processos do mercado. A Tecnologia avança mais rápido que nossos neurônios e temos que correr atrás.
Em 2012 teremos muitas mudanças: SQL Server Denali (2012), MYSQL 5.6 da Oracle, Novas versões de Windows, Linux entre outros. E para os profissionais de TI estar não só a par das novas tecnologias, mas conhece-las a fundo, é fundamental!
Para nós DBA’s há sempre um mundo de certificações a tirar. Você quer ser administrador ou focar em desenvolvimento? Ou porque não ir para BI? Que tal um foco específico em Tunning? Opa, mas precisa conhecer de Sistemas Operacionais também!

Certificações, antes de mais nada devem ser pensadas, estudadas e negociadas. As certificações tem um alto valor, são complexas porém geram um bom retorno. As empresas geralmente optam por disponibilizar pacotes de cursos antes de realizar as provas, avalie se todos são necessários a você. Segue uma relação de empresas de treinamento aqui. Para quem se interessar, vale a pena constatar as empresas e negociar: você sempre consegue um bom desconto! (e até mesmo as provas de certificações de brinde!)

ka Solution – Microsoft / Oracle
Green – Microsoft
Brás Figueiredo – Microsoft / Linux
HTI – Mysql
Impacta – #DeTudoUmPouco

Brevemente traremos dicas para estudo, testes, conteúdos para realizar uma prova de certificação!

See you amiguinhos.