É o meu novo sentido de falar sobre o Oracle DBA

15

Quando configuramos FC LUNs para nossas caixas MSSQL, raramente temos que apresentá-los com mais de 8 LUNs distintos de vários tipos (Quorum, MSDTC, TempDB, Data, Logs, Backup e alguns outros).

Temos um novo DBA Oracle, e ele me deu uma lista de LUNs que ele deseja para seu primeiro servidor - há 38 deles! e isso é para uma caixa DB realmente básica, com apenas um único DB. Eles são todos bastante pequenos LUNs (100GB) e eles claramente aparafusados usando o ASM de uma maneira tipo LVM.

É a melhor maneira de fazer isso, eu realmente não sou especialista em Oracle, mas parece muito complexo para mim, quais são seus pensamentos e experiências sobre este assunto?

    
por Chopper3 07.01.2010 / 16:31

5 respostas

19

Eu sou um DBA Oracle. Seu novo DBA está agindo como um monte de DBAs Oracle e de engenharia.

  1. NO oracle NÃO precisa de 38 LUNs. Eu tenho espalhado arquivos de dados em um grande número de lun, mas estes são em sistemas que são muito ativos e muito grandes. LUNs não precisam mapear para novos grupos de RAID, certo? Então, ter arquivos em colunas separadas não é necessário espalhar nada de qualquer maneira (eu não sou um especialista nisso).

  2. Tudo o que esse tipo de distribuição de arquivos fará é muito mais trabalho para o DBA. Isso aumenta sua importância para a equipe. Muitos DBAs da Oracle tentam fazer com que pareçam mais importantes e engenheirarem as coisas TODA A VEZ.

  3. A separação de dados para grupos / lanças de raíz diferentes não é específica de oracle. É baseado no uso. Para distribuir adequadamente os arquivos, seu DBA precisaria entender o aplicativo para saber o que está sendo acessado (uma boa parte, separar os índices dos dados NÃO melhora o desempenho, já que o acesso é serial ...). Ele conhece o aplicativo? Ele olhou para o banco de dados para ver quais objetos estão sendo acessados? O que precisa ser espalhado? O que grava e lê em massa e precisa ser isolado.

Isso soa como um banco de dados de tamanho pequeno / médio. Qual é o nível de atividade? Ele provavelmente não sabe.

Geralmente, em bancos de dados menores, você não precisa fazer muito no nível do sistema de arquivos para melhorar o desempenho. 95% é SQL e os desenvolvedores executam muitas instruções sql em loops.

edit ( anos depois !):

Passei algum tempo conversando com engenheiros da SAN e melhorei meu conhecimento de SANs e LUNs desde que publiquei isso. Primeiro, um LUN é "lógico". Não é necessário mapear para separar grupos de RAID, discos, etc ... Isso é configurado pelo engenheiro de SAN e não será visível para o DBA. Há muito mais a separar IO em uma SAN que a maioria das pessoas percebe.

Estou trabalhando em sistemas muito grandes que têm um nível de atividade muito alto. Nós temos centenas de LUNs, grupos de RAID, etc ... nós espalhamos arquivos por todo lado. Trabalhamos com os engenheiros da SAN para configurar LUNs para garantir que eles sejam distribuídos para diferentes partes da SAN. Nós realmente não temos visibilidade sobre como os LUNs são mapeados a partir do nível do sistema operacional. Um novo sistema de arquivos não significa que temos dados mapeados para um novo local na SAN.

No que diz respeito ao documento da HP sobre o striping do ASM. Isso é totalmente sem sentido quando se trabalha com uma SAN. O striping, espelhamento, RAID, etc ... é feito sob a superfície. Você não o verá no nível do aplicativo ou do banco de dados. A configuração do Oracle ASM para 'striping' não tem significado em uma SAN, porque você estará apenas distribuindo volumes lógicos que poderiam estar usando uma configuração RAID 5 (grande maioria devido a custos de controle. As SANs são investimentos de vários milhões de dólares). Você verá apenas sistemas de arquivos. Esses não mapeiam necessariamente para diferentes discos ou locais diferentes na SAN.

A IBM aparentemente possui um novo recurso que permite que a SAN decida onde gravar em discos com base na atividade. Meu ponto aqui é que as pessoas que otimizam SANs são especialistas. Você precisa trabalhar com eles. Um DBA ou um desenvolvedor de aplicativos não terá visibilidade para ver se alguma coisa está sendo distribuída.

Pelo que tenho visto, a maioria das lojas não tem engenheiros SAN muito bons. Ele tende a ser um trabalho para pessoas de nível júnior. A maioria dos bons tendem a ser consultores. Então, muito do tempo que você está usando apenas a configuração padrão do fabricante. Para reiterar a adição de mais LUNs, provavelmente não distribuirá nenhum dado, a menos que você tenha um engenheiro de SAN para configurá-lo para você sob a superfície. Além disso, você pode ter 1 LUN e distribuí-lo para você. A menos que você tenha um bom engenheiro de SAN, tudo isso não tem sentido. É óbvio para mim que o DBA em questão não sabe o suficiente sobre SANs para saber que ele não sabe de nada.

99,9% das configurações padrão de tempo estão bem. A menos que você tenha um gargalo de E / S específico, isso é desnecessário. Se você fizer isso, precisará trabalhar com o engenheiro de SA e SAN para determinar qual é o problema. A maior parte do tempo não tem nada a ver com o layout da SAN. Novamente, DBAs e desenvolvedores não terão acesso para ver o que está acontecendo e muito menos o conhecimento para descobrir isso. As SANs são muito complexas.

    
por 07.01.2010 / 20:08
5

Você pode tentar bater na cabeça dele com ISSO , descrevendo a abordagem SAME (Stripe And Mirror Everything), que é agradavelmente simples.

    
por 07.01.2010 / 17:44
4

Eu não tenho uma resposta direta porque usamos MSSQL e mySQL. Mas sempre que meu DBA pede algo que soa louco ... assim. Exijo que ele documente por que cada peça é necessária. Isso serve a dois propósitos: muitas vezes eles mudam de idéia para algo mais são e dois permitem que eu veja o processo de raciocínio deles para que eu possa aplicar alguma lógica de sistemas ao que eles querem e apresentar uma alternativa que não está tão fora de sintonia. . SO, neste caso, eu pediria um documento justificando a necessidade de cada um dos 38 LUNs

    
por 07.01.2010 / 16:36
2

Existem estudos que mostram que o striping no ASM e no nível do hardware pode ser uma vantagem para o desempenho. Whitepaper da HP-Oracle Esses ganhos de desempenho são vistos principalmente em situações de alta concorrência que não soam como se você estivesse esperando. Mas pode ser o que seu DBA está acostumado.

    
por 12.01.2010 / 19:46
1

Eu sei que para o DB2 no AIX, nossos DBAs obtêm 5 volumes por banco de dados - cada um para uma parte diferente do banco de dados. Um para o banco de dados, um para o log primário, um para o log de arquivamento, um temp e outra coisa. Esses são volumes, não precisam ser LUNs, depende de como você gosta de gerenciar seu armazenamento.

    
por 07.01.2010 / 17:12