Академический Документы
Профессиональный Документы
Культура Документы
Page 1 of 21
Sun Microsystems GmbH
Table of Contents
1 - Conceptual overview...........................................................................................................................................................3
2 - About this paper..................................................................................................................................................................4
3 - Description of the target setup.............................................................................................................................................5
3.1 - Cluster configuration...................................................................................................................................................5
3.2 - Oracle database..........................................................................................................................................................5
3.3 - SAP System Central Services (SCS)................................................................................................................................6
3.4 - SAP Replicated Enqueue Server....................................................................................................................................6
3.5 - SAP Central Instance....................................................................................................................................................6
4 - Performing the installation..................................................................................................................................................8
4.1 - Solaris and Sun Cluster installation..............................................................................................................................8
4.2 - Basic Cluster configuration...........................................................................................................................................8
4.3 - Cluster data services configuration (part I)....................................................................................................................8
4.4 - SAP/Oracle Installation..............................................................................................................................................10
4.5 - Prepare SAP/Oracle switchover...................................................................................................................................11
4.6 - Test SAP/Oracle switchover........................................................................................................................................12
4.7 - Enable enqueue replication........................................................................................................................................12
4.8 - Test the enqueue replication......................................................................................................................................13
4.9 - Cluster data services configuration (part II).................................................................................................................14
4.10 - Enable and test the cluster.......................................................................................................................................16
5 - Appendix...........................................................................................................................................................................17
5.1 - Default profile...........................................................................................................................................................17
5.2 - ERS11 start profile......................................................................................................................................................17
5.3 - ERS11 instance profile................................................................................................................................................17
5.4 - SCS01 start profile......................................................................................................................................................18
5.5 - SCS01 instance profile................................................................................................................................................19
5.6 - JC00 start profile........................................................................................................................................................19
5.7 - JC00 instance profile...................................................................................................................................................20
5.8 - Script startsap_cluster.sh...........................................................................................................................................20
5.9 - Script stopsap_cluster.sh...........................................................................................................................................21
Page 2 of 21
Sun Microsystems GmbH
1 - Conceptual overview
The Enqueue Server is a critical single point of failure in SAP architectures. And furthermore - as the Enqueue
Server holds its data in memory - a failure would mean to loose the central SAP enqueue table. As a consequence,
all ongoing SAP transactions having an active lock would abort. And special only to the SAP JAVA-stack, all SAP
application instances will automatically restart as soon as the Enqueue Server is online again (and having a new
empty enqueue table with a new ID).
To overcome this drawback, SAP strongly recommends to use the standalone Enqueue Server (as part of the SAP
System Central Services) together with the Replication Enqueue Server especially in productive JAVA-stack
systems.
The Replication Enqueue Server runs on another host and contains a replica of the enqueue table (the replication
table). Enqueue Server and Replicated Enqueue Server are running in a synchronous replication mode. Thus if the
Enqueue Server fails and becomes online again, the enqueue table is not lost. Instead, the Enqueue Server can
recover the enqueue table from the replication table.
The SAP enqueue replication concept is based on an underlying HA software and can't work without that. Sun
Cluster supports this architecture out-of-the-box by providing best suitable product features:
• Provides a robust and reliable cluster framework.
• Provides data agents for the basic infrastructure (Storage, Network).
• Provides data agents for the SAP and database applications. In this context especially for the SAP SCS
(System Central Services: Message Server and Enqueue Server) and the Replicated Enqueue Server.
• Handles the particular needs of Enqueue Server and Replicated Enqueue Server in a failover environment
➢ If Enqueue Server fails, Sun Cluster will restart the Enqueue Server on the cluster node (=
physical server) that is currently hosting the Replicated Enqueue Server. This is mandatory,
because the restarted Enqueue Server will recover the enqueue table from the replication table
using a server-local access to the shared memory segment that holds the replicated table.
➢ After table recovery has finished, the Replicated Enqueue Server will be stopped. Sun Cluster will
restart the Replicated Enqueue Server on another cluster node (different than the node hosting
the Enqueue Server) – if another cluster node is available. Thus keeping up the enqueue
replication concept and maximal availability.
To learn more about the SAP enqueue replication and Sun Cluster, please refer to:
• Sun Cluster 3.2 documentation (http://docs.sun.com/app/docs/prod/sun.cluster32)
• Sun Cluster 3.2 Data Service for SAP Web Application Server Guide
(http://docs.sun.com/app/docs/doc/820-2568)
• SAP documentation (http://help.sap.com → SAP NetWeaver 7.0 Library → Look for the chapter
"Standalone Enqueue Server")
Page 3 of 21
Sun Microsystems GmbH
The HowTo is focused on all necessary implementation and configuration tasks that are specific for the “SAP
Enqueue replication” scenario. A “standard” installation of Solaris, Sun Cluster and SAP Portal is assumed and a
description of this process is out of scope.
Also it is not intended to describe all aspects of an “High End” SAP/Oracle/Cluster implementation. Many things in
this example installation are implemented as simple as possible (like filesystem layout, parameter tuning, ...) to
hold this paper small and to focus on “SAP enqueue replication” setup.
Page 4 of 21
Sun Microsystems GmbH
SAP CI
Logical Hostname
SAP NW WAS
Oracle DB Group
Logical Hostname
Oracle Listener
Oracle Database
Failover Filesystem ZFS (/oracle/PE2)
SAP Replicated Enqueue Group
Logical Hostname
SAP Replicated Enqueue Server
SAP SCS Group
Logical Hostname
NFS Share (/sapmnt/PE2, /usr/sap/trans)
SAP Message Server
SAP Enqueue Server
Global Filesystem UFS+SVM (/usr/sap/PE2, /sapmnt/PE2, /usr/sap/trans)
Page 5 of 21
Sun Microsystems GmbH
Note: Any necessary application shared data access (for example to “/sapmnt/PE2”) is done by using the global
filesystem(s) within the cluster. This is also to avoid any problems with “NFS cross-mounts” between cluster nodes
(that are generally not supported in a Sun Cluster configuration). The NFS server configured in this resourcegroup
is to provide all cluster-external NFS-clients – like additional SAP application instances – with access to the shared
data.
Page 6 of 21
Sun Microsystems GmbH
Page 7 of 21
Sun Microsystems GmbH
Note: The documentation “Sun Cluster Quick Start Guide for Solaris OS” (http://docs.sun.com/app/docs/doc/820-
2556) provides a good example (cookbook) for setting up the cluster hardware, installing the Solaris and Sun
Cluster Software.
Note: Using Solaris Volume Manager (SVM), take care not to use the same metadevice name for the filesystem “/
globaldevices” on both nodes. The cluster will not work properly. Instead take different metadevice names (for
example d200 on sscsapx1 and d400 on sscsapx2).
Network configuration
# eeprom localmacaddress?=true (… to be executed on both cluster nodes)
Hostnames
Add all logical hostnames needed to the local /etc/hosts on sscsapx1 and sscsapx2
192.168.14.24 pe2oralh pe2oralh.abc.de # logical host for Oracle DB
192.168.14.23 pe2scslh pe2scslh.abc.de # logical host for SAP SCS01
192.168.14.25 pe2erslh pe2erslh.abc.de # logical host for SAP ERS11
192.168.14.22 pe2cilh pe2cilh.abc.de # logical host for SAP JC00
Oracle database
a) Create failover filesystem (zpool and zfs filesystem)
# zpool create pe2ora_stor /dev/dsk/c4t600015D00022B30000000000000072D1d0
# zfs create pe2ora_stor/oraclePE2
# zfs set mountpoint=/oracle/PE2 pe2ora_stor/oraclePE2
Test:
# zpool export pe2ora_stor (… on the currently hosting node)
# zpool import pe2ora_stor (… on the target node)
Page 8 of 21
Sun Microsystems GmbH
# clresourcegroup create n sscsapx1,sscsapx2 pe2ora
# clresource create t HAStoragePlus g pe2ora p zpools=pe2ora_stor p AffinityOn=true pe2ora_stor
# clreslogicalhostname create g pe2ora h pe2oralh N sc_ipmp0@sscsapx1,sc_ipmp0@sscsapx2 pe2ora_lh
Page 9 of 21
Sun Microsystems GmbH
# clreslogicalhostname create g pe2ers h pe2erslh N sc_ipmp0@sscsapx2,sc_ipmp0@sscsapx1 pe2ers_lh
As of today (January 2009, SAP NetWeaver 7.0 EHP 1, SPS02) there is no SAP tool like “sapinst” to install the
SAP Replicated Enqueue Server. Instead, it has to be done manually. You find the guide in the SAP
documentation (http://help.sap.com → SAP NetWeaver 7.0 Library → Look for the chapter "Setting Up the
Replication Server").
Here is a summary. It is simplified and adopted to the special needs of the cluster configuration:
• Directory structure
Create the instance-specific subdirectories in the global filesystem “/usr/sap/PE2”:
/usr/sap/PE2/ERS11/exe
/usr/sap/PE2/ERS11/log
/usr/sap/PE2/ERS11/data
/usr/sap/PE2/ERS11/work
• Instance profile
Create the instance profile “/sapmnt/PE2/profile/PE2_ERS11_pe2erslh”. You find the file for reuse in the
appendix (Chapter “ERS11 instance profile”). Please pay attention to comments given in the file. Some
changes have to be done (compared to the SAP documentation) because of Sun Cluster specifics.
• Start profile
You may want to create a start profile. This is optional, because Sun Cluster will start the server-process
directly (by executing the command: “/usr/sap/PE2/SYS/exe/run/enrepserver
pf=/sapmnt/PE2/profile/PE2_ERS11_pe2erslh”). In this way, no start profile is being used. If you want to
start the server-process manually, you can do it in the same way. Just if you want to use “startsap”
(“startsap r3 ERS11 pe2erslh”), you have to provide the start profile
“/sapmnt/PE2/profile/START_ERS11_pe2erslh”. You find the file for reuse in the appendix (Chapter
“ERS11 start profile”).
Disable “sapcpe”
Copying the SAP Kernel from “/sapmnt/PE2/exe” to the instance-specific directories
“/usr/sap/PE2/<instancename>/exe” does not make sense, because it's all on the global filesystem(s). Instead start
directly from /usr/sap/PE2/SYS/exe/run (that is a softlink to /sapmnt/PE2/exe).
• Set these parameters in all start profiles and instance profiles:
DIR_CT_RUN = /usr/sap/PE2/SYS/exe/run
DIR_EXECUTABLE = /usr/sap/PE2/SYS/exe/run
• Check and adjust environment of OS users pe2adm and orape2 to point to the correct directory
PATH=...:/usr/sap/PE2/SYS/exe/run:...
DIR_LIBRARY=.../usr/sap/PE2/SYS/exe/run:...
LD_LIBRARY_PATH=.../usr/sap/PE2/SYS/exe/run:...
• In the instance start profiles, disable all of the “sapcpe” calls like this one:
Execute_00 = immediate $(DIR_CT_RUN)/sapcpe$(FT_EXE) pf=$(_PF) $(_CPARG0)
Page 10 of 21
Sun Microsystems GmbH
• Delete the existing (already copied) files in the instance-specific directories /usr/sap/PE2/<instancename>/
exe.
Home directories
Relocate the home directories of the OS users pe2adm and orape2 onto global filesystems.
• Homedir of pe2adm: /usr/sap/PE2/pe2adm
• Homedir of orape2: /oracle/PE2/orape2
Solaris project
Check “/etc/project” for this entry:
PE2:200:SAP System PE2:orape2,pe2adm,root::process.maxsemnsems=(priv,2048,deny);project.maxsem
ids=(priv,1024,deny);project.maxshmids=(priv,256,deny);project.maxshm
memory=(priv,18446744073709551615,deny)
Services
Check file “/etc/services” for these entries:
sapdp00 3200/tcp # SAP System Dispatcher Port
sapdp01 3201/tcp # SAP System Dispatcher Port
sapdp11 3211/tcp # SAP System Dispatcher Port
sapgw00 3300/tcp # SAP System Gateway Port
sapgw01 3301/tcp # SAP System Gateway Port
sapgw11 3311/tcp # SAP System Gateway Port
sapdp00s 4700/tcp # SAP System Dispatcher Security Port
sapdp01s 4701/tcp # SAP System Dispatcher Security Port
sapdp11s 4711/tcp # SAP System Dispatcher Security Port
sapgw00s 4800/tcp # SAP System Gateway Security Port
sapgw01s 4801/tcp # SAP System Gateway Security Port
sapgw11s 4811/tcp # SAP System Gateway Security Port
Hosts
Check file “/etc/hosts” to contain all logical hosts and physical nodes.
Java J2SE
Install the most recent version of J2SE 1.4.2.x SDK on a global filesystem.
• Download self-extracting version von http://java.sun.com
• Install into directory /usr/sap/PE2/j2se
• Modify environment of user pe2adm: JAVA_HOME=/usr/sap/PE2/j2se
• Modify JC00 instance profile: jstartup/vm/home = /usr/sap/PE2/j2se
Note: For Solaris x64 you need to download a version from http://java.sun.com/j2se/1.4.2/SAPsite/download.html.
Page 11 of 21
Sun Microsystems GmbH
/usr/sap/PE2/j2se/jre/lib/security/local_policy.jar
/usr/sap/PE2/j2se/jre/lib/security/US_export_policy.jar
saposcol directory
Create a local working directory “/usr/sap/tmp” for saposcol on both nodes (owner: root, group: sapsys,
permissions: drwxrwxr-x).
Oracle client
Copy directory “/oracle/client” (from the Oracle-installation node) to the other nodes.
Oracle inventory
Relocate the Oracle inventory to shared storage. On the Oracle-installation node;
• Modify the entry in “/var/opt/oracle/oraInst.loc”: inventory_loc=/oracle/PE2/oraInventory
• Copy directory “/var/opt/oracle” to the other nodes
• Move directory “/oracle/oraInventory” to “/oracle/PE2/oraInventory”
To switch resourcegroups (containing storage and IP) between the cluster nodes:
# clrg switch n <targetnode> <resourcegroup>
with <target-node> = sscsapx1 or sscsapx2
with <resourcegroup> = pe2scs, pe2ers, pe2ora or pe2ci
This overview shows the enqueue (and enqueue replication) related parameterisation of this example installation.
All profiles (including all parameters) are listed in the appendix of this paper for reuse.
Page 12 of 21
Sun Microsystems GmbH
ipc/shm_psize_34 = 0
enque/server/replication = true
enque/serverinst = 01
enque/table_size = 4096
rdisp/enqname = $(rdisp/myname)
enque/snapshot_pck_ids = 100
For more infos, please refer to the SAP documentation (http://help.sap.com → SAP NetWeaver 7.0 Library →
Look for the chapter "Replication Server: Check Installation").
Execute the following SAP-related commands (ensmon, enqt, …) with OS user pe2adm.
Attention: Take care to execute the commands on the correct nodes as shown below. Some of the commands
are working on both sides (Enqueue and Replicated Enqueue), others not. It may be astonishingly to create the
enqueue table test-entries on the Replicated Enqueue Server side (and not on the Enqueue Server side). But this
is NOT a typo.
Replication is enabled in server, repl. server is connected
Replication is active
…
Page 13 of 21
Sun Microsystems GmbH
On sscsapx1 (the current node hosting SCS01, containing the Enqueue Server):
# enqt pf=/sapmnt/PE2/profile/PE2_SCS01_pe2scslh 20
On sscsapx2 (the current node hosting ERS11, containing the Replicated Enqueue Server):
# enqt pf=/sapmnt/PE2/profile/PE2_ERS11_pe2erslh 20
The output should be identical and contain 20 entries like this (and maybe some others):
000 ENQT ENQ_PERF X enqueue performance test 11111111000
6) Perform switchover
Stop the instance SC01 on node sscsapx1 and start it on node sscsapx2. See chapter “Test SAP/Oracle
switchover” on how to start, stop and switch the applications (in this installation phase, without having a complete
cluster integration).
Note. In the case, that the replication does not work correctly, you can use these files foe debugging:
• Look for the developer traces “dev_en*” in the directories “/usr/sap/PE2/SCS01/work” and
“/usr/sap/ERS11/SCS01/work”.
• Attention: If you have started the Replicated Enqueue Server directly (not using “startsap” and a start
profile), then you will find the trace files of the Replicated Enqueue Server in the home directory of user
pe2adm. Not yet, but in the final configuration, Sun Cluster will also start the Enqueue Server directly (not
using “startsap” and a start profile). Thus, you will find also these trace files in the home directory of user
pe2adm.
• If needed, increase the trace level. Set parameter “rdisp/TRACE = 3” in the instance profiles of SCS01 and
ERS11.
Oracle database
a) Create Oracle monitor-user and table
Start the oracle database.
Use OS user orape2 to connect to the db:
# sqlplus "/ as sysdba"
sql> create user haoracle identified by haoracle;
sql> alter user haoracle default tablespace system quota 1m on system;
sql> grant select on v_$sysstat to haoracle;
sql> grant select on v_$archive_dest to haoracle;
sql> grant create session to haoracle;
sql> grant create table to haoracle;
sql> exit;
Page 14 of 21
Sun Microsystems GmbH
p Connect_string=haoracle/haoracle \
p ORACLE_SID=PE2 \
p ORACLE_HOME=/oracle/PE2/102_64 \
p Alert_log_file=/oracle/PE2/saptrace/background/alert_PE2.log \
p Restart_type=RESOURCE_RESTART \
p resource_dependencies=pe2ora_stor \
pe2ora_db
Page 15 of 21
Sun Microsystems GmbH
Group affinities
Configure these resourcegroup affinities to reflect the special failover requirements of the SAP enqueue replication
concept.
# clresourcegroup set p RG_affinities=+pe2ers pe2scs
The weak positive affinity setting ensures that, in case of failover, the group pe2scs (SCS01, including Enqueue
Server) fails over to the node where the group pe2ers (ERS11, Replicated Enqueue Server) is running.
# clresourcegroup set p RG_affinities=pe2scs pe2ers
The strong negative affinity setting: The group pe2ers (ERS11, Replicated Enqueue Server) is never brought
online nor allowed to remain online on a node on which the group pe2scs (SCS01, including Enqueue Server) is
online.
Switchover
Test if every resourcegroup can be switched over to every node.
# clrg switch n <targetnode> <resourcegroup>
with <target-node> = sscsapx1 or sscsapx2
with <resourcegroup> = pe2scs, pe2ers, pe2ora or pe2ci
Check if the evacuation of the Replicated Enqueue Server is working, as specified in the section “Group affinities”
above.
Page 16 of 21
Sun Microsystems GmbH
5 - Appendix
5.1 - Default profile
File “/sapmnt/PE2/profile/DEFAULT.PFL”
SAPSYSTEMNAME = PE2
SAPGLOBALHOST = pe2scslh
#
# SAP Central Service Instance for J2EE
#
j2ee/scs/host = pe2scslh
j2ee/scs/system = 01
j2ee/ms/port = 3901
SAPDBHOST = pe2oralh
j2ee/dbtype = ora
j2ee/dbname = PE2
j2ee/dbhost = pe2oralh
DIR_PUT = /usr/sap/$(SAPSYSTEMNAME)/put
# Enable enqueue replication for all clients (= app instances)
enque/deque_wait_answer = TRUE
SAPSYSTEMNAME = PE2
# See comments in the ERS11 instance profile.
SAPSYSTEM = 01
INSTANCE_NAME = ERS11
# See comments in the ERS11 instance profile.
DIR_CT_RUN = /usr/sap/PE2/SYS/exe/run
DIR_EXECUTABLE = /usr/sap/PE2/SYS/exe/run
SETENV_00 = PATH=$(DIR_INSTANCE)/exe:%(PATH)
SETENV_01 = LD_LIBRARY_PATH=$(DIR_EXECUTABLE)
_PF = $(DIR_PROFILE)/PE2_ERS11_pe2erslh
#
# Disabled! See comments in the ERS11 instance profile.
#
# _CPARG0 = list:$(DIR_EXECUTABLE)/ers.lst
# Execute_00 = immediate $(DIR_EXECUTABLE)/sapcpe$(FT_EXE) $(_CPARG0) pf=$(_PF)
# OS_UNICODE = uc
#
# Start Replicated Enqueue Server
#
_ER = er.sap$(SAPSYSTEMNAME)_$(INSTANCE_NAME)
Execute_01 = immediate rm f $(_ER)
Execute_02 = local ln s f $(DIR_EXECUTABLE)/enrepserver $(_ER)
# Not starting it in the SAPdescribed way.
# See comments in the ERS11 instance profile.
# Restart_Program_00 = local $(_ER) pf=$(_PF) NR=01
Restart_Program_00 = local $(_ER) pf=$(_PF)
SAPSYSTEMNAME = PE2
Page 17 of 21
Sun Microsystems GmbH
# !!ATTENTION!!
# Even this instance was installed on #11 and instance name is ERS11,
# you have to set the internal number to 01. That is the instance number of SCS01.
# This assures that both instances (SAP Enqueue Server AND SAP Replicated Enqueue Server)
# are using the same internal memory representation for the LOCK table. Thus being able to
# synchronize in the case of a failover (otherwise the synchronisation will fail!)
# The SAP documentation is describing a different way, which comes obviously to the same
# result. It starts the process within the start profile with this parameterisation:
# “Restart_Program_00 = local $(_ER) pf=$(_PF) NR=01” (note the ending NR=01).
# But as the cluster starts the Replicated Enqueue process directly (without using the
# start profile), we have to set this parameter in the instance profile.
SAPSYSTEM = 01
INSTANCE_NAME = ERS11
# Start directly from /sapmnt/PE2/exe (the dirs specified here are softlinks to /sapmnt/PE2/exe).
# No “sapcpe” to instancespecific dirs make sense, because it's all on the global filesystem(s).
DIR_CT_RUN = /usr/sap/PE2/SYS/exe/run
DIR_EXECUTABLE = /usr/sap/PE2/SYS/exe/run
SAPLOCALHOST = pe2erslh
OS_UNICODE = uc
# Infos about SAP Enqueue Server (runnning in SCS01)
rdisp/enqname = $(rdisp/myname)
enque/process_location = REMOTESA
enque/serverinst = 01
enque/serverhost = pe2scslh
# General instance parameter
ipc/shm_psize_10 = 130000000
ipc/shm_psize_40 = 115000000
SAPSYSTEMNAME = PE2
SAPSYSTEM = 01
INSTANCE_NAME = SCS01
# DIR_CT_RUN = $(DIR_EXE_ROOT)/run
# DIR_EXECUTABLE = $(DIR_INSTANCE)/exe
DIR_CT_RUN = /usr/sap/PE2/SYS/exe/run
DIR_EXECUTABLE = /usr/sap/PE2/SYS/exe/run
SAPLOCALHOST = pe2scslh
DIR_PROFILE = $(DIR_INSTALL)/profile
_PF = $(DIR_PROFILE)/PE2_SCS01_pe2scslh
SETENV_00 = LD_LIBRARY_PATH=$(DIR_LIBRARY):%(LD_LIBRARY_PATH)
SETENV_01 = SHLIB_PATH=$(DIR_LIBRARY):%(SHLIB_PATH)
SETENV_02 = LIBPATH=$(DIR_LIBRARY):%(LIBPATH)
#
# Copy SAP Executables !!! Disabled !!!
#
# _CPARG0 = list:$(DIR_CT_RUN)/scs.lst
# Execute_00 = immediate $(DIR_CT_RUN)/sapcpe$(FT_EXE) pf=$(_PF) $(_CPARG0)
# OS_UNICODE = uc
#
# Start SAP messaging service
#
_MS = ms.sap$(SAPSYSTEMNAME)_$(INSTANCE_NAME)
Execute_01 = local rm f $(_MS)
Execute_02 = local ln s f $(DIR_EXECUTABLE)/msg_server$(FT_EXE) $(_MS)
Start_Program_00 = local $(_MS) pf=$(DIR_PROFILE)/PE2_SCS01_pe2scslh
#
# Start SAP locking service
# !!! Disabled !!! Will be started directly by Sun Cluster
#
# _EN = en.sap$(SAPSYSTEMNAME)_$(INSTANCE_NAME)
# Execute_03 = local rm f $(_EN)
# Execute_04 = local ln s f $(DIR_EXECUTABLE)/enserver$(FT_EXE) $(_EN)
# Start_Program_01 = local $(_EN) pf=$(DIR_PROFILE)/PE2_SCS01_pe2scslh
Page 18 of 21
Sun Microsystems GmbH
SAPSYSTEMNAME = PE2
SAPSYSTEM = 01
INSTANCE_NAME = SCS01
# DIR_CT_RUN = $(DIR_EXE_ROOT)/run
# DIR_EXECUTABLE = $(DIR_INSTANCE)/exe
DIR_CT_RUN = /usr/sap/PE2/SYS/exe/run
DIR_EXECUTABLE = /usr/sap/PE2/SYS/exe/run
SAPLOCALHOST = pe2scslh
OS_UNICODE = uc
#
# SAP Messaging Service for Java
#
rdisp/msserv = 0
rdisp/msserv_internal = 3901
ms/standalone = 1
ms/server_port_0 = PROT=HTTP,PORT=81$$
#
# SAP Locking Service
#
enque/serverinst = 01
enque/table_size = 4096
rdisp/enqname = $(rdisp/myname)
enque/snapshot_pck_ids = 100
enque/server/replication = true
ipc/shm_psize_34 = 0
ipc/shm_psize_10 = 130000000
ipc/shm_psize_40 = 115000000
SAPSYSTEMNAME = PE2
SAPSYSTEM = 00
INSTANCE_NAME = JC00
# DIR_CT_RUN = $(DIR_EXE_ROOT)/run
# DIR_EXECUTABLE = $(DIR_INSTANCE)/exe
DIR_CT_RUN = /usr/sap/PE2/SYS/exe/run
DIR_EXECUTABLE = /usr/sap/PE2/SYS/exe/run
SAPLOCALHOST = pe2cilh
DIR_PROFILE = $(DIR_INSTALL)/profile
_PF = $(DIR_PROFILE)/PE2_JC00_pe2cilh
SETENV_00 = LD_LIBRARY_PATH=$(DIR_LIBRARY):%(LD_LIBRARY_PATH)
SETENV_01 = SHLIB_PATH=$(DIR_LIBRARY):%(SHLIB_PATH)
SETENV_02 = LIBPATH=$(DIR_LIBRARY):%(LIBPATH)
#
# Copy SAP Executables !!! Disabled !!!
#
# _CPARG0 = list:$(DIR_CT_RUN)/j2eeinst.lst
# Execute_00 = immediate $(DIR_CT_RUN)/sapcpe$(FT_EXE) pf=$(_PF) $(_CPARG0)
#
# Copy SAP Executables
#
# _CPARG1 = list:$(DIR_CT_RUN)/igsexe.lst
# Execute_01 = immediate $(DIR_CT_RUN)/sapcpe$(FT_EXE) pf=$(_PF) $(_CPARG1)
#
# Start Java application server
#
_JC = jc.sap$(SAPSYSTEMNAME)_$(INSTANCE_NAME)
Execute_02 = local rm f $(_JC)
Execute_03 = local ln s f $(DIR_EXECUTABLE)/jcontrol$(FT_EXE) $(_JC)
Start_Program_00 = local $(_JC) pf=$(_PF)
#
# Start internet graphics server
#
_IG = ig.sap$(SAPSYSTEMNAME)_$(INSTANCE_NAME)
Execute_04 = local rm f $(_IG)
Page 19 of 21
Sun Microsystems GmbH
Execute_05 = local ln s f $(DIR_EXECUTABLE)/igswd_mt $(_IG)
Start_Program_01 = local $(_IG) mode=profile pf=$(_PF)
SAPSYSTEMNAME = PE2
SAPSYSTEM = 00
INSTANCE_NAME = JC00
# DIR_CT_RUN = $(DIR_EXE_ROOT)/run
# DIR_EXECUTABLE = $(DIR_INSTANCE)/exe
DIR_CT_RUN = /usr/sap/PE2/SYS/exe/run
DIR_EXECUTABLE = /usr/sap/PE2/SYS/exe/run
SAPLOCALHOST = pe2cilh
jstartup/trimming_properties = off
jstartup/protocol = on
jstartup/vm/home = /usr/sap/PE2/j2se
jstartup/max_caches = 500
jstartup/release = 700
jstartup/instance_properties = $(jstartup/j2ee_properties):$(jstartup/sdm_properties)
j2ee/dbdriver = /oracle/client/10x_64/instantclient/ojdbc14.jar
igs/listener/rfc/disable = 1
PHYS_MEMSIZE = 512
exe/saposcol = $(DIR_CT_RUN)/saposcol
#
# Jcontrol: Migrated Profile Parameter
# create at Thu Jun 12 15:06:30 2008
#
j2ee/instance_id = ID0016265
#
#!/bin/sh
###################### please customize .... #######################
HOME=`getent passwd pe2adm | cut d: f 6 s`
. $HOME/.profile
INSTANCE=$2
LOGICAL_HOST=`uname n`
if [ "$INSTANCE" = "SCS01" ]; then
LOGICAL_HOST=pe2scslh;
fi
if [ "$INSTANCE" = "JC00" ]; then
LOGICAL_HOST=pe2cilh;
fi
SAPSID=PE2
STARTSAP="/usr/sap/${SAPSID}/SYS/exe/run/startsap"
####################### end of customizing .... #######################
SCRIPTNAME=`basename $0 `
LOG_FILE=/tmp/${SCRIPTNAME}_${INSTANCE}.log
exec >> $LOG_FILE
echo "================================================================================"
echo "`date`: Script $SCRIPTNAME started with options $* ... "
GREP=/usr/bin/grep
NEWTASK=/usr/bin/newtask
PS=/usr/bin/ps
SLEEP=/usr/bin/sleep
INSTID=`echo $INSTANCE | sed 's/^[AZaz]*//g'`
# start $INSTANCE ....
Page 20 of 21
Sun Microsystems GmbH
echo " execute $STARTSAP $INSTANCE $LOGICAL_HOST "
$NEWTASK $STARTSAP $INSTANCE $LOGICAL_HOST
#!/bin/sh
###################### please customize .... #######################
HOME=`getent passwd pe2adm | cut d: f 6 s`
. $HOME/.profile
INSTANCE=$2;
LOGICAL_HOST=`uname n`
if [ "$INSTANCE" = "SCS01" ]; then
LOGICAL_HOST=pe2scslh;
fi
if [ "$INSTANCE" = "JC00" ]; then
LOGICAL_HOST=pe2cilh;
fi
SAPSID=PE2
STOPSAP="/usr/sap/${SAPSID}/SYS/exe/run/stopsap"
SAPCCMSR="/usr/sap/${SAPSID}/SYS/exe/run/sapccmsr"
####################### end of customizing .... #######################
SCRIPTNAME=`basename $0 `
LOG_FILE=/tmp/${SCRIPTNAME}_${INSTANCE}.log
exec >> $LOG_FILE
echo "================================================================================"
echo "`date`: Script $SCRIPTNAME mit Optionen $* gestartet ... "
###################### stop ccmsr ######################
echo " execute ${SAPCCMSR} stop j2ee pf=/usr/sap/${SAPSID}/SYS/profile/${SAPSID}_${INSTANCE}_$
{LOGICAL_HOST} "
${SAPCCMSR} stop j2ee pf=/usr/sap/${SAPSID}/SYS/profile/${SAPSID}_${INSTANCE}_${LOGICAL_HOST}
###################### stop $INSTANCE .... ######################
echo " execute $STOPSAP startupsrv $INSTANCE2 $LOGICAL_HOST "
$STOPSAP startupsrv $INSTANCE $LOGICAL_HOST
echo " execute $STOPSAP $INSTANCE $LOGICAL_HOST "
$STOPSAP $INSTANCE $LOGICAL_HOST
# IGS needs some time for stoppin all precesses, so wait ...
if [ "`pgrep f /usr/sap/${SAPSID}/${INSTANCE}/exe/igs`" != "" ]
then
/usr/bin/sleep 30
fi
###################### stop jlaunch processes ######################
INSTANCEtemp=`echo ${INSTANCE} | awk '/^D[09][09]$/{print $1}'`
if [ "$INSTANCEtemp" ]; then
echo " killing jlaunch processes "
/usr/bin/pkill f /usr/sap/${SAPSID}/${INSTANCE}/exe/jlaunch
fi
###################### cleanup IPC ######################
instance_nr=`echo $INSTANCE | sed 's/[AZ]*//'`
echo " /usr/sap/${SAPSID}/SYS/exe/run/cleanipc $instance_nr remove"
/usr/sap/${SAPSID}/SYS/exe/run/cleanipc "$instance_nr" remove
###################### stop saposcol ######################
# Note: Not really correct. saposcol is not instance specific
# Best would be to start it outside of SAP or Cluster control as system service (SMF)
echo " execute /usr/sap/${SAPSID}/SYS/exe/run/saposcol k"
/usr/sap/${SAPSID}/SYS/exe/run/saposcol k
echo "`date`: Script $SCRIPTNAME finished
Page 21 of 21