Category Archives: Banco de Dados

Matando Sessões KILLED

Algumas vezes sessões ficam “presas” no banco de dados com status KILLED. Elas estão/são mortas e mesmo assim não desaparecem da gv$session, ficam como “zumbis”. Algumas podem até impedir o shutdown do banco de dados. Aqui vamos ver como resolver isso.

Felizmente resolver este problema não é complicado, mas temos que verificar algumas coisas antes de sair matando os processos do Oracle. De forma resumida (e bem resumida) toda a conexão feita pelo usuário ao banco de dados cria um processo no servidor que fica responsável por fazer a comunicação com o kernel do banco de dados. Ao finalizarmos este processo a conexão do usuário é terminada e o Oracle libera a sessão do usuário.

Continue lendo…

VMware, Storage e IOPS

Recentemente estava acompanhando um problema que não era específico de banco de dados, mas muito relacionado com o dia a dia de um DBA. Aqui, o ambiente era VMware mas ele não era o problema, ele estava no Storage. Na realidade o problema não era o Storage em si, mas escolhas erradas que foram feitas na sua utilização.

Resumidamente as equipes reclamavam que as vezes ficava “tudo lento”. Não era um ambiente de “produção”, mas sim um ambiente para que equipes de desenvolvimento tenham bancos de dados para testes (Oracle, SQL Server, DB2) e servidores de aplicação (JBoss, Apache). Tudo isso sobre VMware ESXi 4.1 e 5.0 e um Storage EMC (série VNX).

Depois dos relatos das equipes comecei a investigar e observei que pelos gráficos de desempenho do VMware o consumo de CPU estava abaixo de 50% para o host físico, mas algumas coisas estavam estranhas com o disco e o datastore. No VMware cada host físico e máquina virtual tem uma aba de performance onde temos acessos a diversos gráficos de desempenho (se você estiver usando o vCenter, mude os gráficos para Realtime) e eles estavam fora do padrão. Acredito que outros players de virtualização tenham métodos semelhantes para análise.

Continue lendo…