4.3 Server termination command setup
HA Monitor Kit provides a sample file of the server termination command. Copy the sample file and set it up as explained in this chapter, and customize it as needed. For the storage location and copying destination of the sample file, see 3.2.7(1) Setting up the server start, termination, and monitoring commands.
The server termination command sample file executes the term_proc() shell function that describes the termination process to terminate Oracle listeners and Oracle instances.
The following figure shows the content of the server termination command sample file.
Figure 4-2 Content of the server termination command sample file
![[Figure]](figure/zu040200.gif)
![[Figure]](figure/zu040300.gif)
Numbers 1 through 5 in the figure are explained below.
- This is the environment variable for setting up the operating environment necessary for terminating programs.
For details about the content to be set up here, see (1) Environment variables.
- This is the Oracle instance termination process.
The process for executing the haorainsend command to terminated the Oracle instance specified by the instance identifier is described here. For details about the content to be set up here, see (2) Setup method.
For details about the haorainsend command, see haorainsend (Terminates an Oracle instance) in 4.5 Commands used for setting up the server start, termination, and monitoring commands.
- This is the Oracle listener termination process.
The process for executing the haoralsnrend command to terminate the Oracle listener specified by the listener name is described here. For details about the content to be set up here, see (2) Setup method.
For details about the haoralsnrend command, see haoralsnrend (Terminates an Oracle listener) in 4.5 Commands used for setting up the server start, termination, and monitoring commands.
- This is the process executed by the term_proc() shell function.
To add a user's own process, place it inside this term_proc() shell function. For details about the content to be set up here, see (3) Server termination command customization.
- This is the return value of the server termination command.
- Organization of this section
- (1) Environment variables
- (2) Setup method
- (3) Server termination command customization
(1) Environment variables
This subsection explains the environment variables indicated by 1 in Figure 4-2 Content of the server termination command sample file.
- LOGNAME
Specifies a server log file name. Specify a unique file name for each server.
We recommend that you match the server log file name to the server's server alias name. In the provided sample file, orasrv is assumed as the server alias name.
For the server log output destination, see 5.4 Checking the server logs.
- LOGSIZE
Specify an integer for the server log file size (in bytes). The default is 1048576. Under normal conditions, use this default file size. Increase the size only if the volume of output is large and may cause the log to run out of space. For details about how to calculate the server log file size, see 5.4(2) File size.
For servers in which you specified the same value for the LOGNAME environment variable, specify the same value for the LOGSIZE environment variable of the server start, termination, and monitoring commands.
(2) Setup method
This subsection explains how to set up the termination processes 2 and 3 in Figure 4-2 Content of the server termination command sample file.
- Setting up Oracle instance termination process (2 in the figure)
- The provided sample file uses a setting that terminates a single Oracle instance (instance identifier: orcl1) that is associated with a server. If there is no Oracle instance that is associated with a server, comment out the code indicated by 2 in the figure, or delete it. To terminate multiple Oracle instances on a single server, duplicate the code indicated by 2 in the figure.
- In the provided sample file, orcl1 is assumed as the instance identifier. Change the underlined argument orcl1 to the instance identifier of the Oracle instance you want to terminate.
- Setting up Oracle listener termination process (3 in the figure)
- The provided sample file uses a setting that terminates a single Oracle listener (listener name: LISTENER) that is associated with a server. If there is no Oracle listener that is associated with a server, comment out the code indicated by 3 in the figure, or delete it. To terminate multiple Oracle listeners on a single server, duplicate the code indicated by 3 in the figure.
- In the provided sample file, LISTENER is assumed as the listener name. Change the underlined argument LISTENER to the listener name of the Oracle listener you want to terminate.
To change the order for terminating Oracle instances and Oracle listeners, change the termination order in the file.
(3) Server termination command customization
You can add non-Oracle application processes necessary for a job, and user-specific processes, to the server termination command. When customizing the command, note the following:
- Before adding a process, see the description under Creating a server termination command in the manual HA Monitor (for Linux(R)).
- Add the process in the term_proc() shell function inside the server termination command. Do not edit any items other than the term_proc() shell function and the shell variables.
The process described here must be executed with superuser permissions. If you have changed your permissions, change them back to superuser permissions.
- Do not use the exit command inside the term_proc() shell function. To terminate the process, use the return command.
- The return code of the term_proc() shell function becomes the return code of the server termination command.
- You can check the argument that HA Monitor transfers to the server termination command by referencing the first argument ($1) of the term_proc() shell function.
- For the output destination for the messages issued by the term_proc() shell function, see 5.4 Checking the server logs.
- Specify absolute paths for the commands and files to be input/output inside the term_proc() shell function. (That is, commands other than the ones provided by HA Monitor Kit.)
- Do not modify the names of the following shell variables:
- Before adding a shell variable, search through the command to make sure it is not already being used.