If you want to make your system a high availability solution, you need the enqueue replication server as well as the standalone enqueue server.
You have installed the (A)SCS instance as described in Installing the Standalone Enqueue Server.
You have configured the replication with the parameter enque/server/replication = true.
More information: Profile Parameters for the Standalone Enqueue Server
For the enqueue clients in the default profile you must have set the parameter enque/deque_wait_answer = TRUE.
More information: Profile Parameters for the Enqueue Clients
Note
Note that you have to start the (A)SCS to activate the changes.
Caution
The following description applies to UNIX platforms only. You can find information about installing the enqueue replication server under Windows in the section, High Availability with Microsoft Cluster Service.
The description refers to two physical hosts (host1 and host2), which share the virtual host name hahost. The SID (SAP system ID) of the system is called PLLPLL in the graphic.
High Availability with the Replication Server
Under administration user plladm perform the following steps on the two physical hosts host1 and host2.
Executable Directory refers to the following directory:
The directory determined by DIR_CT_RUN for the systems with DIR_CT_RUN in the (A)SCS instance profile. The DIR_CT_RUN for the ERS instance profile to be created should then be the same as for the (A)SCS instance.
The directory determined by DIR_EXECUTABLE for the system without DIR_CT_RUN in the (A)SCS instance profile. The DIR_CT_RUN for the ERS instance profile to be created should then be the DIR_EXECUTABLE of the (A)SCS instance.
Create the following directory structure:
Syntax
/usr/sap/PLL/ERS<inst.no> +--- exe | +--- servicehttp | +--- sapmc +--- log +--- data +--- work
with the following names:
ERS: Prefix for the Enqueue Replication Server
PLL: System ID of the SAP system to which the new instance belongs (see above)
<inst.no>: Instance number of the new instance (here 11)
Note
With some hardware cluster solutions the central SAP file system (/sapmnt/<SID>) is not available on all cluster nodes. In this case you have to also put the profile directory into the local ERS instance directory tree: /usr/sap/PLL/ERS<inst.no.>/profile
By creating the file in the local file system, you are not independent of the availability of the /sapmnt file system.
Copy the following files from the executable directory into directory /usr/sap/PLL/ERS<inst.no.>/exe:
enqt enrepserver ensmon libicudata.so.30 libicui18n.so.30 libicuuc.so.30 libsapu16_mt.so librfcum.so sapcpe sapstart sapstartsrv sapcontrol |
Copy the following files from the executable directory into directory /usr/sap/PLL/ERS<inst.no.>/exe/servicehttp/sapmc:
sapmc.jar sapmc.html frog.jar soapclient.jar |
Note
The files can have different extensions on different UNIX platforms. Depending on the platform and whether unicode is used, there may not be as many files.
Caution
Make sure that authorizations (read and execute) for user plladm are set correctly.
Create an sapcpe list file with the name ers.lst in directory /usr/sap/<SID>/ERS<inst.no.>/exe. This file has the following content:
enrepserver ensmon enqt libsapu16_mt.so libsapu16.so libicuuc.so.30 libicudata.so.30 libicui18n.so.30 librfcum.so sapcpe sapstartsrv sapstart sapcontrol servicehttp ers.lst |
Create a new start profile in the profile directory.
Your (A)SCS instance could also have the following parameters:
SCS SAPSID = PLL
SCS INST.NO. = 01
SCS HOST = hahost (virtual host name)
The corresponding replication instance might look like this:
ERS SAPSID = PLL
ERS INST.NO. = 11
ERS HOST = host1
The corresponding start profile START_ERS11_host1 will look like:
SAPSYSTEM = 11 SAPSYSTEMNAME = PLL INSTANCE_NAME = ERS11 #-------------------------------------------------------------------- # Special settings for this manually set up instance #-------------------------------------------------------------------- SCSID = 01 DIR_EXECUTABLE = $(DIR_INSTANCE)/exe DIR_CT_RUN = /usr/sap/PLL/SYS/exe/run SETENV_00 = PATH=$(DIR_INSTANCE)/exe:%(PATH) SETENV_01 = LD_LIBRARY_PATH=$(DIR_EXECUTABLE) _PF = $(DIR_PROFILE)/PLL_ERS11_host1 #----------------------------------------------------------------------- # Copy SAP Executables #----------------------------------------------------------------------- _CPARG0 = list:$(DIR_EXECUTABLE)/ers.lst Execute_00 = immediate $(DIR_EXECUTABLE)/sapcpe$(FT_EXE) $(_CPARG0) pf=$(_PF) #-------------------------------------------------------------------- # start enqueue replication server #-------------------------------------------------------------------- _ER = er.sap$(SAPSYSTEMNAME)_$(INSTANCE_NAME) Execute_01 = immediate rm -f $(_ER) Execute_02 = local ln -s -f $(DIR_EXECUTABLE)/enrepserver $(_ER) Restart_Program_00 = local $(_ER) pf=$(_PF) NR=$(SCSID) |
Caution
If high availability software is implemented, this monitors the replication server and restarts it if necessary. To ensure the replication server is not restarted by the SAP start service sapstartsrv, replace command Restart_Program_xx in the profile with command Start_Program_xx.
In this example the last section would then look like:
#-------------------------------------------------------------------- # start enqueue replication server #-------------------------------------------------------------------- _ER = er.sap$(SAPSYSTEMNAME)_$(INSTANCE_NAME) Execute_01 = immediate rm -f $(_ER) Execute_02 = local ln -s -f $(DIR_EXECUTABLE)/enrepserver $(_ER) Start_Program_00 = local $(_ER) pf=$(_PF) NR=$(SCSID) |
Note
If you are using a local profile directory (see above) insert the following profile parameter into the start profile of the ERS instance:
DIR_PROFILE = $(DIR_INSTANCE)/profile
Create an instance profile in the profile directory.
Parameters for the (A)SCS instance (example):
SCS SAPSID = PLL
SCS INST.NO. = 01
SCS HOST = hahost (virtual host name)
Parameters for the replication instance (example):
ERS SAPSID = PLL
ERS INST.NO. = 11
ERS HOST = host1
Associated instance profile PLL_ERS11_host1:
SAPSYSTEM = 11 SAPSYSTEMNAME = PLL INSTANCE_NAME = ERS11 #-------------------------------------------------------------------- # Special settings for this manually set up instance #-------------------------------------------------------------------- DIR_EXECUTABLE = $(DIR_INSTANCE)/exe DIR_CT_RUN = /usr/sap/PLL/SYS/exe/runU #-------------------------------------------------------------------- # Settings for enqueue monitoring tools (enqt, ensmon) #-------------------------------------------------------------------- enque/process_location = REMOTESA rdisp/enqname = $(rdisp/myname) #-------------------------------------------------------------------- # standalone enqueue details from (A)SCS instance #-------------------------------------------------------------------- SCSID = 01 SCSHOST = hahost enque/serverinst = $(SCSID) enque/serverhost = $(SCSHOST) |
Note
If you are using a local profile directory (see above) insert the following profile parameter into the instance profile of the ERS instance:
DIR_PROFILE = $(DIR_INSTANCE)/profile
Configure the control mechanism for the replication server. Here you have the following options:
Self-control with HA PollingPolling
Here the replication server uses the HA software to periodically request information about the physical host on which the (A)SCS instance is running. Depending on this information the ERS instance is activated or deactivated. To do this you need a tool (a script or a library from your HA hardware partner.)
Example
If you use an enqtest.sh script in directory DIR_EXECUTABLE you must insert the following lines in the instance profile.
#-------------------------------------------------------------------- # HA polling #-------------------------------------------------------------------- enque/enrep/hafunc_implementation = script enque/enrep/poll_interval = 10000 enque/enrep/hafunc_init = enque/enrep/hafunc_check = $(DIR_EXECUTABLE)/enqtest.sh |
HA Software Control
With this solution the HA software will stop the ERS instance, if necessary. Ask your HA partner if this procedure is supported.
(Optional). To start the ERS instance automatically when the system is rebooted, insert the following line in file /usr/sap/sapservices:
LD_LIBRARY_PATH=/usr/sap/PLL/ERS11/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/PLL/ERS11/exe/sapstartsrv pf=/usr/sap/PLL/ERS11/profile/START_ERS11_ls3247 -D -u plladm
Caution
This only works if:
NetWeaver AS version 7.00has already been installed on this host
(Under UNIX) you have already performed the steps described in SAP Note 823941 (Configuring SAP Start Services as UNIX Deamons).
Repeat these steps for all the physical hosts in the HA failover cluster. If you want to make another (A)SCS instance more fail-safe, you have to set up a separate set of ERS instances.