When working with Oracle Database Appliance (ODA), upgrade readiness checks are usually straightforward — until you hit a strange failure that doesn’t make sense.
Recently, during a 19c upgrade, I encountered a “Validate Database Home Status Failed” error that traced back to an old database home stuck in the CREATING state. This post walks through how I diagnosed and fixed the issue directly in the ODA’s internal MySQL configuration database.
While running a pre-upgrade validation on an ODA X8-2 system, I received the following message:
__DBHOME__ Validate Database Home Status Success Database home 'OraDB19000_home1' is None in 'CONFIGURED' state Validate Database Home Status Failed Database home 'OraDB19000_home2' is Make sure the database home is in in 'CREATING' state 'CONFIGURED' state or remove database home using 'odacli delete-dbhome' command Validate Database Home Status Success Database home 'OraDB19000_home3' is None in 'CONFIGURED' state
Running the ODA CLI command confirmed it:
odacli list-dbhomes
ID Name DB Version DB Edition Home Location Status
db244e9d-9d3e-446f-9e15-461913aaf1b6 OraDB19000_home1 19.16.0.0.220719 EE /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1 CONFIGURED
ce18accb-6f87-472b-bdcf-232e5b781596 OraDB19000_home2 19.20.0.0.230718 EE /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_2 CREATING
fcdba17c-4691-4a56-8d14-836798809694 OraDB19000_home3 19.20.0.0.230718 EE /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_3 CONFIGURED
It was clear that the old OraDB19000_home2 entry was stuck in CREATING, even though the directory already existed.
The usual odacli delete-dbhome command failed, so I decided to dig deeper.
ODA internally uses a local MySQL database (dcsagentdb) to track all ODA components — databases, homes, patches, and configurations.
A failed or incomplete DB home creation had left a stale record in this MySQL table (DatabaseHome), which caused the pre-upgrade validation to fail.
I connected to the internal ODA MySQL instance:
/opt/oracle/dcs/mysql/bin/mysql --defaults-file=/opt/oracle/dcs/mysql/etc/mysqldb.cnf
dcsagentdb, a local MySQL database.odacli delete-dbhome fails.This issue was a great reminder that even automated systems like ODA can accumulate stale metadata after interrupted operations.
Understanding the internal structure of ODA (especially the DCS MySQL layer) provides the confidence to fix such issues quickly and safely.
If you’re running an ODA upgrade and hit a “Validate Database Home Status Failed” message, check for any CREATING DB homes first.
A few SQL commands might be all it takes to get your upgrade back on track.