Being Proactive and Keeping Your Databases Healthy

In my previous IOUG Observations column, I wrote about the Oracle Database Security Assessment Tool (DBSAT) and its value when performing security reviews. However, we should also be cognizant of DBSAT’s cousin utility, ORAchk, which is used to perform more general health checks against a variety of components in the Oracle technology stack. Similar to DBSAT, ORAchk is available from Oracle’s support site with no additional licensing requirements.

What Is ORAchk?

ORAchk actually predates DBSAT by quite some time and evolved from the RACchk utility. Superseded by ORAchk, RACchk no longer exists. However, an Exadata-specific version called EXAchk does remain, and the Oracle Database Appliance also has its own custom version bundled with oakcli (Oracle Appliance Kit Command Line Interface).

It may be quite apparent from ORAchk’s name that the utility’s purpose is to perform an Oracle health check. But unlike DBSAT, which is focused on the Oracle Database, ORAchk validates a wide variety of Oracle systems and software components. Beyond the Oracle Database, it can check major Oracle applications such as PeopleSoft, Siebel, and E-Business Suite. ORAck also supports systems tools such as Oracle Enterprise Manager, GoldenGate, Solaris, and ZFS Storage Appliances. In fact, on latest review, it supports eight product areas with 27 profiles on eight major operating systems.

And, regardless of what type product it’s run against or what profile is used, the objective is to analyze and report on misconfigurations, susceptibility to common problems, and deviations from Oracle Support’s recommended practices. Output is generally presented in the form of a usable and functional HTML report.

When Should It Be Used?

My answer to that question is “regularly.” I would suggest that DBAs run ORAchk at least once per quarter to see what issues they may have inadvertently introduced into their environment; once a month would be better. And, even if their environment configuration has remained static, they will likely also want to take advantage of the new checks and recommendations Oracle has added to the utility—Oracle is enhancing the utility continuously and usually provides new releases quarterly.

Beyond that proactive approach, two more circumstances for use of ORAchk would include the following:

  • Investigation of problems such as performance issues: It’s quite possible that the issue may be due to some parameter not being set to the optimal value or some other non-recommended configuration which the ORAchk utility can quickly and easily identify.
  • Prior to and after upgrades: ORAchk even provides options specific to performing pre- and post-database upgrade analysis. However, if other components in the stack are being upgraded, it may be prudent to proactively run all relevant checks before and after to help ensure upgrade success.

Everybody Misses the Best Parts!

Many DBAs are familiar already with ORAchk and might use it from time to time, though I’d still argue that most don’t use it frequently enough. Regardless, most miss some of the very best features that the tool supports. These include the following:

  1. The ability to gather and ingest the output programmatically
  2. A repository database called the Collection Manager for long-term and comparative analysis
  3. The ability to add your own custom checks

In addition to providing output in an easy-to-use HTML format, what many DBAs don’t know is that the output is also provided in XML and JSON formats for ingestion into other enterprise monitoring tools or into your own tool, if you’re willing to parse the XML or JSON output yourself. However, I find that most organizations don’t have such a tool, and, as a result, they may want to take advantage of the Collection Manager. The Collection Manager is an Oracle Application Express (APEX)-based utility for collecting and reporting on ORAchk reports. Not only does it provide a nice visual output with easy-to-digest KPIs but it also allows for comparative analysis between environments.

And, one of the best features is that the entire framework is extensible. If you have your own organizational technical best practices—which you can check for/analyze via either SQL or a shell script—then ORAchk allows you to add them. User-
defined checks can be added through the Collection Manager APEX application.

In addition, beyond those key additional functionalities, there is more—much more, actually. For example, it offers a daemon mode, automatically emailed findings, control via Oracle REST Data Services (ORDS), and integration with other support tools such as TFA, just to name a few.

What Is the Trend?

Oracle is clearly continuing to invest in ORAchk. It has been around for many years and yet it continues to add key new features and functionality such as ORDS, encrypted results, and, of course, new checks. It is also becoming more integrated with Oracle Engineered Systems and more recent database software installations.

And, while DBAs may feel that there’s an infinite list of new things to learn and do (and there is!), it’s also critical to remember the basics and try to get the fundamentals right—which is where ORAchk can be an invaluable asset. Spending the time to be proactive and ensure that the fundamentals are correct of course leads to more stability in the long term.

ORAchk really must be part of the modern Oracle DBA’s, Oracle application administrator’s, and Oracle system administrator’s toolkits. And, I highly encourage them to spend the extra time to learn and try the more enhanced features such as uploading to the Collection Manager application and extending the tool with their own site-specific custom checks.

Get started with ORAchk by navigating to the My Oracle Support (MOS) document: ORAchk—Health Checks for the Oracle Stack (Doc ID 1268927.2).