Project Description
Cliente: da área financeira
Tempo de contrato: Cliente desde 2005.
Bases de dados administradas: 4 bases de dados Oracle, bases MySQL e 2 servidores SQL Server.
Serviços contratados: Administração e monitoramento das bases de dados com atendimento 24 horas por dia.
Por conta do acordo de confidencialidade entre as empresas, detalhes específicos do projeto não serão divulgados. Somente serão descritas informações de conhecimento geral e/ou domínio público sobre hardware, software e atividades que sejam inerentes à administração de banco de dados.
Descrição do projeto:
Em uma fase de forte expansão das atividades, o cliente apresentou extrema lentidão nos horários de maior atividade de suas principais aplicações, e contou com o apoio da Elite para estabilizar e garantir a disponibilidade de seus sistemas, optando pela instalação de servidores Oracle Exadata, modelo X5, com a funcionalidade do Oracle Data Guard, produto desenvolvido para prover alto desempenho e disponibilidade extrema.
Desafios
- O ambiente a ser migrado possuía as seguintes características:
- Banco de dados Oracle 10g com 10TB de dados;
- Sistema operacional HP-UX 11i v3;
- Servidores Itanium;
- Oracle RAC instalado em produção.
- Oracle Dataguard em RAC instalado.
- O cliente optou por não utilizar nenhuma ferramenta de apoio para a migração de plataforma. Decidimos, então, por fazer um dump total da base de dados.
- Foi solicitado uma janela de 24 horas de inatividade para migração de HP-UX para Oracle Linux.
O projeto foi dividido em 2 fases, conforme abaixo:
Fase |
Objetivo |
Instalação do Oracle 11g em ambiente de testes, para homologar a aplicação existente à nova versão do banco de dados. | O banco de dados antigo do cliente era o Oracle Database 10g – 10.2.0.4 – Enterprise Edition. Foi migrado para a versão 11g – 11.2.0.4 – Enterprise Edition. |
Migração definitiva para o Oracle RAC na versão 11g | Com todos os pontos de falhas identificados na fase de testes e com a aplicação adaptada ao novo produto, utilizamos essa fase para migrar o banco de dados em definitivo e com tecnologias que garantissem o menor tempo de indisponibilidade possível. |
Atividades identificadas e ajustadas nos testes
- Aplicação de patches de correção do banco de dados conforme recomendação do fabricante;
- Testes entre as duas versões do otimizador do banco demonstraram que algumas queries deveriam ser re-escritas para não causar baixo desempenho da aplicação;
Tecnologias de Banco de Dados Utilizadas
O Oracle RAC (Real Application Clusters) permite a execução transparente de um único banco de dados em um pool de servidores, fornecendo o mais alto nível de disponibilidade e escalabilidade possível.
Aumento na alta disponibilidade com diversos servidores trabalhando como apenas um, storages trabalhando como se fossem apenas um e CPUs/memórias sendo provisionadas dinamicamente, enquanto o sistema permanece disponível. Os níveis de serviços podem ser mantidos de forma eficiente enquanto se reduzem o custo total de hardware. O Oracle RAC oferece distribuição dinâmica de carga de trabalho entre os servidores e proteção transparente contra falhas do sistema.

O Oracle Exadata Database Machine foi projetado para oferecer desempenho, custo e disponibilidade drasticamente melhores para bancos de dados Oracle. O Exadata apresenta uma arquitetura moderna, com servidores de banco de dados de alto desempenho expansíveis, servidores de armazenamento inteligente escaláveis com flash PCI de última geração e uma malha interna InfiniBand ultra-rápida que conecta todos os servidores e armazenamento.
Algoritmos de software exclusivos no Exadata implementam inteligência de banco de dados em armazenamento, computação e rede InfiniBand para oferecer maior desempenho e capacidade com custos competitivos. O Exadata executa todos os tipos de cargas de trabalho de banco de dados, incluindo o OLTP (Online Transaction Processing), o Data Warehousing (DW), o In-Memory Analytics e a consolidação de cargas de trabalho mistas. Simples e rápido de implementar, o Exadata Database Machine capacita e protege seus bancos de dados mais importantes.
Um standby database é uma réplica de banco de dados criada a partir de um backup do servidor primário. Ao aplicar os logs arquivados do banco de dados principal ao standby database, você manterá os dois servidores sincronizados.
Um standby database possui as seguintes finalidades principais:
- Proteção contra desastres;
- Proteção contra corrupção de dados;
- possibilidade de uso para geração de relatórios.
Se o banco de dados principal for perdido ou seus dados ficarem corrompidos, você poderá executar um fail-over para o standby, caso em que o banco de dados se tornará o novo sistema principal. Você também pode abrir um banco de dados standby com a opção somente leitura, permitindo que ele funcione como um banco de dados de relatórios independente.
Para este projeto, utilizamos esta funcionalidade para migrar o banco de dados, com uma parada mínima, criando um banco standby da produção para uso na migração.

Resultados Alcançados
Em resumo, os bancos de dados, que juntos somavam 10TB de dados, foram totalmente desfragmentados e migrados de plataforma com uma parada de 12 horas. Além disso, com as atividades realizadas, os seguintes objetivos foram alcançados:
- Os sistemas na plataforma antiga possuíam um limite de 10.000 usuários simultâneos com desempenho satisfatório. Testes realizados no novo ambiente sinalizaram que pelo menos 50.000 usuários poderiam utilizar o sistema simultaneamente com desempenho satisfatório.
- Com o extremo desempenho de I/O dos novos servidores, o tempo de import dos dados foi mais rápido que o tempo de export.
- Determinadas relatórios em tempo real do time de gestão e qualidade da empresa, tiveram extremo ganho de desempenho, diminuindo o tempo de execução de 15 minutos para menos de 1 minuto.
- O desempenho de determinados procedimentos de “fechamento”, com frequência diária, semanal ou mensal aumentaram em no mínimo 85%.
- Qualquer query, processo ou relatório de todos os sistemas envolvidos nesses servidores, pelo menos, dobraram seu desempenho após a migração.
- Com o processo de dump total da base, o banco de dados diminuiu quase 50% de tamanho, ficando com 5.7 TB de tamanho final. Outros benefícios foram alcançados com esse processo, tais como tempo e utilização de espaço para backups.
- Estruturas totalmente duplicadas. Tanto a estrutura principal como os servidor standby permaneceram em cluster, com o uso da tecnologia do Oracle Real Application Cluster (RAC) e Oracle Data Guard. Isso permitiu que, mesmo em contingência, o sistema possua capacidade para atender a mesma quantidade de pessoas, com exatamente o mesmo desempenho.
- Migração para a nova plataforma de banco de dados sem impactos significativos, pois os problemas encontrados foram resolvidos em ambientes de teste e homologação;