By Mike Dietrich-Oracle on May 19, 2016
A while back we added this slide to our big slide deck:
The story behind this slide
A large and important customer in the US tested a patch set upgrade - but when they approached the production upgrade from 220.127.116.11 to 18.104.22.168 on a large RAC cluster they've had to cancel the attempt and revert to the previous state.
They've hit a dictionary corruption somewhere silently sleeping in the database causing no trouble at all so far - until the upgrade touched the broken structures
They've asked us:
"How could we ensure the database is really healthy and in good state?"
And unfortunately there's no 100% confirmation as there may be an unknown issue we are not aware of. But we can test two things:
- Let RMAN verify the logical integrity of the Oracle blocks
- Let the hcheck.sql script provided by Oracle Support check and test for known dictionary issues
Recently Oracle Support updated hcheck.sql to version 4 to include Oracle Database 12c checks as well.
Please find it here:
- MOS Note:136697.1
hcheck.sql - Script to Check for Known Problems in Oracle8i, Oracle9i, Oracle10g, Oracle 11g and Oracle 12c