Installation of SAP in a Solaris 10 zone
Solaris 10 zone container
Reason and Prerequisites
SAP on Solaris 10
This note describes special considerations when installing and
maintaining a SAP WebAS dialog or database instance in a Solaris 10
zone. A zone is a virtualized operating system environment that inherits
certain properties and resources from its parent operating system. The
processes running in a zone are isolated from the rest of the system.
However, you can see all processes of all zones from the global zone.
The "-Z" option of the "ps" command, when executed in the global zone,
displays an additional column for the zone in which a process is running
(e.g. "ps -efZ").
Solaris zones provide an easy way for setting up new Solaris 10
operating invironments. It is possible to create hundreds of zones on a
single Solaris 10 server.
1) Because a Solaris zone inherits certain filesystems from the root
zone (the Solaris 10 image from which the zone was created) and
can only access these filesystems in read-only mode, the directory
/usr/sap/<SID> and other directories (see below) cannot be created
inside a zone. Instead, these directories have to be made available
from the root zone. There are several ways for configuring global
directories or filesystems for read/write access to local zones.
Two of them are documented here:
a) If you would like to make available a filesystem just to one local
zone, you may use the following command in the global zone (example:
zone zone_01, ufs filesystem /usr/sap/TST on device
$ mkdir -p /usr/sap/TST
$ zonecfg -z zone_01 "add fs; \
set dir=/usr/sap/TST; \
set special=/dev/dsk/c1t0d0s3; \
set raw=/dev/rdsk/c1t0d0s3; \
set type=ufs; \
add options [logging]; \
After rebooting the zone, it will have the filesystem mounted for
read/write access. The filesystem will not show up in the zones'
/etc/vfstab, but it will show up in the output of "mount" and "df".
b) If you would like to make available a directory in the global and in
one or more local zones, you may use the following command in the
global zone (example: zone zone_01, directory /usr/sap/trans):
$ mkdir /usr/sap/trans
$ zonecfg -z zone_01 "add fs; \
set dir=/usr/sap/trans; \
set special=/usr/sap/trans; \
set type=lofs; \
add options [nodevices,logging]; \
After rebooting the zone, it will have the directory mounted as a
filesystem for read/write access. The filesystem will not show up in
the zones' /etc/vfstab, but it will show up in the output of "mount"
2) Currently, it is not possible to run an NFS server in a Solaris zone.
And because an NFS server should not mount its own file systems (see
man mount_nfs), a zone should not mount an NFS file system exported
by the global zone.
Therefore, if you plan to install a central instance in a Solaris
zone, you may:
- use method 1.b) of this note (see above) to make one or more
directories from the global zone available to one or more local
- mount the directories from an external NFS server
3) There is just one /etc/system file (in the global zone). For SAP, the
rlim_fd_cur parameter is to be set here which then applies to the
global as well as to all local zones. The maximum number of open
files per process can be set in each zone by using the "limit" (csh)
or "ulimit" (sh, ksh) command. The default upper limit is 65535.
4) All other operating system and resource parameters (e.g. for setting
the maximum size of a single shared memory segment) can bet set
inside each zone by setting or modifying project parameters, or by
using the "zonecfg" command in the global zone. See SAP note 724713
for recommended parameter settings.
5) For software package and patch installations in global and/or local
zones, please refer to "man pkgadd" and "man patchadd" (e.g. option
"-G") for controlling in which zones a package or patch is to be
installed. Default is the installation in all zones.
For more information on Solaris zones configuration and administration,
please see the "System Administration Guide: Solaris Containers-Resource
Management and Solaris Zones" book on http://docs.sun.com . An excellent
explanation of zones and lots of examples, including the installation of
a database in a zone, can be found in the Sun Blueprint "Solaris
Containers - What They Are and How to Use Them" (
ADDITIONAL INFORMATION FOR SPECIFIC SAP PRODUCTS/RELEASES
1. For the installation of NetWeaver 04 SR1 (ABAP) central instance,
the following directories have to be made available for read/write
access inside the zone (see 1.a) or 1.b) above):
2. For the installation of NetWeaver 04 SR1 database instance (Oracle),
the following recommendations apply:
a) instead of using /usr/local/bin when asked for the local bin
directory, you may use another directory, for example /lbin, to
ensure write access. Or you have to add /usr/local/bin to the
zone's writable directories, as described at the beginning of this
b) If the installation stops with the SQL error 12705, you may want to
compare the value of ORA_NLS33 of root, ora<sid> and <sid>adm. It
may be that for certain users, the language files of the Oracle
server directories are used and for other users those of the Oracle
client directories. This problem is not specific to zones.
ORA_NLS33 is set in .dbenv.sh and .sapenv.sh of users <sid>adm and
c) If the installation stops with the error message:
FRF-00063 RFC logon failed with message: Failed: Connect to SAP gateway
you may want to check if the "project.max-shm-memory" resource is
set to the value recommended in SAP note 724713. You should also
check if all shared memory segments are removed after the SAP
system has been stopped manually during the installation.
3. For the installation of NetWeaver 04 SR1 JAVA Add-In,
the following directory has to be made available for read/write
access inside the zone (see 1.a) or 1.b) at the top of this note):
August 18, 2005:
August 29, 2005:
changed NFS section
October 26, 2005:
added information on NW04SR1 ABAP CI, DB(Ora), and JAVA Add-In