Control-M Pre-installation Procedures
Before you install Control-M, you must complete the following procedures:
-
Configuring a User Account on UNIX: Describes how to configure specific parameters for Control-M.
-
Setting Environment Variables in UNIX: Describes how to set environment variables in UNIX, which enables you to view messages from the console.
-
PostgreSQL UNIX Kernel Parameters: Describes how to modify Linux system parameters, which enables you to allocate resources for Control-M components.
-
Setting the Java Environment Variable: Describes how to set the Java environment variable, which points to an external Java installation.
-
Verifying Operating System Levels and Patches: Describes how to verify operating system level and patches with Control-M requirements.
If you are installing an Agent, note the following:
-
Control-M/Agent can be installed only in the home directory of the account, its sub-directories, or any directory located in the NFS.
-
The home directory can be a symbolic link to another location if the location is on the local disk.
-
The home directory permissions must allow read and execute permissions for all users, and grant full permissions to the account owner (755 as a minimum).
-
If you plan to use non-root mode on this Agent, BMC Software recommends that the Agent owner be the only user in its primary group. This is because in non-root mode, some of the files created by the Agent are accessed using group permissions and are therefore writable by any user in the Agent primary group.
Configuring a User Account on UNIX
This procedure describes how to configure specific parameters for Control-M. The account cannot contain any data, must be solely dedicated to Control-M, and the name must not exceed 8 characters.
The Control-M/EM, Control-M/Server, and Control-M/Agent owner can be a local user, an LDAP user, or an NIS user. The Control-M/EM, Control-M/Server, and Control-M/Agent account home directory can be located on a local disk or NFS.
If you are using /bin/csh as the startup shell for the Control-M user, ensure that tcsh shell is also installed on this machine, since it is used internally by the application.
Begin
-
Do one of the following:
-
Run the following command to create a user account:
/usr/sbin/useradd -u <numeric_user_id> -g <user_group> -d <user_home>
-
Create a group, as follows:
-
Linux/Solaris: /usr/sbin/groupadd <user_group>
-
AIX: /usr/bin/mkgroup <user_group>
The <user_shell> account must be defined as one of the following names or programs:
-
/bin/csh
-
/bin/tcsh
-
(Control-M/Agent and Control-M/EM Only) /bin/sh
-
(Control-M/Agent and Control-M/EM Only) /bin/ksh
-
(Control-M/Agent Only) /bin/bash
-
In a clustered environment, you must create two accounts, one for each host. Both accounts must have identical names and IDs and both home directories must point to the same location on the shared disk.
-
-
Configure the predefined limits that are designed to limit or prevent the excessive use of resources by a single process, as described in Control-M Pre-installation Procedures.
-
Verify that the HOST environment variable is defined on all shells by running the env command.
If the HOST environment variable not defined, contact your IT system administrator.
-
Verify that the HOME directory is configured with 755 permissions by running Is Id on the Agent account.
ls -ld /home/ctmag
drwxr-xr-x 25 ctmag users 4096 Dec 2 13:47 /home/ctmag
If the permissions are not set to 755, you can use the chmod command to set it.
chmod 755 /home/ctmag
Control-M Limits on UNIX Accounts
The following table describes Control-M limits on UNIX accounts. If you install Control-M components in separate accounts, each account must have the minimum limit settings. The computer kernel soft or hard setting must reflect the sum total that is required by each account.
The limit parameters are listed in the context of CSH/TCSH. If you are using a different shell type, refer to your designated shell help documentation for the equivalent limit values for your shell type.
Parameter |
Description |
---|---|
datasize |
Determines the maximum size of the data segment of a process. BMC recommends setting this value to unlimited. |
stacksize |
Determines the maximum size of the stack segment of a process. BMC recommends 8 MB on all UNIX computers. |
coredumpsize |
Determines the maximum size that a core dump can reach. BMC recommends setting this value to datasize to generate a complete core dump if a failure occurs. |
descriptors |
Determines the maximum number of descriptors in use by a single process. BMC requires the value of 4,096. Do not set the parameter value to unlimited. |
memoryuse |
Determines the maximum amount of memory to be used by a single process. BMC recommends setting this value to unlimited. |
maxproc |
Determines the maximum number of user processes. Default: 4,096 |
Setting Environment Variables in UNIX
This procedure describes how to set environment variables in UNIX, which enables you to see messages from the console.
If you want to enable IPV6 before the installation, set the CTM_IPV_MODE variable to DUAL. If Control-M/Server or Control-M/Agent are installed on AIX, verify that the fix for APAR IV23320 is installed.
Begin
-
Do one of the following:
-
If you use csh or tcsh, use the following syntax:
setenv <envVar> <value>
If you want to make these changes permanent, add this command to the .cshrc file in the $HOME directory.
setenv DISPLAY myhost:0.0
-
If you use sh or ksh, use the following syntax:
<envVar>=<value>
export <envVar>
If you want to make these changes permanent, add this command to the .profile file in the $HOME directory.
DISPLAY=myhost:0.0
export DISPLAY
<envVar> is the name of the environment variable.
<value> is the value assigned to the environment variable.
-
Before you can install Control-M, several UNIX system (kernel) parameters must be changed to allocate resources for Control-M components, as follows:
PostgreSQL UNIX Kernel Parameters
These parameters are only relevant with a dedicated PostgreSQL database.
Linux Kernel System Parameters
The following table describes Linux kernel parameters with one instance of PostgreSQL. If you are using additional instances of PostgreSQL, you must multiply the values by the number of instances.
Parameter |
Description |
Value |
---|---|---|
semmsl |
Determines the maximum number of semaphores per semaphore set. |
|
semmns |
Determines the total number of semaphores. |
|
semopm |
Determines the maximum number of semaphore operations per semop(2) system calls. |
100 |
semmni |
Checks the maximum number of semaphore sets for the entire Linux system. |
|
kernel.shmall |
Determines the total size of shared memory pages. |
|
kernel.shmmax |
Determines the size of shared memory. |
|
kernel.shmmni |
Determines the total size of shared memory segments. |
|
PostgreSQL Hardware and Software Limits
The following table describes system hardware and software limits on UNIX platforms with PostgreSQL.
Limit |
Table Header |
---|---|
Maximum File Descriptors |
|
Maximum File Size |
unlimited |
Free Swap Size |
|
RAM Size |
|
Control-M Kernel Parameters
The following table lists additional kernel parameter values for Control-M/Server that must be added to the values in Linux, as described in PostgreSQL UNIX Kernel Parameters.
Parameter |
Additional Values |
---|---|
semmni |
Add 20 + the number of Agents and remote hosts that will be connected to Control-M/Server + the number of Agents with configuration definitions that differ from the default. |
semmns |
Add 20 + the number of Agents and remote hosts that will be connected to Control-M/Server + the number Agents with configuration definitions that differ from the default. |
The following table lists the kernel parameter values for Control-M that must be added to the values in Linux, as described in PostgreSQL UNIX Kernel Parameters. If higher values for these parameters have already been specified for the database server, the higher values must remain.
Parameter |
Value |
---|---|
semmnu |
(NPROC - 4) |
Ulimit |
|
Verifying Operating System Levels and Patches
This procedure describes how to verify the operating system level and patches with Control-M requirements.
The check_req utility runs automatically in the background on every installation of Control-M full, Control-M/EM, Control-M/Server, and Control-M/Agent. The Health Check utility collects the logs after it runs.
The checkReqRun.sh file is located in the CheckReq directory.
Begin
-
Log in as a Control-M full installation, Control-M/EM, or Control-M/Server user.
-
Type the following command:
checkReqRun.sh -product=<PRODUCT_NAME> -memory_model=<MEMORY_MODEL> -database=<DATABASE>
where:
<PRODUCT_NAME> is CTMS, EM, ONE, AGENT, or ARCHIVE.
<MEMORY_MODEL> is SMALL, MEDIUM, LARGE, or NONE.
<DATABASE> is ORACLE or PostgreSQL.
-
Complete the instructions as necessary.
If the operating system and patches meet Control-M requirements, you are advised that the product can be installed. Otherwise, a list of missing requirements appears.
If the script alerts you to a missing patch or library (such as libnsl), check with your system administrator or database administrator to see if the patch or library is included in one of the bundled packages that are installed on your computer or database.