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

Oracle home is already provisioned for the target – Fleet Maintenance

2026-04-16 Oracle By Henrique

PAM Authentication Failure no OEM – Credencial SSH Key como Solução

2026-04-16 Tools By Henrique

PRCD-1229 — srvctl recusa acesso ao banco após upgrade manual no Oracle RAC

2026-04-16 Oracle 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 » PRCD-1229 — srvctl recusa acesso ao banco após upgrade manual no Oracle RAC
Oracle RAC

PRCD-1229 — srvctl recusa acesso ao banco após upgrade manual no Oracle RAC

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

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

Você acabou de concluir o upgrade manual do Oracle RAC de 12.2 para 19c. O banco subiu, os processos estão rodando — e na hora de gerenciar com srvctl, isso aparece:

[oracle@rac1 ~]$ srvctl status database -d orcl
PRCD-1027 : Failed to retrieve database orcl
PRCD-1229 : An attempt to access configuration of database orcl was rejected
because its version 12.2.0.1.0 differs from the program version 19.0.0.0.0.
Instead run the program from /u01/app/oracle/product/12.2.0/dbhome_1.

O banco foi atualizado. O binário do srvctl é do 19c. E mesmo assim, o erro diz para usar o home do 12.2. O que está acontecendo?


Por que acontece

O Oracle Clusterware mantém um registro centralizado chamado OCR (Oracle Cluster Registry). Nele ficam armazenados os metadados de todos os recursos do cluster: bancos de dados, instâncias, serviços, listeners.

Entre esses metadados está a versão do ORACLE_HOME vinculada ao banco. Quando você faz um upgrade manual — sem usar o DBUA — o binário do banco é atualizado, os dicionários são migrados, mas o registro no OCR continua apontando para o home antigo (12.2).

O srvctl do 19c lê o OCR, encontra um recurso registrado como versão 12.2, e recusa operar sobre ele: a regra da Oracle é clara — a versão do srvctl deve ser igual à versão do objeto gerenciado.

Em resumo: o banco subiu para 19c, mas o OCR ainda acha que é 12.2. O srvctl upgrade database é o comando que sincroniza esse registro.


Diagnóstico rápido

Confirme o que o OCR tem registrado para o banco:

$ORACLE_HOME/bin/srvctl config database -d orcl

Se o campo Oracle home ainda mostrar o path do 12.2, o problema está confirmado:

Database unique name: orcl
Database name: orcl
Oracle home: /u01/app/oracle/product/12.2.0/dbhome_1   ← versão antiga
Oracle user: oracle
...

Você também pode verificar a versão do recurso diretamente no Clusterware:

crsctl stat res ora.orcl.db -p | grep -i version

Solução

⚠️ Execute como usuário oracle, não como root. Executar como root gera PRKH-1014 e o comando falha.


/u01/app/oracle/product/19.3.0/dbhome_1/bin/srvctl upgrade database \
  -d orcl \
  -oraclehome /u01/app/oracle/product/19.3.0/dbhome_1

Resposta esperada em caso de sucesso:

PRCD-1180 : Configuration of database orcl has been upgraded to version 19.0.0.0.0

Validação

srvctl config database -d orcl | grep -i home

O campo Oracle home agora deve mostrar o path do 19c.

srvctl status database -d orcl
Instance orcl1 is running on node rac1
Instance orcl2 is running on node rac2

Checklist rápido

whoami

echo $ORACLE_HOME

$ORACLE_HOME/bin/srvctl upgrade database -d <db_unique_name> -oraclehome $ORACLE_HOME

srvctl config database -d <db_unique_name> | grep -i home
srvctl status database -d <db_unique_name>

Cenário: home antigo já foi removido

Se você removeu o ORACLE_HOME do 12.2 antes de executar o srvctl upgrade database, o comando pode falhar porque o OCR tenta validar o home antigo durante a operação.

Nesse caso, use srvctl modify para atualizar o ORACLE_HOME apontado pelo recurso, sem depender da validação do home anterior:

$ORACLE_HOME/bin/srvctl modify database -d orcl -oraclehome $ORACLE_HOME

Em seguida, execute o upgrade normalmente:

$ORACLE_HOME/bin/srvctl upgrade database -d orcl -oraclehome $ORACLE_HOME

💡 Lição aprendida: sempre execute o srvctl upgrade database antes de remover o home antigo. Isso evita essa situação.


Nota sobre outras versões

O PRCD-1229 não é exclusivo do upgrade 12.2 → 19c. O mesmo erro ocorre em qualquer upgrade manual em ambiente RAC onde o srvctl upgrade database não foi executado — incluindo 11.2 → 12.2, 12.1 → 12.2 e 19c → 21c. A solução é sempre a mesma: sincronizar o OCR com o novo home usando o srvctl do novo ORACLE_HOME.


Referências

  • Oracle Docs 19c — Tasks to Complete Only After Manually Upgrading Oracle Database
  • Oracle Docs 12.2 — srvctl upgrade database
  • MOS Note 1281852.1 — After manual database upgrade, srvctl commands fail with PRCD-1027, PRCD-1229
  • MOS Note 2087769.1 — Not Able To Delete Or Upgrade A Cluster Resource PRCD-1231 PRKH-1013 or PRCD-1027 PRCD-1229

12c 19c OCR PRCD-1229 rac srvctl
Share. Facebook Twitter Pinterest LinkedIn Tumblr Email WhatsApp
Previous ArticleEMD runCollection Error — Agente OEM Rodando Sem Coletar Métricas
Next Article PAM Authentication Failure no OEM – Credencial SSH Key como Solução

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.