3.1.2 Running Compliance Checks Automatically
Oracle recommends that you use the daemon process to schedule recurring compliance checks at regular intervals.
Note:
Daemon mode is supported only on the Linux and Solaris operating systems.Configure the daemon to:
-
Schedule recurring compliance checks at regular interval
-
Send email notifications when the compliance 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 compliance 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 compliance checks.
To run on-demand compliance checks, do not use the daemon process started by others. Run on-demand compliance 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 compliance 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 Start
Installing Oracle Autonomous Health Framework asroot
on Linux or Solaris automatically sets up and runs the Oracle Orachk or Oracle Exachk 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
Parent topic: Compliance Checking with Oracle Orachk and Oracle Exachk
3.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.
To set the daemon options:
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 compliance check runs using theAUTORUN_SCHEDULE
daemon option. - AUTORUN_FLAGS
TheAUTORUN_FLAGS
daemon option determines how compliance 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
Parent topic: Running Compliance Checks Automatically
3.1.2.1.1 AUTORUN_SCHEDULE
Schedule recurring compliance check runs using the
AUTORUN_SCHEDULE
daemon option.
To schedule recurring compliance check runs:
AUTORUN_SCHEDULE
option, as
follows:AUTORUN_SCHEDULE=minute hour day month day_of_week
Where:
-
minute
Valid values: 0-59 (Optional. If omitted, then 0 is used)
Allowed special characters: * , - /
-
hour
is 0–23Valid values: 0–23
Allowed special characters: * , - /
-
day
Valid values: 1–31
Allowed special characters: * , -
-
month
Valid values: 1–12 or JAN–DEC
Allowed special characters: * , -
-
day_of_week
Valid values: 0–6 or SUN–SAT
Allowed special characters: * , -
Asterisk (*): Use the asterisk (*) as a wildcard to specify multiple values separated by commas.
Comma (,): Use commas to separate items of a list. For example, using "MON,WED,FRI" in the 5th field (day of week) means Mondays, Wednesdays and Fridays.
Dash (-): Use dash to define ranges.
Note:
Frequencies, in general, cannot be expressed; only step values, which evenly divide their range express accurate frequencies.- For minutes: /2, /3, /4, /5, /6, /10, /12, /15, /20 and /30 because 60 is evenly divisible by those numbers
- For hours: /2, /3, /4, /6, /8 and /12
Table 3-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. |
|
Runs every 5 minutes at 2,3,4 AM every Tuesday in the month of January. |
|
Runs every minute. |
|
Runs every 5 minutes at 12,1,2,3,4,5,6,7 AM every day in the month of August. |
Example 3-2 AUTORUN_SCHEDULE
$ orachk –set "AUTORUN_SCHEDULE=3 * * 0"
$ exachk –set "AUTORUN_SCHEDULE=3 * * 0"
Optionally, you can specify the name of the profile. If you do not specify,
then id
=DEFAULT
.
$ orachk -id dba -set "AUTORUN_SCHEDULE=3 * * 0"
$ exachk -id dba -set "AUTORUN_SCHEDULE=3 * * 0"
Parent topic: Setting and Getting Options for the Daemon
3.1.2.1.2 AUTORUN_FLAGS
The AUTORUN_FLAGS
daemon option determines how compliance
checks are run.
To configure how compliance checks should run:
AUTORUN_FLAGS
option
as
follows:AUTORUN_FLAGS=flags
Where:
- flags can be any combination of valid command-line flags.
Table 3-2 AUTORUN_FLAGS
Example | Result |
---|---|
|
Runs only the |
|
Runs only the |
|
Runs all checks except the checks
in the |
Example 3-3 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
3.1.2.1.3 NOTIFICATION_EMAIL
Set the NOTIFICATION_EMAIL
daemon option to send email notifications to the recipients you specify.
To configure email notifications:
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.
Related Topics
Parent topic: Setting and Getting Options for the Daemon
3.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.
To configure collection retention period:
$ orachk –set "collection_retention=60"
$ exachk –set "collection_retention=60"
$ orachk –set "user_collection_retention=60"
$ exachk –set "user_collection_retention=60"
Parent topic: Setting and Getting Options for the Daemon
3.1.2.1.4.1 To Control Collection Retention Using Size
RAT_PURGE_SIZE
. When the health check collections consume the size specified, then Oracle Orachk starts purging the old collections, and retains the space specified using RAT_PURGE_SIZE
.
$export RAT_PURGE_SIZE=4096
3.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.
To configure password validation frequency:
$ orachk –set "PASSWORD_CHECK_INTERVAL=1"
$ exachk –set "PASSWORD_CHECK_INTERVAL=1"
Related Topics
Parent topic: Setting and Getting Options for the Daemon
3.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 Autonomous Health Framework daemon process running locally.
Define multiple different run profiles using the same daemon. Defining multiple different run profiles enables you to run multiple different compliance 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"
To set 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
3.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
.
ID
is a daemon option profile.option
is a specific daemon option you want to retrieve.all
returns values of all options.
To get existing options for the daemon:
Parent topic: Setting and Getting Options for the Daemon
3.1.2.2 Starting and Stopping the Daemon
Start and stop the daemon and force the daemon to stop a compliance check run.
To start and stop the daemon:
The daemon stops the compliance check run and then confirms when it is
done. If necessary, then stop the daemon using the -autostop
option.
The window allows to setup a value to randomize the execution hour and minute to be
set for each daemon schedule. By default, exachk
sets 2:03 AM for
exatier
profile entry, and 3:03 AM for full run entry.
Regarding the hour, when using the window, if you setup autostart
with a window of 5, and considering exachk
uses 2 AM as default
hour, that means that exachk
will pick a value between 2AM +/-5
hours, that is, any hour between 9 PM and 7 AM. If the autostart
window is 1, then hour value could be 1 AM, 2 AM, or 3 AM.
Regarding the minute, when using autorun
window, the minute will be
a randomized value between 0 and 59.
Note that the window applies only to the action of setting up the entry. It is not meant as a window applied for every time the scheduled entry runs. If the entry is setup to run at, let’s say, 4:15 AM, then it will run at that time the days scheduled.
Use cases:
- Using the
RAT_AUTORUN_WINDOW
variable from the environment before installing AHFWhen AHF is installed running the
ahf_setup
file, if theRAT_AUTORUN_WINDOW
is set, thenexachk
scheduler will pickRAT_AUTORUN_WINDOW
value and apply the window to theexachk
scheduler entries.# export RAT_AUTORUN_WINDOW=5 # ./ahf_setup -ahf_loc /opt/oracle.ahf -data_dir /opt/oracle.ahf -silent # orachk -get all ------------------------------------------------------------ ID: orachk.autostart_client_oratier1 ------------------------------------------------------------ AUTORUN_FLAGS = -usediscovery -profile oratier1 -dball -showpass -tag autostart_client_oratier1 -readenvconfig COLLECTION_RETENTION = 7 AUTORUN_SCHEDULE = 20 1 * * 1,2,3,4,5,6 ------------------------------------------------------------ ------------------------------------------------------------ ID: orachk.autostart_client ------------------------------------------------------------ AUTORUN_FLAGS = -usediscovery -tag autostart_client -readenvconfig COLLECTION_RETENTION = 14 AUTORUN_SCHEDULE = 15 3 * * 0 ------------------------------------------------------------
# export RAT_AUTORUN_WINDOW=5 # ./ahf_setup -ahf_loc /opt/oracle.ahf -data_dir /opt/oracle.ahf -silent # exachk -get all ------------------------------------------------------------ ID: exachk.autostart_client_exatier1 ------------------------------------------------------------ AUTORUN_FLAGS = -usediscovery -profile exatier1 -dball -showpass -tag autostart_client_exatier1 -readenvconfig COLLECTION_RETENTION = 7 AUTORUN_SCHEDULE = 20 1 * * 1,2,3,4,5,6 ------------------------------------------------------------ ------------------------------------------------------------ ID: exachk.autostart_client ------------------------------------------------------------ AUTORUN_FLAGS = -usediscovery -tag autostart_client -readenvconfig COLLECTION_RETENTION = 14 AUTORUN_SCHEDULE = 15 3 * * 0 ------------------------------------------------------------
As seen above, the hour values belong to the window, and the minute value is a random value between 0 and 59.
- Using the
-autorun_window <value>
option while installing AHFThe
-autorun_window
can be specified as an option when runningahf_setup
.# ./ahf_setup -ahf_loc /opt/oracle.ahf -data_dir /opt/oracle.ahf -silent -autorun_window 5 # orachk -get all ------------------------------------------------------------ ID: orachk.autostart_client_oratier1 ------------------------------------------------------------ AUTORUN_FLAGS = -usediscovery -profile oratier1 -dball -showpass -tag autostart_client_oratier1 -readenvconfig COLLECTION_RETENTION = 7 AUTORUN_SCHEDULE = 24 6 * * 1,2,3,4,5,6 ------------------------------------------------------------ ------------------------------------------------------------ ID: orachk.autostart_client ------------------------------------------------------------ AUTORUN_FLAGS = -usediscovery -tag autostart_client -readenvconfig COLLECTION_RETENTION = 14 AUTORUN_SCHEDULE = 29 6 * * 0 ------------------------------------------------------------
# ./ahf_setup -ahf_loc /opt/oracle.ahf -data_dir /opt/oracle.ahf -silent -autorun_window 5 # exachk -get all ------------------------------------------------------------ ID: exachk.autostart_client_exatier1 ------------------------------------------------------------ AUTORUN_FLAGS = -usediscovery -profile exatier1 -dball -showpass -tag autostart_client_exatier1 -readenvconfig COLLECTION_RETENTION = 7 AUTORUN_SCHEDULE = 24 6 * * 1,2,3,4,5,6 ------------------------------------------------------------ ------------------------------------------------------------ ID: exachk.autostart_client ------------------------------------------------------------ AUTORUN_FLAGS = -usediscovery -tag autostart_client -readenvconfig COLLECTION_RETENTION = 14 AUTORUN_SCHEDULE = 29 6 * * 0 ------------------------------------------------------------
Note:
IfRAT_AUTORUN_WINDOW
is defined, and-autorun_window
is passed, then the-autorun_window
command-line option has more priority and the environment variable value will be ignored.When the RAT variable is set at install time, it will be stored automatically on the
orachk
andexachk
environment file:# cat `orachk -showenvfile` RAT_AUTORUN_WINDOW=5
# cat `exachk -showenvfile` RAT_AUTORUN_WINDOW=5
So the subsequent
autostop
andautostart
commands will make use of the existent variable value in the environment file (when defined). Entry can be manually deleted from the file anytime. - Using the existing
RAT_AUTORUN_WINDOW
value defined inorachk
/exachk
environment fileAs mentioned above, if the value exists in the environment file, then an
autostart
command will automatically read the value and apply the window:# orachk -autostart . . Applying execution time window of (+/-) 5 hours Applying execution time window of (+/-) 5 hours Successfully copied Daemon Store to Remote Nodes . . . orachk is using TFA Scheduler. TFA PID: 3964931 # orachk -get all ------------------------------------------------------------ ID: orachk.autostart_client_oratier1 ------------------------------------------------------------ AUTORUN_FLAGS = -usediscovery -profile oratier1 -dball -showpass -tag autostart_client_oratier1 -readenvconfig COLLECTION_RETENTION = 7 AUTORUN_SCHEDULE = 42 23 * * 1,2,3,4,5,6 ------------------------------------------------------------ ------------------------------------------------------------ ID: orachk.autostart_client ------------------------------------------------------------ AUTORUN_FLAGS = -usediscovery -tag autostart_client -readenvconfig COLLECTION_RETENTION = 14 AUTORUN_SCHEDULE = 31 0 * * 0 ------------------------------------------------------------
>># exachk -autostart . . Applying execution time window of (+/-) 5 hours Applying execution time window of (+/-) 5 hours Successfully copied Daemon Store to Remote Nodes . . . exachk is using TFA Scheduler. TFA PID: 3964931 # exachk -get all ------------------------------------------------------------ ID: exachk.autostart_client_exatier1 ------------------------------------------------------------ AUTORUN_FLAGS = -usediscovery -profile exatier1 -dball -showpass -tag autostart_client_exatier1 -readenvconfig COLLECTION_RETENTION = 7 AUTORUN_SCHEDULE = 42 23 * * 1,2,3,4,5,6 ------------------------------------------------------------ ------------------------------------------------------------ ID: exachk.autostart_client ------------------------------------------------------------ AUTORUN_FLAGS = -usediscovery -tag autostart_client -readenvconfig COLLECTION_RETENTION = 14 AUTORUN_SCHEDULE = 31 0 * * 0 ------------------------------------------------------------
- Using the
-autorun_window
option when callingexachk -autostart
# orachk -autostart -autorun_window 4 . . Applying execution time window of (+/-) 4 hours Applying execution time window of (+/-) 4 hours Successfully copied Daemon Store to Remote Nodes . . . orachk is using TFA Scheduler. TFA PID: 3964931 # orachk -get all ------------------------------------------------------------ ID: orachk.autostart_client_oratier1 ------------------------------------------------------------ AUTORUN_FLAGS = -usediscovery -profile oratier1 -dball -showpass -tag autostart_client_oratier1 -readenvconfig COLLECTION_RETENTION = 7 AUTORUN_SCHEDULE = 45 5 * * 1,2,3,4,5,6 ------------------------------------------------------------ ------------------------------------------------------------ ID: orachk.autostart_client ------------------------------------------------------------ AUTORUN_FLAGS = -usediscovery -tag autostart_client -readenvconfig COLLECTION_RETENTION = 14 AUTORUN_SCHEDULE = 24 6 * * 0 ------------------------------------------------------------
# exachk -autostart -autorun_window 4 . . Applying execution time window of (+/-) 4 hours Applying execution time window of (+/-) 4 hours Successfully copied Daemon Store to Remote Nodes . . . exachk is using TFA Scheduler. TFA PID: 3964931 # exachk -get all ------------------------------------------------------------ ID: exachk.autostart_client_exatier1 ------------------------------------------------------------ AUTORUN_FLAGS = -usediscovery -profile exatier1 -dball -showpass -tag autostart_client_exatier1 -readenvconfig COLLECTION_RETENTION = 7 AUTORUN_SCHEDULE = 45 5 * * 1,2,3,4,5,6 ------------------------------------------------------------ ------------------------------------------------------------ ID: exachk.autostart_client ------------------------------------------------------------ AUTORUN_FLAGS = -usediscovery -tag autostart_client -readenvconfig COLLECTION_RETENTION = 14 AUTORUN_SCHEDULE = 24 6 * * 0 ------------------------------------------------------------
Note:
Passing a value of 0 to the autorun window option, will disable the window even if the environment variable is set in the environment or in theexachk
.env
file.
Parent topic: Running Compliance Checks Automatically
3.1.2.3 Querying the Status and Next Planned Daemon Run
Query the status and next automatic run schedule of the running daemon.
To query the status and next planned daemon run:
Parent topic: Running Compliance Checks Automatically
3.1.2.4 Configuring the Daemon for Automatic Start
Installing Oracle Autonomous Health Framework as root
on Linux or Solaris automatically sets up and runs the Oracle Orachk or Oracle Exachk daemon.
To configure the daemon to stop or start automatically:
Run these commands as root
.
Related Topics
Parent topic: Running Compliance Checks Automatically
3.1.2.5 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.
Configure the daemons to auto restart as root
.
To configure the daemon to restart automatically:
Parent topic: Running Compliance Checks Automatically