DBAtlas · Atlas de operações de banco de dados

Oracle ASM: operação diária e cenários de falha

OracleNível: AvançadoDuração: 10 min – algumas horas (conforme a duração do rebalance)

Operação diária dos disk groups ASM em um Oracle Restart ou RAC já instalado e o que fazer na hora da falha: verificação de capacidade (usable_file_mb), monitoramento de rebalance, adição/substituição/remoção de discos, disco offline, novo disk group, mount/dismount, backup da configuração do ASM e string de descoberta. Não instala o ASM (instalação: guia do Oracle Restart ou do RAC); se você pesquisar um código de erro (ex.: ORA-15041, ORA-15042), o cenário correspondente é aberto. Todo cenário segue a ordem diagnóstico → rede de segurança → aplicação → verificação → depois; o banco de dados continua aberto (exceto no dismount).

Topologia: Oracle Restart (servidor único) ou RAC de 2–8 nodes, Grid Infrastructure 19c (diferenças do 23ai/26ai nas notas)

Cenários

  • Verificação de capacidade e saúde dos disk groups — Não altera nada: o disk group encheu, quanto espaço resta (a leitura correta de usable_file_mb conforme a redundância), discos offline, desbalanceamento de discos e atributos de compatibilidade. O primeiro cartão a escolher para problema de espaço, alerta ou verificação de rotina.
  • Monitorar, acelerar ou desacelerar um rebalance — Progresso e tempo restante de um rebalance/resync em andamento (v$asm_operation, est_minutes) e alteração do POWER. O banco continua aberto; só muda a carga de E/S.
  • Adicionar um novo disco ao disk group — O disk group está ficando sem espaço ou precisa crescer: prepare o novo LUN em todos os nodes (multipath/udev/ASMLib/AFD), adicione com ADD DISK e acompanhe o rebalance. O banco continua aberto.
  • Substituir um disco por um novo (REPLACE DISK) — Substitui por um novo, em uma única operação, um disco com falha (offline) ou a ser renovado; apenas os dados desse disco são copiados (12.1+, NORMAL/HIGH). Com EXTERNAL, a adição + remoção é feita em um único comando. O banco continua aberto.
  • Remover um disco do disk group — Para devolver um LUN ou retirá-lo do storage: com DROP DISK os dados são movidos para os discos restantes; o disco não é desconectado antes de o rebalance terminar e o disco ficar FORMER. O banco continua aberto.
  • Um disco está offline ou com falha (redundância NORMAL/HIGH) — Em um disk group NORMAL/HIGH um disco aparece OFFLINE ou o alert log tem erros de leitura/gravação: diagnóstico, prazo de disk_repair_time, ONLINE DISK (fast mirror resync) se o caminho foi corrigido, extensão do prazo se o reparo for demorar. O banco continua aberto.
  • Criar um novo disk group — Para criar um novo disk group de dados, de FRA ou de aplicação: redundância, tamanho de AU, atributos compatible.asm/rdbms; no RAC, mount em todos os nodes e recurso do Clusterware. Os disk groups existentes não são afetados.
  • Fazer mount ou dismount de um disk group — Para fechar um disk group de forma planejada (dismount) ou abrir um disk group fechado ou que não abre (mount): com srvctl start/stop diskgroup em todos os nodes. Para o dismount, nenhum banco pode estar usando o disk group; se o mount falhar, o cenário orienta conforme o código de erro.
  • Backup do spfile do ASM, do arquivo de senhas e dos metadados — Sem downtime: o spfile do ASM, o arquivo de senhas, a estrutura dos disk groups (md_backup) e, no RAC, o perfil GPnP são copiados para fora do ASM, para que a configuração do ASM possa ser reconstruída mesmo se os disk groups forem perdidos. Execute após a instalação e após cada mudança de estrutura.
  • Alterar a string de descoberta de discos do ASM (asm_diskstring) — Para alterar o padrão de caminho em que o ASM procura discos (ex.: migração para multipath, novo diretório udev, ASMLib/AFD): primeiro testa com kfod, depois asmcmd dsset. Todos os discos existentes (incluindo OCR/voting) devem ser encontrados também com a nova string.

Antes de começar

  • Há acesso root e login shell com o usuário grid; o perfil do grid define ORACLE_HOME=… e ORACLE_SID (+ASM…N…). Os passos SQL rodam com sqlplus / as sysasm.
  • A equipe de storage apresentou os novos LUNs …a todos os nodes…; eles têm o mesmo tamanho dos discos existentes; você tem os WWIDs (ou os números de série dos discos da VM); os discos estão vazios (sem sistema de arquivos, LVM ou cabeçalho ASM antigo).
  • Há um backup RMAN atual dos bancos do disk group; como a operação gera carga de E/S, foi escolhido um horário de baixo movimento.
  • Não há outro rebalance em andamento em … (não inicie duas operações grandes ao mesmo tempo).

Fases do guia

  • Verificação de capacidade e saúde — Mostrar a ocupação dos disk groups · Verificar o balanceamento e o estado dos discos · Mostrar os atributos de compatibilidade e de reparo · Uso por disk group e operações em andamento
  • Monitoramento de rebalance e ajuste de potência — Mostrar as operações em andamento e a potência configurada · Alterar a potência do rebalance · Acompanhar o rebalance até o fim
  • Adição de disco: diagnóstico — Mostrar o estado do disk group …
  • Preparação dos novos discos — Varrer e identificar os novos LUNs… (…)… · Varrer e identificar os novos LUNs… (…)… · Definir os aliases do multipath · Adicionar os novos discos à regra udev · Criar partição nos discos e gravar o rótulo ASMLib… (somente node 1)… · Ler os rótulos nos outros nodes (…) …
  • Adição de disco: aplicação — Adicionar os discos ao disk group … · Acompanhar o rebalance até o fim
  • Adição de disco: verificação — Verificar que os novos discos são membros · Depois
  • Substituição de disco: diagnóstico — Mostrar o estado do disk group … · Mostrar o estado do disco a substituir
  • Preparação dos novos discos — Varrer e identificar os novos LUNs… (…)… · Varrer e identificar os novos LUNs… (…)… · Definir os aliases do multipath · Adicionar os novos discos à regra udev · Criar partição nos discos e gravar o rótulo ASMLib… (somente node 1)… · Ler os rótulos nos outros nodes (…) …
  • Substituição de disco: aplicação — Se o disco antigo ainda estiver ONLINE, colocá-lo offline · Substituir o disco pelo novo · Adicionar o novo disco e remover o antigo (EXTERNAL) · Acompanhar o rebalance até o fim
  • Substituição de disco: verificação e depois — Verificar a substituição · Verificar o cabeçalho do disco antigo
  • Remoção de disco: diagnóstico — Mostrar o estado do disk group … · Haverá espaço suficiente depois da remoção?
  • Remoção de disco: aplicação — Remover os discos do … · Acompanhar o rebalance até o fim
  • Remoção de disco: verificação e retirada do sistema operacional — Verificar que os discos removidos estão FORMER · Retirar os discos do sistema operacional
  • Disco com falha: diagnóstico — Mostrar os discos offline e o tempo restante · Verificar o caminho do disco no sistema operacional… (…)… · Verificar o caminho do disco no sistema operacional · Procurar eventos de disco no alert log do ASM
  • Disco com falha: trazer o disco de volta (ONLINE) — Colocar o disco online · Acompanhar o resync até o fim · Verificar que o disco está online
  • Disco com falha: estender o prazo de remoção — Dar um novo prazo ao disco offline · Depois do reparo
  • Novo disk group: diagnóstico — Mostrar os disk groups existentes e os discos candidatos
  • Preparação dos novos discos — Varrer e identificar os novos LUNs… (…)… · Varrer e identificar os novos LUNs… (…)… · Definir os aliases do multipath · Adicionar os novos discos à regra udev · Criar partição nos discos e gravar o rótulo ASMLib… (somente node 1)… · Ler os rótulos nos outros nodes (…) …
  • Novo disk group: criação — Criar o disk group … · Montar o disk group em todos os nodes · Verificar o recurso do disk group
  • Novo disk group: depois — Colocar o disk group em uso
  • Mount / dismount: diagnóstico — Mostrar o estado do disk group e quem o usa · Mostrar o recurso do Clusterware
  • Backup do spfile do ASM, do arquivo de senhas e dos metadados — Mostrar a localização do spfile e do arquivo de senhas do ASM · Criar o diretório de backup · Fazer os backups · Copiar os backups para fora do servidor
  • String de descoberta: diagnóstico — Mostrar a string atual e os caminhos dos discos membros · Verificar que a nova string encontra todos os discos membros
  • String de descoberta: aplicação e verificação — Alterar a string de descoberta · Verificar em todas as instâncias ASM
Abrir o plano passo a passo para o seu ambiente →