Olá, pesesoal, Tenho nível de conhecimento apenas operacional (instalação, configuração básica, ...) de Oracle, mas agora estou participando de um projeto em que não existe um DBA e precisamos resolver um problema de performance de uma aplicação, a qual está sendo migrada para um novo servidor. Estou sendo responsável por montar a arquitetura da solução, mas estou bastante inseguro se o que estou propondo pode ou não ajudar a melhorar a performance do lado da Infra-estrutura. (o pessoal de desenvolvimento já fez todo o tuning sql possível, o problema tem sido realmente IO em excesso para a máquina que não suportava).
A nova solução compreende um hw comprado pelo cliente, um Servidor Dell com 4 HDs de 165 Gb e provavelmente uma controladora RAID, não tenho acesso de que máquina específica estamos tratando, então trabalho com essa suposição. Abaixo descrevo como pretendo montar a arquitetura desse servidor, por favor, gostaria que comentassem se a idéia que tenho está correta e se algo mais pode ajudar. - RAID 5 Estou pensando em dispor os 4 HDs no esquema de RAID 5, pois acredito que esse tem um ótimo custo benefício, tendo redundância (segurança também é um requisito), e aumentando as taxas de leitura pelo paralelismo, já que os dados estarão distribuídos nos 4 discos. Mas e quanto as operações de escrita? Existe um overhead por causa da paridade ou isso tem pouco impacto? - LVM Já considerando que tenho um RAID 5, existe alguma vantagem em distribuir os datafiles em diferentes volumes lógicos num VG? Por exemplo: além das partições do SO, poderia ter particionado /LVdata1 /LVdata2 e /LVdata3, cada um tendo uma parcela dos datafiles do banco. Eu sei que isso pode me aumentar a segurança caso tenha um LV corrompido ou se houver um erro na aplicação e essa começar a escrever indiscriminadamente no datafile que encheria a partição. Se tive apenas uma partição, nesse caso, com certeza todo o sistema estaria comprometido, certo? Mas e quanto a performance, há algum ganho/perda de desempenho em se utilizar LVM? - ÍNDICES Outro ponto diz respeito aos arquivos de índices, que no caso dessa aplicação são enormes. Existe alguma best practice quanto a eles? Deveria deixá-los num LV a parte? - PARTITIONING Essa foi uma sugestão dos DBAs do cliente, existe uma tabela que pode ser facilmente particionada pelo campo mês. A minha dúvida aí reside se nesse esquema de particionamento são criados vários arquivos, um pra cada partição, ou se tudo se resume a um datafile. Se forem vários arquivos, tenho vantagem em distribuí-los pelos diferentes LVs? (Se não fosse usar RAID 5, a pergunta seria: teria vantagem em distribuí-los nos vários discos?) Qualquer idéia ou comentário será muito bem-vindo !!! Obrigado,