I recently gave a virtual presentation about database patching and managing risk. During the session one of the key takeaways is keeping your database healthy. Although patching is part of keeping things healthy, there is a lot more.
One key is being proactive about health checks. You should always do some basic database health checks during every patch or upgrade. In fact, you may also want to proactively perform some database health checks weekly or monthly, since many things can happen outside of DB patching.
I've personally been in many patching exercises where we planned a specific amount of time. Having tested the patch in a non-production, feeling confident things will go well. Only to find out that something else in the database is not healthy. Something only in production. Some code is invalid, or some system issue is going on. The patching window is now two times longer as we are fixing the problem we didn't know about and still trying to patch.
Running these tools proactively and reviewing the results on a regular basis is critical to a healthy system. Always do some basic database health checks on your database
- Every patch or upgrade
- Proactively perform weekly or monthly
- Before and after a patch (compare)
Knowing there is an issue will help you plan your work and make sure your outages have the time you need and everyone is clear on the change that is needed. The fewer surprises there are in the work you do, the more the business and management will trust what you are doing in the future.
There are other tools that Oracle provides outside of AHF. Here is a list of some more Oracle-provided scripts and technical notes on things you can check in your database to show it is healthy. This does not guarantee that the application that uses the database is healthy, this is more about the technical aspects of the database itself.
Hopefully, these notes give you a point in the right direction on how to help keep your database healthy during patching activities, even when you are not patching.