Performing Health Checks on Domain and Database Status
Periodically, you may want to confirm the state of a specific Admin Process (AP) or database, or a specific Storage Manager (SM) process or Transaction Engine (TE) process.
Invocations of the nuocmd check
commands documented here exit with exit code 0 if the nuocmd check condition is successful and generate no output.
The commands will exit with exit code 1 if the check condition is unsuccessful and generate an error message describing what failed.
To display the nuocmd check
command return value, after running the command, type echo $?
at the Linux prompt.
The following commands provide information on the number of processes and their status:
nuocmd check database --db-name <database name>
-
Subcommand Description --check-liveness n
Checks that all processes have responded within the specified number (
n
) of seconds.--check-running
Checks whether the database is in the
RUNNING
state.--num-processes n
Checks the number of processes.
nuocmd check servers
-
Subcommand Description --check-active
Check that all servers are
ACTIVE
.--check-connected
Check that all servers are
CONNECTED
to the server performing the check.--check-leader
Check that all servers agree on a leader.
--num-servers n
Check that the admin server membership equals n number of admin servers.
nuocmd check process --start-id <start_id>
-
Subcommand Description --check-running
Check that the database process is in the
RUNNING
state.--check-exited
Check that the database process has exited.
--check-liveness n
Check that the database processes has responded within n number of seconds.
For each nuocmd check
command, you may add a --timeout
or a --wait-forever
option.
If neither is provided, the check is run once and the command returns.
Use --timeout TIMEOUT
to specify how long (in seconds) to wait for the database check to pass.
Use --wait-forever
to specify no limit to how long to wait for the database check to pass.
For more information on nuocmd and other command line tools, see Command Line Tools.
|
Examples
- Example 1: Using the
--check-running
subcommand without timing out -
To check whether a database named
test
is running, and wait until it is running, specify the following:nuocmd check database --db-name test --check-running --wait-forever
- Example 2: Using the
--check-running
subcommand with thetimeout
option -
To check, for a period of 10 seconds before timing out, whether a database named
test
is running, specify the following:nuocmd check database --db-name test --check-running --timeout 10
- Example 3: Using the
--num-processes
subcommand with thetimeout
option -
To check for a period of 10 seconds before timing out, whether a database named
test
has four processes ( say two TE processes and two SM processes), specify the following:nuocmd check database --db-name test --num-processes 4 --timeout 10
- Example 4: Using the
--check-running
subcommand without timing out -
To check whether a database process with a specific start ID is running, and wait until it is running, specify the following:
nuocmd check process --start-id 1 --check-running --wait-forever
- Example 5: Using the
--check-exited
subcommand without timing out -
A
shutdown process
command was issued onstart ID 1
. To check whether the database process withstart ID 1
has exited, and wait until it has, specify the following:nuocmd check process --start-id 1 --check-exited --wait-forever
- Example 6: Using the
nuocmd check
command in a Bash if statement -
Check if database
test
is running and has three database processes.if nuocmd check database --db-name test --check-running --num-processes 3; then echo "Database test is RUNNING with 3 processes" fi