The main idea of dynamic system configuration is to use parameterized settings instead of static values for system-dependent configuration. Thus, if the system environment is changed or new hardware is added, the overall configuration is changed dynamically without the need to adapt the configuration in the database manually.
Parameterized settings contain parameters specified in the instance profile provided within the Configuration Manager. These parameters are transparently substituted during runtime.
The structure of a parameter is ${<Instance profile parameter>}.
For example: Message Server host: ${MSGSRV_HOST}
Computed settings are used in case a simple parameter substitution is not sufficient and the value needs to be calculated out of specific system parameters (such as heap size, cache size).
Computed settings are arithmetic expressions containing system parameters from the instance profile. The parameters are transparently substituted and the arithmetic expression is evaluated during runtime.
An arithmetic expression consists of parameters, constants, simple operators and brackets. Operators supported are “+”, ”-“, ”*”,” /”; “min”, “max” , “round” and “truncate” function;
Format: expr = expr1 min expr2 [corresponds to expr = min(expr1, expr2)].
round(${AMOUNT_MEMORY}/3)
For example: Number of Server Nodes per Instance: 2*${CPU_COUNT}
Value links contain links to other settings in case a setting is dependent on another setting stored somewhere else in the Configuration Manager. A value link is transparently resolved and substituted during runtime.
The structure of a value link is $link{<config_path>#<property_key>}
Value links are intended for internal use only.
The Zero Administration instance profile is a defined set of system-dependent configuration parameters provided by the Configuration Manager. They include:
● SAP system parameters
● Java instance parameters
● Hardware and OS parameters
● Node-specific parameters
The instance profile parameters can be referenced by using parameterized settings.
Instance Profile
The following table lists the current instance profile parameter set provided by the Configuration Manager.
Parameter |
Description |
Comment |
SAP system parameters |
||
${SYSTEM_NAME} |
The three-character name of the system (for example, D70). |
The value of this parameter is configured in the instance profile. |
${SYS_GLOBAL_DIR} |
The path to the system global share (for example, \\centralhost\sapmnt\D70\SYS\global). |
The value of this parameter is configured in the instance profile. |
${SYS_DATASOURCE_NAME} |
The name of the system data source (for example, SAPN69DB). |
The value of this parameter is configured in the instance profile. |
${MSGSRV_HOST} |
Host where the message server is located. |
The value of this parameter is configured in the instance profile. |
${MSGSRV_PORT} |
Port of the message server. |
The value of this parameter is configured in the instance profile. |
${ENQSRV_HOST} |
Host where the enqueue server is located. |
The value of this parameter is configured in the instance profile. |
${ENQSRV_PORT} |
Port of the enqeue server. |
The value of this parameter is configured in the instance profile. |
${START_TIME} |
Start time of the instance as a long value. |
Start time of the Configuration Manager as returned by System.currentTimeMillis() method. The parameter cannot be configured. |
Java instance parameters |
||
${INSTANCE_ID} |
The ID of the current instance. |
The value of this parameter is configured in the instance profile. |
${INSTANCE_NAME}
|
The name of the current instance (for example, 'JC20' or 'J20' ). |
The value of this parameter is configured in the instance profile. |
${INSTANCE_NUMBER}
|
The number of the current instance (for example, for instance 'JC20' the number is '20'). |
The value of this parameter is configured in the instance profile. |
${INSTANCE_HOST} |
The host name of the host on which the instance is running. |
The value of this parameter is configured in the instance profile. |
${INSTANCE_DIR} |
Path to the instance folder (for example, c:\usr\sap\D70\JC20). |
The value of this parameter is configured in the instance profile. |
${FULL_INSTANCE_NAME} |
The full instance name of the current instance (for example, D70_JC20_pcj2ee01, where D70 is system name; JC20 is instance name and pcj2ee01 is instance host). |
The value of this parameter is configured in the instance profile. |
${SYSTEM_INFO}
|
The path to the System Info configuration (for example, cluster_config/system/instances/current_instance/cfg/SystemInfo) |
Allows sharing of parameters among different components so that the exact configuration path to specific parameter is not needed. The settings exposed by System Info cannot be edited or added manually. |
${JAVA_HOME} |
The path to the bin folder of the Java installation. |
The value of this parameter is obtained from the currently configured JVM. The JVM in use is configured in the instance profile. |
${DB_DRIVER_LOCATION}
|
The driver location string specifying the driver location needed for the DB connection. |
The value of this parameter is configured in the instance profile. |
${VM_VENDOR} |
The name of the JVM vendor (for example, SAP). |
The value of this parameter is obtained from the currently configured JVM. The JVM in use is configured in the instance profile. |
${EXE_DIR} |
Directory where native executables are located. |
The value of this parameter is configured in the instance profile. |
Hardware and OS parameters |
||
${CPU_COUNT} |
The number of CPUs available on the host which should be used by the instance. |
The value of this parameter is obtained from the system hardware and cannot be configured. |
${AMOUNT_MEMORY} |
The amount of physical memory on the host which should be used by the instance. |
The value of this parameter is obtained from the system hardware and cannot be configured. |
${OS_NAME} |
The SAP name of the OS. |
The value of this parameter is obtained from the system hardware and cannot be configured. |
${OS_BITLENGTH} |
The bit length (for example, 32, 64) of the platform. |
The value of this parameter is obtained from the system hardware and cannot be configured. |
${OS_UNICODE} |
Specifies if the platform is Unicode enabled or not (uc, nuc). |
The value of this parameter is obtained from the system hardware and cannot be configured. |
Node-specific parameters |
||
${NODE_INDEX} |
Instance unique ID identifying a server process in an instance. |
The value of this parameter is generated for each server process in the instance and cannot be configured. |