Running Compliance Checks On-Demand

Compliance checks typically run at scheduled intervals. However, Oracle recommends running Oracle Orachk or Oracle Exachk on demand when you need to assess the health and compliance of your environment outside the regular schedule.

Run compliance checks on demand in scenarios such as:

  • Before or after an upgrade.
  • When relocating a machine from one subnet to another.
  • After a hardware failure or repair.
  • When troubleshooting a problem.
  • As part of go-live testing.

To start an on-demand compliance check, log in to the system as an appropriate user and run Oracle Orachk or Oracle Exachk. Specify additional command-line options as required for the type of check you want to perform.

For Oracle Orachk:

orachk

For Oracle Exachk:

exachk

Note:

When running the tool from a terminal session on a network-connected workstation or laptop, consider using VNC or another persistent terminal environment. If the network connection is interrupted, a persistent session allows the compliance check to continue. If the tool itself fails, run it again. A failed run does not resume from the point where it stopped.

The behavior and output of an on-demand compliance check depend on your environment, configuration, and command-line options.

During a compliance check run:

  1. The tool discovers the components in your environment.
  2. The tool determines whether passwordless SSH equivalency is configured.

    • If passwordless SSH is configured at the required access level, the tool does not prompt for passwords for those components.
    • If passwordless SSH is not configured for a component at the required access level, the tool prompts for the required password.
  3. The tool determines whether the daemon is running.

    • If the daemon is running, commands are sent to the daemon process, which handles prompts such as database selection and password requests.
    • If the daemon is not running, the tool prompts you for required information, such as the database to check and any required passwords.
  4. The tool examines the status of the discovered components.

    Note:

    If passwords are required and the Expect utility is available, the tool can gather the passwords at the beginning of the run. The Expect utility supplies the passwords when subsequent password prompts occur, allowing the compliance check to continue without additional user input.

    Without the Expect utility, you must monitor the run and enter passwords interactively when prompted. Depending on the size of the environment, you might need to enter passwords multiple times. Oracle recommends using the Expect utility when password prompts are required.

  5. The tool collects information from all relevant components, including remote nodes.
  6. The tool runs compliance checks against the collected data and displays the results.
  7. After the compliance check completes, the tool displays the location of:

    • The detailed HTML report.
    • The .zip file containing additional output.

Running Pre-Upgrade Compliance Checks

When you run pre-upgrade checks, Oracle Orachk and Oracle Exachk automatically detect databases registered with Oracle Clusterware and display the databases available for checking.

Run pre-upgrade compliance checks during the upgrade planning phase. The tool prompts you for the version to which you plan to upgrade.

For Oracle Orachk:

orachk -u -o pre

For Oracle Exachk:

exachk -u -o pre

Review and address applicable findings before proceeding with the upgrade.

Running Post-Upgrade Compliance Checks

After completing the upgrade, run post-upgrade compliance checks to evaluate the upgraded environment.

For Oracle Orachk:

orachk -u -o post

For Oracle Exachk:

exachk -u -o post

Review the resulting compliance report to identify any issues that require corrective action after the upgrade.

Running On-Demand With or Without the Daemon

Run Oracle Orachk or Oracle Exachk on demand either by using the running daemon or by bypassing the daemon.

When the daemon is running, an on-demand compliance check uses the daemon where possible to respond to prompts, including password prompts.

Running On-Demand Using the Daemon

If the daemon is running, start an on-demand compliance check normally.

For Oracle Orachk:

orachk

For Oracle Exachk:

exachk

The tool communicates with the running daemon, which responds to applicable prompts using previously configured information.

Running On-Demand Without the Daemon

Use the -nodaemon option to prevent Oracle Orachk or Oracle Exachk from connecting to the daemon.

For Oracle Orachk:

orachk -nodaemon

For Oracle Exachk:

exachk -nodaemon

When you use -nodaemon, the tool runs independently of the daemon and prompts you interactively for required information.

Note:

Daemon mode is supported only on Linux and Solaris.

Note:

When running database pre-upgrade checks using -u -o pre, you must specify -nodaemon if the daemon is running.

Sending Results by Email

Use the -sendemail option to send the HTML report from an Oracle Orachk or Oracle Exachk health check run to one or more email recipients.

Sending the Report

  1. Specify the recipients using the NOTIFICATION_EMAIL parameter with the -sendemail option.

    For Oracle Orachk:

    orachk -sendemail "NOTIFICATION_EMAIL=<email_recipients>"

    For Oracle Exachk:

    exachk -sendemail "NOTIFICATION_EMAIL=<email_recipients>"

    Where <email_recipients> is a comma-separated list of email addresses.

    For example:

    orachk -sendemail "NOTIFICATION_EMAIL=dba@example.com,admin@example.com"
  2. Verify the email configuration using the -testemail option.

    For Oracle Orachk:

    orachk -testemail all

    For Oracle Exachk:

    exachk -testemail all

After the health check completes, the tool sends the generated HTML report to the specified recipients.

How Long Should It Take to Run Oracle Exachk?

The time required to complete an Oracle Exachk run varies depending on the environment.

Factors that can affect the run time include:

  • Cluster size.
  • Number of Oracle Databases running.
  • Hardware type and configuration.
  • Number of database instances and pluggable databases (PDBs).
  • Overall system load.

The following run times are examples only. Actual run times can vary significantly depending on the configuration and workload of your environment.

Hardware ConfigurationOracle Database ConfigurationRun Time
X2-2 1/4 rackNo Oracle Databases16 minutes
X2-2 1/4 rackThree Oracle Databases24m 7.884s
X4-2 1/4 rackThree Oracle Databases22m 51.497s
X4-2 1/4 rackEight Oracle Databases35 minutes
X4-8 full rackOne Oracle Database17 minutes
X5-2 1/4 rack dom0Not applicable22m 41.228s
X5-2 1/4 rack domUOne CDB with one PDB per server9 minutes
X6-2 1/4 rack dom0Not applicable22m 20.827s
X6-2 1/4 rack domUOne CDB with 50 PDBs per server56 minutes
X7-2 1/4 rackOne CDB with one PDB per server17 minutes
X7-8 full rackOne CDB with one PDB per server17 minutes

Note:

Use these values only as general examples. They are not expected or guaranteed completion times for Oracle Exachk runs in other environments.