É meu novo senso de fala do Oracle DBA

15

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

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

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

Chopper3
fonte
1
38 LUNs para um único banco de dados ... o quê?!?!
Zypher

Respostas:

19

Eu sou um DBA Oracle. Seu novo DBA está agindo como muitos DBAs da Oracle e com mais de engenharia.

  1. NENHUM oracle NÃO precisa de 38 LUNs. Eu espalhei arquivos de dados em um grande número de lun's, mas eles estão em sistemas MUITO ativos e MUITO grandes. Os LUNs não são mapeados para novos grupos de RAID, certo? Portanto, ter arquivos em luns separados não é necessário espalhar nada de qualquer maneira (não sou especialista nisso).

  2. Todo esse tipo de distribuição de arquivos fará 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 projetam demais as coisas o tempo todo.

  3. Separar dados para diferentes grupos / ataques de raides não é específico da Oracle. É baseado no uso. Para distribuir corretamente os arquivos, seu DBA precisaria entender o aplicativo para saber o que está sendo acessado muito (btw, separar índices de dados NÃO melhora o desempenho, pois o acesso é serial ...). Ele conhece o aplicativo? Ele olhou para o banco de dados para ver quais objetos estão sendo acessados ​​muito? 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.

editar ( anos depois !):

Passei algum tempo conversando com os engenheiros da SAN e aprimorei um pouco meu conhecimento sobre SANs e LUNs desde a publicação. Primeiro, um LUN é 'lógico'. Não é necessário mapear para separar grupos RAID, discos, etc ... Isso é configurado pelo engenheiro da SAN e não será visível para o DBA. Há muito mais para separar as E / S em uma SAN que a maioria das pessoas percebe.

Estou trabalhando em sistemas muito grandes que possuem um nível de atividade muito alto. Temos centenas de LUNs, grupos RAID, etc ... espalhamos arquivos por todo o lugar. Trabalhamos com os engenheiros da SAN para configurar LUNs para garantir que eles sejam distribuídos para diferentes partes da SAN. Realmente não temos visibilidade de como os LUNs são mapeados no nível do SO. Um novo sistema de arquivos não significa que temos dados mapeados para um novo local na SAN.

Tanto quanto o papel da HP sobre striping ASM. Isso é totalmente sem sentido ao trabalhar com uma SAN. A distribuição, o espelhamento, o RAID, etc ... são todos feitos 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 'distribuição' não faz sentido em uma SAN, porque você apenas distribuirá volumes lógicos que poderiam estar usando uma configuração RAID 5 (grande maioria devido aos custos de controle. SANs são investimentos de vários milhões de dólares). Você verá apenas sistemas de arquivos. Esses não são necessariamente mapeados para diferentes discos ou locais diferentes na SAN.

A IBM aparentemente possui um novo recurso que permite à SAN decidir onde gravar em discos com base na atividade. Meu argumento 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 algo está sendo espalhado.

Pelo que vi, a maioria das lojas não tem muito bons engenheiros de SAN. Tende a ser um trabalho para pessoas de nível júnior. A maioria dos bons costuma ser consultores. Por isso, na maioria das vezes, você está apenas usando a configuração padrão do fabricante. Reiterar a adição de mais LUNs provavelmente não distribuirá nenhum dado, a menos que você tenha um engenheiro de SAN configurando-o 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 faz sentido. É óbvio para mim que o DBA em questão não conhece o suficiente sobre SANs para saber que ele não sabe de nada.

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

Prumo
fonte
Com todo respeito, apenas alguns pontos de atenção: - 1. "SAN is complex" - O mesmo ocorre com o banco de dados Oracle. Mesmo um dos produtos com preços mais altos em qualquer infraestrutura ou sistema de TI. 2. "Striping / spreading / ect" - Concordo. Os DBAs não precisam saber o que está acontecendo por baixo, desde que nunca enfrentem problemas com E / S - mas, infelizmente, é sempre um gargalo de E / S para quaisquer problemas relacionados ao desempenho. 3. Novamente, os DBAs diferem - Infra / Core DBA vs Application DBA. O Infra DBA é encarregado de atividades relacionadas ao banco de dados que trabalha com SO e discos (SAN) - portanto, ele deve ter um bom conhecimento do que está acontecendo. 4. Todas as
5

Você pode tentar dar um tapa na cabeça dele com ISTO , descrevendo a abordagem MESMO (Stripe e espelhar tudo), que é simples e agradável.

janneb
fonte
1
Eu acho que é isso que ele está tentando fazer - sem perceber que nossa matriz é uma fera já desagradável com o RAID10.
Chopper3
4

Não tenho uma resposta direta porque usamos o MSSQL e o mySQL. Mas sempre que meu DBA pede algo que soa maluco ... assim. Exijo que ele documente por que cada peça é necessária. Isso serve a dois propósitos, muitas vezes, de repente eles mudam de idéia para algo mais sensato e dois me permitem ver seu processo de pensamento, para que eu possa aplicar alguma lógica de sistema ao que eles desejam e apresentar uma alternativa que não está tão fora de controle. . Portanto, nesse caso, eu pediria um documento justificando a necessidade de cada um dos 38 LUNs

Zypher
fonte
Obrigado pela resposta, eu pedi isso, mas ele ainda não respondeu, pensei em verificar primeiro com vocês boas pessoas;)
Chopper3
2

Existem estudos que mostram que a distribuição no ASM e no nível do hardware pode ser uma vantagem para o desempenho. Whitepaper HP-Oracle Esses ganhos de desempenho são vistos principalmente em situações de alta simultaneidade, que não parecem o esperado. Mas pode ser o que seu DBA está acostumado.

Todd Pierce
fonte
Na verdade, isso será ALTAMENTE simultâneo, apenas um banco de dados simples - então, obrigado.
Chopper3
1

Eu sei que, para o DB2 no AIX, nossos DBAs recebem 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 principal, um para o log de archive, um temp e outra coisa. Esses são volumes, eles não precisam ser LUNs, depende de como você gosta de gerenciar seu armazenamento.

mfinni
fonte
Mais detalhes necessários - ele deseja 38 LUNs para um banco de dados ou 38 LUNs para um banco de dados MAIS a compilação do novo servidor? É Oracle no Windows ou Linux / Unix? Os administradores de Linux / Unix tendem a querer partições menores apenas para o sistema operacional, antes mesmo de entrar em aplicativos e bancos de dados - / usr, / var, swap, / etc, etc. Eu acho que você precisa ter uma discussão detalhada com ele, e vocês dois podem precisar fazer mais pesquisas. Ele pode precisar de muitos discos não compartilhados por motivos de E / S, por exemplo.
mfinni