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

PRVG-1901, PRVH-0185, PRVH-0516 — Fleet Maintenance Fails with /tmp noexec

2026-04-20 Oracle By Henrique

ORA-29548 — Java System Class Reported: Dictionary Version Mismatch

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
  • About
  • Contact
  • Legal
    • Cookie Policy
    • Disclaimer
    • Privacy Policy
    • Terms of Use
  • RSS
  • English
    • Portuguese (Brazil)
Execute StepExecute Step
YouTube LinkedIn RSS
  • Home
  • Oracle
    • ASM
    • Data Guard
    • OEM
    • RAC
  • Performance
  • Tools
  • Troubleshooting
  • Python
  • Shell Script
Execute StepExecute Step
Home » PRCD-1229 — srvctl Refuses Database Access After Manual Upgrade in Oracle RAC
Oracle RAC

PRCD-1229 — srvctl Refuses Database Access After Manual Upgrade in Oracle RAC

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

This post is also available in: Português (Portuguese (Brazil))

You just finished a manual upgrade of your Oracle RAC from 12.2 to 19c. The database is up, processes are running — and the moment you try to manage it with srvctl, you get this:

[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.

The database is on 19c. The srvctl binary is from 19c. And yet the error tells you to run from the 12.2 home. Here’s what’s actually happening.


Root Cause

Oracle Clusterware stores metadata for all cluster resources in the OCR (Oracle Cluster Registry) — databases, instances, services, listeners. That metadata includes the ORACLE_HOME version associated with each database resource.

When you perform a manual upgrade — without DBUA — the database binaries and dictionary are updated, but the OCR entry still points to the old home (12.2). When the 19c srvctl reads the OCR, it finds a resource registered as version 12.2 and refuses to operate on it. Oracle’s rule is explicit: the srvctl version must match the version of the object being managed.

Bottom line: the database is on 19c, but the OCR still thinks it’s 12.2. The srvctl upgrade database command is what syncs that registry entry.


Quick Diagnosis

Check what the OCR currently has registered for your database:

$ORACLE_HOME/bin/srvctl config database -d orcl

If the Oracle home field still points to the 12.2 path, the issue is confirmed:

Database unique name: orcl
Database name: orcl
Oracle home: /u01/app/oracle/product/12.2.0/dbhome_1   ← old version
Oracle user: oracle
...

You can also check the resource version directly in Clusterware:

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

Fix

⚠️ Run as the oracle user, not root. Running as root returns PRKH-1014 and the command fails.


/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

Expected output on success:

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

Validation

srvctl config database -d orcl | grep -i home

The Oracle home field should now show the 19c path.

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

Quick Checklist

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>

Edge Case: Old Home Already Removed

If you removed the 12.2 ORACLE_HOME before running srvctl upgrade database, the command may fail because the OCR attempts to validate the old home during the operation.

In this case, use srvctl modify first to update the ORACLE_HOME reference without relying on the old home:

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

Then run the upgrade:

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

💡 Lesson learned: always run srvctl upgrade database before decommissioning the old Oracle Home. Skipping this step is what creates the need for the workaround above.


Note on Other Versions

PRCD-1229 is not specific to the 12.2 → 19c upgrade path. The same error appears in any manual RAC upgrade where srvctl upgrade database was not executed — including 11.2 → 12.2, 12.1 → 12.2, and 19c → 21c. The fix is always the same: sync the OCR using srvctl from the new ORACLE_HOME.


References

  • 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 – OEM Agent Running but Not Collecting Metrics
Next Article OEM PAM Authentication Failure — Fix with SSH Key Named Credentials

Related Posts

Oracle

PRVG-1901, PRVH-0185, PRVH-0516 — Fleet Maintenance Fails with /tmp noexec

2026-04-20
Read More
Oracle

ORA-29548 — Java System Class Reported: Dictionary Version Mismatch

2026-04-20
Read More
ASM

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

2026-04-18
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

ORA-29548 — How to Fix “Java System Class Reported” in Oracle Database

2026-03-0510 Views

PRVG-2002 — How to Fix “Encountered Error in Copying File” in Oracle RAC

2026-03-078 Views
Demo
Execute Step
YouTube LinkedIn RSS
  • Home
  • About
  • Contact
  • RSS
  • English
    • Português (Portuguese (Brazil))
© 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.