1.2 Using Oracle ORAchk and Oracle EXAchk to Automatically Check for Risks and System Health
Oracle recommends that you use the daemon process to schedule recurring health checks at regular intervals.
Note:
Daemon mode is supported only on the Linux and Solaris operating systems.Configure the daemon to:
-
Schedule recurring health checks at regular interval
-
Send email notifications when the health check runs complete, clearly showing any differences since the last run
-
Purge collection results after a pre-determined period
-
Check and send email notification about stale passwords
-
Store multiple profiles for automated health check runs
-
Restart automatically if the server or node where it is running restarts
Note:
While running, the daemon answers all the prompts required by subsequent on-demand health checks.
To run on-demand health checks, do not use the daemon process started by others. Run on-demand health checks within the same directory where you have started the daemon.
If you change the system configuration such as adding or removing servers or nodes, then restart the daemon.
- Setting and Getting Options for the Daemon
Set the daemon options before you start the daemon. Reset the daemon options anytime after starting the daemon. - Starting and Stopping the Daemon
Start and stop the daemon and force the daemon to stop a health check run. - Querying the Status and Next Planned Daemon Run
Query the status and next automatic run schedule of the running daemon. - Configuring the Daemon for Automatic Restart
By default, you must manually restart the daemon if you restart the server or node on which the daemon is running.
Related Topics
1.2.1 Setting and Getting Options for the Daemon
Set the daemon options before you start the daemon. Reset the daemon options anytime after starting the daemon.
Set the daemon options using the –set
option.
$ ./orachk –set "option_1=option_1_value"
$ ./exachk –set "option_1=option_1_value"
name=value
format separated by semicolons as follows:$ ./orachk –set "option_1=option_1_value;option_2=option_2_value;option_n=option_n_value"
$ ./exachk –set "option_1=option_1_value;option_2=option_2_value;option_n=option_n_value"
- AUTORUN_SCHEDULE
Schedule recurring health checks using theAUTORUN_SCHEDULE
daemon option. - AUTORUN_FLAGS
TheAUTORUN_FLAGS
daemon option determines how health checks are run. - NOTIFICATION_EMAIL
Set theNOTIFICATION_EMAIL
daemon option to send email notifications to the recipients you specify. - collection_retention
Set thecollection_retention
daemon option to purge health check collection results that are older than a specified number of days. - PASSWORD_CHECK_INTERVAL
ThePASSWORD_CHECK_INTERVAL
daemon option defines the frequency, in hours, for the daemon to validate the passwords entered when the daemon was started the first time. - Setting Multiple Option Profiles for the Daemon
Use only one daemon process for each server. Do not start a single daemon on multiple databases in a cluster, or multiple daemons on the same database. - Getting Existing Options for the Daemon
Query the values that you set for the daemon options.
Related Topics
1.2.1.1 AUTORUN_SCHEDULE
Schedule recurring health checks using the AUTORUN_SCHEDULE
daemon option.
AUTORUN_SCHEDULE
option, as follows:AUTORUN_SCHEDULE=hour minute day month day_of_week
where:-
minute
is 0-59 (Optional. If omitted, then 0 is used) -
hour
is 0–23 -
day
is 1–31 -
month
is 1–12 -
day_of_week
is 0–6, where 0=Sunday and 6=Saturday
Use the asterisk (*) as a wildcard to specify multiple values separated by commas.
Table 1-1 AUTORUN_SCHEDULE
Example | Result |
---|---|
|
Runs every 15 minutes. |
|
Runs every hour. |
|
Runs at 3 AM every Sunday. |
|
Runs at 2 AM on Monday, Wednesday, and Friday. |
|
Runs at 4 AM on the first day of every month. |
|
Runs at 8 AM and 8 PM every Monday, Tuesday, Wednesday, Thursday, and Friday. |
Example 1-16 AUTORUN_SCHEDULE
$ ./orachk –set "AUTORUN_SCHEDULE=3 * * 0"
$ ./exachk –set "AUTORUN_SCHEDULE=3 * * 0"
Parent topic: Setting and Getting Options for the Daemon
1.2.1.2 AUTORUN_FLAGS
The AUTORUN_FLAGS
daemon option determines how health checks are run.
Set the AUTORUN_FLAGS
option as follows: AUTORUN_FLAGS=flags
, where flags
can be any combination of valid command-line flags.
Table 1-2 AUTORUN_FLAGS
Example | Result |
---|---|
|
Runs only the |
|
Runs only the |
|
Runs all checks except the checks in the |
Example 1-17 AUTORUN_FLAGS
$ ./orachk –set "AUTORUN_FLAGS=-profile sysadmin –tag sysadmin"
$ ./exachk –set "AUTORUN_FLAGS=-profile sysadmin –tag sysadmin"
Parent topic: Setting and Getting Options for the Daemon
1.2.1.3 NOTIFICATION_EMAIL
Set the NOTIFICATION_EMAIL
daemon option to send email notifications to the recipients you specify.
The daemon notifies the recipients each time a health check run completes or when the daemon experiences a problem.
$ ./orachk –set "NOTIFICATION_EMAIL=some.person@acompany.com,another.person@acompany.com"
$ ./exachk –set "NOTIFICATION_EMAIL=some.person@acompany.com,another.person@acompany.com"
–testemail
option, as follows:$ ./orachk -testemail all
$ ./exachk -testemail all
After the first health check run, the daemon notifies the recipients with report output attached.
For the subsequent health check runs after the first email notification, the daemon emails the summary of differences between the most recent runs to all recipients specified in the NOTIFICATION_EMAIL
list.
Contents of the Email Notification
-
System Health Score of this run compared to the previous run
-
Summary of number of checks run and differences between runs
-
Most recent report result as attachment
-
Previous report result as attachment
-
Diff report as attachment
Related Topics
Parent topic: Setting and Getting Options for the Daemon
1.2.1.4 collection_retention
Set the collection_retention
daemon option to purge health check collection results that are older than a specified number of days.
collection_retention
option, as follows:collection_retention=number_of_days
If you do not set this option, then the daemon does not purge the stale collection.
Set the collection_retention
option to an appropriate number of days based on
-
Frequency of your scheduled collections
-
Size of the collection results
-
Available disk space
Example 1-18 collection_retention
$ ./orachk –set "collection_retention=60"
$ ./exachk –set "collection_retention=60"
Parent topic: Setting and Getting Options for the Daemon
1.2.1.5 PASSWORD_CHECK_INTERVAL
The PASSWORD_CHECK_INTERVAL
daemon option defines the frequency, in hours, for the daemon to validate the passwords entered when the daemon was started the first time.
If an invalid password is found due to a password change, then the daemon stops, makes an entry in the daemon log, and then sends an email notification message to the recipients specified in the NOTIFICATION_EMAIL
option.
Set the PASSWORD_CHECK_INTERVAL
option, as follows: PASSWORD_CHECK_INTERVAL=number_of_hours
.
If you do not set the PASSWORD_CHECK_INTERVAL
option, then the daemon cannot actively check password validity and fails the next time the daemon tries to run after a password change. Using the PASSWORD_CHECK_INTERVAL
option enables you to take corrective action and restart the daemon with the correct password rather than having failed collections.
Set the PASSWORD_CHECK_INTERVAL
option to an appropriate number of hours based on the frequency of your scheduled collections and password change policies.
Example 1-19 PASSWORD_CHECK_INTERVAL
$ ./orachk –set "PASSWORD_CHECK_INTERVAL=1"
$ ./exachk –set "PASSWORD_CHECK_INTERVAL=1"
Related Topics
Parent topic: Setting and Getting Options for the Daemon
1.2.1.6 Setting Multiple Option Profiles for the Daemon
Use only one daemon process for each server. Do not start a single daemon on multiple databases in a cluster, or multiple daemons on the same database.
The daemon does not start, if the daemon detects another Oracle ORAchk or Oracle EXAchk daemon process running locally.
Define multiple different run profiles using the same daemon. Defining multiple different run profiles enables you to run multiple different health checks with different daemon options, such as different schedules, email notifications, and automatic run flags. The daemon manages all profiles.
Define daemon option profiles using the –id id
option before the –set
option, where id
is the name of the profile.
$ ./orachk –id id –set "option=value"
$ ./exachk –id id –set "option=value"
Setting Multiple Option Profiles for the Daemon
For example, if the database administrator wants to run checks within the dba
profile and the system administrator wants to run checks in the sysadmin
profile, then configure the daemon using the profiles option.
Related Topics
Parent topic: Setting and Getting Options for the Daemon
1.2.1.7 Getting Existing Options for the Daemon
Query the values that you set for the daemon options.
To query the values, use [-id ID] -get option | all
, where
-
ID
is a daemon option profile -
option
is a specific daemon option you want to retrieve -
all
returns values of all options
Getting Existing Options for the Daemon
Parent topic: Setting and Getting Options for the Daemon
1.2.2 Starting and Stopping the Daemon
Start and stop the daemon and force the daemon to stop a health check run.
To start and stop the daemon:
–d stop
option.
1.2.3 Querying the Status and Next Planned Daemon Run
Query the status and next automatic run schedule of the running daemon.
-d status|info|nextautorun
-
-d status
: Checks if the daemon is running. -
-d info
: Displays information about the running daemon. -
-d nextautorun [-id ID]
: Displays the next automatic run time.
To query the status and next planned daemon run:
1.2.4 Configuring the Daemon for Automatic Restart
By default, you must manually restart the daemon if you restart the server or node on which the daemon is running.
However, if you use the automatic restart option, the daemon restarts automatically after the server or node reboot.
Only root
can configure automatic restart.
To configure the daemon to start automatically: