Close Menu
  • Home
  • Databases
    • Oracle
      • ASM
      • Data Guard
      • RAC
  • Performance
  • Tools
  • Troubleshooting
  • Python
  • Shell Script
Search

PRVG-1901, PRVH-0185, PRVH-0516 — Fleet Maintenance falha com /tmp noexec

2026-04-20 Oracle By Henrique

ORA-29548 — Java system class reported: versão do dicionário não corresponde ao executável

2026-04-20 Oracle By Henrique

ORA-15221 — ASM operation requires compatible.asm of string or higher

2026-04-18 ASM By Henrique
YouTube LinkedIn RSS
  • Sobre
  • Contato
  • Legal
    • Aviso Legal
    • Política de Cookies
    • Política de Privacidade
    • Termos de Uso
  • RSS
  • Português
    • Inglês
Execute StepExecute Step
YouTube LinkedIn RSS
  • Home
  • Databases
    • Oracle
      • ASM
      • Data Guard
      • RAC
  • Performance
  • Tools
  • Troubleshooting
  • Python
  • Shell Script
Execute StepExecute Step
Home » ORA-15221 — ASM operation requires compatible.asm of string or higher
ASM Oracle

ORA-15221 — ASM operation requires compatible.asm of string or higher

HenriqueBy Henrique2026-04-185 Mins Read
Share
Facebook Twitter LinkedIn Pinterest Email Telegram WhatsApp

This post is also available in: English (Inglês)

Ao tentar criar um SPFILE diretamente em um diskgroup ASM, o banco retornou:

ORA-15221: ASM operation requires compatible.asm of 11.2.0.0.0 or higher

O erro é direto: a operação solicitada exige uma versão mínima do atributo compatible.asm no diskgroup, e o valor atual está abaixo disso.


Por que isso acontece

O ASM usa dois atributos de compatibilidade por diskgroup:

  • compatible.asm — define a versão mínima do software ASM que pode acessar o diskgroup.
  • compatible.rdbms — define a versão mínima do parâmetro COMPATIBLE do banco que pode usar o diskgroup.

Esses atributos são gravados nos metadados do diskgroup no momento da criação. Diskgroups criados em ambientes 10g têm, por padrão, ambos os atributos em 10.1.0.0.0. Quando o Grid Infrastructure é atualizado para 11.2 ou superior, certas operações — como armazenar o SPFILE do ASM dentro de um diskgroup — passam a exigir compatible.asm >= 11.2.0.0.0. O ambiente de storage não acompanhou automaticamente o upgrade do software.

💡 O ORA-15221 também pode aparecer em outros contextos: rebalance com novas features, criação de volumes ACFS, ou durante o processo de upgrade do Grid Infrastructure.


⚠️ Antes de executar qualquer comando

Esta alteração é irreversível.

A documentação Oracle deixa isso explícito: uma vez que o valor de compatible.asm é avançado, não é possível revertê-lo. Para voltar a um valor anterior, seria necessário recriar o diskgroup do zero e restaurar todos os dados. Avance apenas para a versão que você realmente precisa — e de preferência, alinha com a versão do seu Grid Infrastructure.

⚠️ Nunca altere compatible.asm com discos offline no diskgroup. O comando falhará com ORA-15232 e pode deixar o diskgroup em estado inconsistente.


Diagnóstico

Verifique os valores atuais de compatibilidade de todos os diskgroups:

SELECT name,
       compatibility        AS compatible_asm,
       database_compatibility AS compatible_rdbms
FROM   v$asm_diskgroup
ORDER BY name;

Saída típica em um ambiente com diskgroups legados:

NAME      COMPATIBLE_ASM  COMPATIBLE_RDBMS
--------- --------------- ----------------
ARCHIVE   10.1.0.0.0      10.1.0.0.0
DATA      10.1.0.0.0      10.1.0.0.0
REDO01    10.1.0.0.0      10.1.0.0.0

Para confirmar a versão do seu ASM antes de definir o valor-alvo:

SELECT version FROM v$instance;

💡 A Oracle recomenda que o valor de compatible.asm seja igual à versão do software Grid Infrastructure em uso. Por exemplo, em um ambiente 19c, o recomendado é 19.0.0.0.0. O valor compatible.asm deve sempre ser maior ou igual ao compatible.rdbms.


Solução

Alterar um diskgroup específico

ALTER DISKGROUP DATA SET ATTRIBUTE 'compatible.asm' = '11.2.0.0.0';

Gerar o comando para todos os diskgroups de uma vez

SELECT 'ALTER DISKGROUP ' || name ||
       ' SET ATTRIBUTE ''compatible.asm''=''11.2.0.0.0'';'
FROM   v$asm_diskgroup;

Execute cada linha gerada na instância +ASM:

ALTER DISKGROUP ARCHIVE SET ATTRIBUTE 'compatible.asm'='11.2.0.0.0';
ALTER DISKGROUP DATA    SET ATTRIBUTE 'compatible.asm'='11.2.0.0.0';
ALTER DISKGROUP REDO01  SET ATTRIBUTE 'compatible.asm'='11.2.0.0.0';
ALTER DISKGROUP REDO02  SET ATTRIBUTE 'compatible.asm'='11.2.0.0.0';
ALTER DISKGROUP REDO03  SET ATTRIBUTE 'compatible.asm'='11.2.0.0.0';
ALTER DISKGROUP REDO04  SET ATTRIBUTE 'compatible.asm'='11.2.0.0.0';

Validação pós-alteração

Confirme que os novos valores foram aplicados:

SELECT g.name,
       a.name  AS attribute,
       a.value
FROM   v$asm_diskgroup g
JOIN   v$asm_attribute a ON g.group_number = a.group_number
WHERE  a.name LIKE '%compat%'
ORDER BY g.name, a.name;

Saída esperada:

NAME    ATTRIBUTE         VALUE
------- ----------------- -----------
DATA    compatible.asm    11.2.0.0.0
DATA    compatible.rdbms  10.1.0.0.0
...

Após a validação, o SPFILE pode ser criado normalmente:

CREATE SPFILE='+DATA/ASM/spfileASM.ora' FROM PFILE;

Checklist rápido

-- 1. Verificar valores atuais
SELECT name, compatibility, database_compatibility FROM v$asm_diskgroup;

-- 2. Verificar versão do ASM
SELECT version FROM v$instance;

-- 3. Confirmar que todos os discos estão online
SELECT dg.name, d.name, d.state
FROM v$asm_diskgroup dg JOIN v$asm_disk d ON dg.group_number = d.group_number
WHERE d.state != 'NORMAL';

-- 4. Alterar (IRREVERSÍVEL)
ALTER DISKGROUP <nome> SET ATTRIBUTE 'compatible.asm'='<versão>';

-- 5. Validar
SELECT g.name, a.name, a.value
FROM v$asm_diskgroup g JOIN v$asm_attribute a ON g.group_number = a.group_number
WHERE a.name LIKE '%compat%';

Referências

  • Oracle Database 19c — Disk Group Compatibility
  • Recommended Tasks After Upgrading Oracle ASM

asm compatible.asm ora-15221 oracle
Share. Facebook Twitter Pinterest LinkedIn Tumblr Email WhatsApp
Previous ArticleOracle home is already provisioned for the target – Fleet Maintenance
Next Article ORA-29548 — Java system class reported: versão do dicionário não corresponde ao executável

Related Posts

Oracle

EMD runCollection Error — Agente OEM Rodando Sem Coletar Métricas

2026-04-14
Read More
Oracle

Oracle RAC 12.2 no VMware Workstation — Post 4: Instalação do Oracle Database e DBCA

2026-04-11
Read More
Oracle

ORA-01031 — Privilégio Insuficiente ao Criar Coluna IDENTITY

2026-04-03
Read More
Add A Comment
Leave A Reply Cancel Reply

Demo
Follow Me
  • Email
  • GitHub
  • LinkedIn
  • RSS
  • YouTube

INS-06006 – Passwordless SSH Connectivity Not Set Up

2026-02-2614 Views

Limpeza da biblioteca de software OEM: Purge seguro e controle de crescimento de swlib

2026-02-215 Views

ORA-29548 – Como corrigir o erro “Java System Class Reported” no Oracle Database

2026-03-053 Views
Demo
Execute Step
YouTube LinkedIn RSS
  • Home
  • Sobre
  • Contato
  • RSS
  • Português
    • English (Inglês)
© 2026 ExecuteStep. Designed by ThemeSphere.

Type above and press Enter to search. Press Esc to cancel.

Ad Blocker Enabled!
Ad Blocker Enabled!
Our website is made possible by displaying online advertisements to our visitors. Please support us by disabling your Ad Blocker.