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 188.8.131.52 to 184.108.40.206 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
It’s actually a general recommendation we give to customers for a long time to check their really important and business critical databases from time to time during off-peak hours.
Recently Oracle Support updated hcheck.sql to version 4 to include Oracle Database 12c checks as well. Unfortunately the script doesn’t get updated very often. Expect a max of 2 updates per year.
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