Oracle recommends that you use the daemon process to schedule recurring health checks at regular intervals.
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 of the prompts required by subsequent on-demand health checks.
To run on-demand health checks, do not use the daemon process started by any other user. 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.
Related Topics
Set the daemon options before you start the daemon. Reset those 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"
collection_retention
daemon option to purge health check collection results that are older than a specified number of days.Related Topics
Schedule recurring health checks using the AUTORUN_SCHEDULE daemon option.
AUTORUN_SCHEDULE=hour day month day_of_weekwhere:
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 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. |
$ ./orachk –set "AUTORUN_SCHEDULE=3 * * 0"
$ ./exachk –set "AUTORUN_SCHEDULE=3 * * 0"
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 those in the |
$ ./orachk –set "AUTORUN_FLAGS=-profile sysadmin –tag sysadmin"
$ ./exachk –set "AUTORUN_FLAGS=-profile sysadmin –tag sysadmin"
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
For the subsequent health check runs after the first email notification, the daemon emails the diff report of the current run and the immediate past run to all users specified in the NOTIFICATION_EMAIL list.
The email notification message contains:
System Health Score of this run compared to previous
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
Figure 1-11 Subsequent Email Notification
Related Topics
Set the collection_retention
daemon option to purge health check collection results that are older than a specified number of days.
Set the collection_retention
option, as follows: collection_retention=number_of_days
.
The daemon does not purge the stale collection if you do not set this option.
Set the collection_retention
option to an appropriate number of days based on the frequency of your scheduled collections, size of the collection results, and the available disk space.
Note:
Specify the collection_retention
option lower case.
Example 1-1 collection_retention
$ ./orachk –set "collection_retention=60"
$ ./exachk –set "collection_retention=60"
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 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 can not actively check password validity and fails the next time it 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-2 PASSWORD_CHECK_INTERVAL
$ ./orachk –set "PASSWORD_CHECK_INTERVAL=1"
$ ./exachk –set "PASSWORD_CHECK_INTERVAL=1"
Related Topics
The AUTORUN_INTERVAL daemon option provides an alternative method of regularly running health checks.
Note:
The functionality of the AUTORUN_INTERVAL option has been superseded by the AUTORUN_SCHEDULE option and is only retained for backwards compatibility. Oracle recommends that you use the AUTORUN_SCHEDULE option.
Set the AUTORUN_INTERVAL option, as follows: AUTORUN_INTERVAL=n [d | h]
, where:
n
is a number
d
is days
h
is hours
Table 1-3 AUTORUN_INTERVAL
Example | Result |
---|---|
|
Runs every hour. |
|
Runs every 12 hours. |
|
Runs every day. |
|
Runs every week. |
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 it detects another Oracle ORAchk or Oracle EXAchk daemon process running locally.
You can define multiple different run profiles using the same daemon. This enables you to run multiple different health checks with different daemon options, such as different schedules, email notifications, and auto run flags. The daemon manages all profiles.
–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"
Example 1-3 Setting Multiple Option Profiles for the Daemon
For example, if 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.
$ ./orachk –id dba –set "NOTIFICATION_EMAIL=dba@example.com;\ AUTORUN_SCHEDULE=4,8,12,16,20 * * *;AUTORUN_FLAGS=-profile dba –tag dba;\ collection_retention=30" Created notification_email for ID[dba] Created autorun_schedule for ID[dba] Created autorun_flags for ID[dba] Created collection_retention for ID[dba]
$ ./exachk –id dba –set "NOTIFICATION_EMAIL=dba@example.com;\ AUTORUN_SCHEDULE=4,8,12,16,20 * * *; AUTORUN_FLAGS=-profile dba –tag dba;\ collection_retention=30" Created notification_email for ID[dba] Created autorun_schedule for ID[dba] Created autorun_flags for ID[dba] Created collection_retention for ID[dba]
$ ./orachk –id sysadmin –set "NOTIFICATION_EMAIL=sysadmin@example.com;\ AUTORUN_SCHEDULE=3 * * 1,3,5; AUTORUN_FLAGS=-profile sysadmin –tag sysadmin;\ collection_retention=60" Created notification_email for ID[sysadmin] Created autorun_schedule for ID[sysadmin] Created autorun_flags for ID[sysadmin] Created collection_retention for ID[sysadmin]
$ ./exachk –id sysadmin –set "NOTIFICATION_EMAIL=sysadmin@example.com;\ AUTORUN_SCHEDULE=3 * * 1,3,5; AUTORUN_FLAGS=-profile sysadmin –tag sysadmin;\ collection_retention=60" Created notification_email for ID[sysadmin] Created autorun_schedule for ID[sysadmin] Created autorun_flags for ID[sysadmin] Created collection_retention for ID[sysadmin]
Related Topics
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
To get a specific daemon option, use –get option
.
Example 1-4 Getting Existing Options for the Daemon
$ ./orachk –get NOTIFICATION_EMAIL ID: orachk.default ------------------------------------------ notification_email = some.body@example.com
$ ./exachk –get NOTIFICATION_EMAIL ID: exachk.default ------------------------------------------ notification_email = some.body@example.com
–get option:
.
$ ./orachk –get NOTIFICATION_EMAIL ID: orachk.default ------------------------------------------ notification_email = some.body@example.com ID: dba ------------------------------------------ notification_email = dba@example.com ID: sysadmin ------------------------------------------ notification_email = sysadmin@example.com
$ ./exachk –get NOTIFICATION_EMAIL ID: exachk.default ------------------------------------------ notification_email = some.person@example.com ID: dba ------------------------------------------ notification_email = dba@example.com ID: sysadmin ------------------------------------------ notification_email = sysadmin@example.com
To limit the request to a specific daemon option profile, use the –id ID -get option
.
dba
:
$ ./orachk –id dba –get NOTIFICATION_EMAIL ID: dba ------------------------------------------ notification_email = dba@example.com
$ ./exachk –id dba –get NOTIFICATION_EMAIL ID: dba ------------------------------------------ notification_email = dba@example.com
To get all options set use –get
all
$ ./orachk –get all ID: orachk.default ------------------------------------------ notification_email = some.body@example.com autorun_schedule = 3 * * 0 collection_retention = 30 password_check_interval = 1
$ ./exachk –get all ID: exachk.default ------------------------------------------ notification_email = some.body@example.com autorun_schedule = 3 * * 0 collection_retention = 30 password_check_interval = 1
–get all
option.
$ ./orachk –get all ID: orachk.default ------------------------------------------ notification_email = some.body@example.com autorun_schedule = 3 * * 0 collection_retention = 30 password_check_interval = 12 ID: dba ------------------------------------------ notification_email = dba@example.com autorun_schedule = 4,8,12,16,20 * * * autorun_flags = -profile dba – tag dba collection_retention = 30 password_check_interval = 1 ID: sysadmin ------------------------------------------ notification_email = sysadmin@example.com autorun_schedule = 3 * * 1,3,5 autorun_flags = -profile sysadmin –tag sysadmin collection_retension = 60 password_check_interval = 1
$ ./exachk –get all ID: exachk.default ------------------------------------------ notification_email = some.body@example.com autorun_schedule = 3 * * 0 collection_retention = 30 password_check_interval = 1 ID: dba ------------------------------------------ notification_email = dba@example.com autorun_schedule = 4,8,12,16,20 * * * autorun_flags = -profile dba – tag dba collection_retention = 30 password_check_interval = 1 ID: sysadmin ------------------------------------------ notification_email = sysadmin@example.com autorun_schedule = 3 * * 1,3,5 autorun_flags = -profile sysadmin –tag sysadmin collection_retension = 60 password_check_interval = 1
To limit the request to a specific daemon option profile use, –id ID -get all
option.
dba
:
$ ./orachk –id dba –get all ID: dba ------------------------------------------ notification_email = dba@example.com autorun_schedule = 4,8,12,16,20 * * * autorun_flags = -profile dba – tag dba collection_retention = 30 password_check_interval = 1
$ ./exachk –id dba –get all ID: dba ------------------------------------------ notification_email = dba@example.com autorun_schedule = 4,8,12,16,20 * * * autorun_flags = -profile dba – tag dba collection_retention = 30 password_check_interval = 1
Use these commands to start and stop the daemon, and to force the daemon to stop a health check run.
–d stop
option.Query the status and next auto run schedule of the running daemon.
-d status|info|nextautorun
-d status
: checks if the daemon is running.
-d info
: print information about running daemon.
-d nextautorun [-id ID]
: prints the next auto run time.
By default, you must manually restart the daemon if you restart the server or node on which it is running. However, if you use the auto restart option, the daemon restarts automatically after the server or node reboot.
root
or oracle
. If passwordless SSH user equivalence is not in place, then Oracle ORAchk and Oracle EXAchk optionally configure for you.
The passwordless SSH user equivalence is retained as long as the daemon auto restart functionality is configured.
Deconfiguring the daemon auto restart feature will restore the SSH configuration to the state it was found before auto restart start was configured.