10.7 安装SAP® R/3®

Contributed by Holger Kipp. Original version converted to SGML by Valentino Vaschetto.

  在FreeBSD上安装的SAP®系统不会被SAP 支持团队── 所支持——他们只支持某些特定的平台。

10.7.1 前言

  这篇文章描述了在FreeBSD系统上安装一个带有Oracle® Database for Linux的SAP R/3® System,包括 FreeBSD的安装和Oracle的安装。 下面将描述两个不同的配置:

  虽然这篇文章深入地描述了许多重要的安装步骤,但它不能取代OracleSAP R/3的安装指南。

  请参考SAP R/3 Linux edition自带的文档和 Oracle的特殊问题。

10.7.2 软件

  下面的CD-ROMs被用作SAP的安装:

10.7.2.1 SAP R/3 4.6B, Oracle® 8.0.5

名称 号码 描述
KERNEL 51009113 SAP Kernel Oracle / Installation / AIX, Linux, Solaris
RDBMS 51007558 Oracle / RDBMS 8.0.5.X / Linux
EXPORT1 51010208 IDES / DB-Export / Disc 1 of 6
EXPORT2 51010209 IDES / DB-Export / Disc 2 of 6
EXPORT3 51010210 IDES / DB-Export / Disc 3 of 6
EXPORT4 51010211 IDES / DB-Export / Disc 4 of 6
EXPORT5 51010212 IDES / DB-Export / Disc 5 of 6
EXPORT6 51010213 IDES / DB-Export / Disc 6 of 6

  此外,我们使用Oracle 8 Server (Linux版本的8.0.5预览版,Linux内核是2.0.33)和 FreeBSD 4.3-STABLE。

10.7.2.2 SAP R/3 4.6C SR2, Oracle 8.1.7

名称 号码 描述
KERNEL 51014004 SAP Kernel Oracle / SAP Kernel Version 4.6D / DEC, Linux
RDBMS 51012930 Oracle 8.1.7/ RDBMS / Linux
EXPORT1 51013953 Release 4.6C SR2 / Export / Disc 1 of 4
EXPORT1 51013953 Release 4.6C SR2 / Export / Disc 2 of 4
EXPORT1 51013953 Release 4.6C SR2 / Export / Disc 3 of 4
EXPORT1 51013953 Release 4.6C SR2 / Export / Disc 4 of 4
LANG1 51013954 Release 4.6C SR2 / Language / DE, EN, FR / Disc 1 of 3

  依赖于您要安装的语言,可能需要额外的语言CDs。 这儿我们只使用DE和EN,所以只需要第一张语言CD。 还要注意的是所有EXPORT CDs的号码是一样的。 其他3张语言CDs的号码也一样(这和4.6B IDES release CD的号码不同)。

10.7.3 SAP Notes

  安装使用SAP R/3之前,请先看看下面的注释:

10.7.3.1 SAP R/3 4.6B, Oracle 8.0.5

号码 标题
0171356 SAP Software on Linux: Essential Comments
0201147 INST: 4.6C R/3 Inst. on UNIX - Oracle
0373203 Update / Migration Oracle 8.0.5 --> 8.0.6/8.1.6 LINUX
0072984 Release of Digital UNIX 4.0B for Oracle
0130581 R3SETUP step DIPGNTAB terminates
0144978 Your system has not been installed correctly
0162266 Questions and tips for R3SETUP on Windows NT / W2K

10.7.3.2 SAP R/3 4.6C, Oracle 8.1.7

号码 标题
0015023 Initializing table TCPDB (RSXP0004) (EBCDIC)
0045619 R/3 with several languages or typefaces
0171356 SAP Software on Linux: Essential Comments
0195603 RedHat 6.1 Enterprise version: Known problems
0212876 The new archiving tool SAPCAR
0300900 Linux: Released DELL Hardware
0377187 RedHat 6.2: important remarks
0387074 INST: R/3 4.6C SR2 Installation on UNIX
0387077 INST: R/3 4.6C SR2 Inst. on UNIX - Oracle
0387078 SAP Software on UNIX: OS Dependencies 4.6C SR2

10.7.4 硬件要求

  下面的设备配置对SAP R/3 System来说已经足够了。如果 用于生产用途,就需要更强的配置:

组件 4.6B 4.6C
处理器 2 x 800MHz Pentium® III 2 x 800MHz Pentium III
内存 1GB ECC 2GB ECC
Hard Disk Space 50-60GB (IDES) 50-60GB (IDES)

  用于生产使用,就需要使用带大缓存的Xeon™处理器,和高速大容量磁盘(SCSI, RAID hardware controller),以及USV 和ECC-RAM内存。 配置IDES System前需要大量的硬盘空间,因为安装时将创建27 GB的数据库文件。 这些空间用于系统和数据的初始化也是足够的。

10.7.4.1 SAP R/3 4.6B, Oracle 8.0.5

  对于这个安装,我的硬件配置如下:带2个800 MHz Pentium III处理器的主板, Adaptec® 29160 Ultra160 SCSI适配器(能够访问40/80 GB DLT磁带机和CDROM), Mylex® AcceleRAID™ (2个通道, firmware 6.00-1-00 with 32 MB RAM)。 Mylex RAID controller被挂上2个17 GB(mirrored)硬盘和4个36 GB硬盘(RAID level 5)。

10.7.4.2 SAP R/3 4.6C, Oracle 8.1.7

  对于这个安装,配置是DellPowerEdge™ 2500,带2个1000 MHz Pentium III处理器的 主板(256 kB Cache), 2 GB PC133 ECC SDRAM, PERC/3 DC PCI RAID Controller with 128 MB,和一个EIDE DVD-ROM驱动器。RAID controller被挂上2个18 GB硬盘(mirrored) 和4个36 GB硬盘(RAID level 5)。

10.7.5 安装FreeBSD

  首先需要安装 FreeBSD。 有很多方法来完成这个工作。 要了解进一步的情况请参考 第 2.13 节

10.7.5.1 磁盘划分

  为了简单,对SAP R/3 46BSAP R/3 46C SR2的安装使用相同的磁盘划分。只是设备名换了,因为是安装在不同的硬件上 (/dev/da/dev/amr, 所以如果是使用AMI MegaRAID®,我们能看到 /dev/amr0s1a 代替了 /dev/da0s1a):

文件系统 尺寸(1k-blocks) 尺寸(GB) 挂载点
/dev/da0s1a 1.016.303 1 /
/dev/da0s1b   6 swap
/dev/da0s1e 2.032.623 2 /var
/dev/da0s1f 8.205.339 8 /usr
/dev/da1s1e 45.734.361 45 /compat/linux/oracle
/dev/da1s1f 2.032.623 2 /compat/linux/sapmnt
/dev/da1s1g 2.032.623 2 /compat/linux/usr/sap

  预先用Mylex 或PERC/3 RAID 软件配置和初始化这两个逻辑驱动器。 改变BIOS的引导顺序来启动软件。

  请注意这里的磁盘划分和SAP推荐的是不一样的,SAP建议把 Oracle子目录(及其他子目录)分离开来, 我决定只简单的创建几个子目录。

10.7.5.2 make world和建立新内核

  下载最新的-STABLE源代码,配置完内核配置文件后重建系统和新内核。 这儿当然要包括 SAP R/3Oracle需要的内核参数

10.7.6 安装Linux环境

10.7.6.1 安装Linux基本系统

  首先linux_base port需要安装(以root身份):

# cd /usr/ports/emulators/linux_base
# make install distclean

10.7.6.2 安装Linux开发环境

  如果您想根据第 10.6 节在FreeBSD上安装 Oracle

# cd /usr/ports/devel/linux_devtools
# make install distclean

  Linux开发环境只是安装给SAP R/3 46B IDES的,如果Oracle DB不是在这个 FreeBSD系统上重新链接,它就不需要了。

10.7.6.3 安装必需的RPMs

  为了启动R3SETUP程序, PAM支持是必需的。 第一次安装SAP到FreeBSD 4.3-STABLE时我们先安装了 PAM的所有依赖包再安装PAM包,它可以工作。对于SAP R/3 4.6C SR2我们 直接安装PAM RPM也可以工作,所以依赖包不是必需的:

# rpm -i --ignoreos --nodeps --root /compat/linux --dbpath /var/lib/rpm \
pam-0.68-7.i386.rpm

  要让Oracle 8.0.5运行智能代理, 我们需要安装RedHat Tcl包tcl-8.0.5-30.i386.rpm (否则重新链接Oracle不能工作)。 重新链接Oracle时还有其他要注意的地方, 但那是Oracle Linux的问题,不是FreeBSD的问题。

10.7.6.4 其它一些注意的地方

  添加 linprocfs/etc/fstab 是个好主意。 要了解进一步的细节, 请参考 linprocfs(5) 联机手册。 另一个是设置 kern.fallback_elf_brand=3, 这可以通过 /etc/sysctl.conf 文件来完成。

10.7.7 创建SAP R/3环境

10.7.7.1 创建必需的文件系统和挂载点

  对简单的安装,创建下面的文件系统就够了:

mount point size in GB
/compat/linux/oracle 45 GB
/compat/linux/sapmnt 2 GB
/compat/linux/usr/sap 2 GB

  创建一些链接也是必要的,否则SAP安装程序在检查创建的链接时 会报错:

# ln -s /compat/linux/oracle /oracle
# ln -s /compat/linux/sapmnt /sapmnt
# ln -s /compat/linux/usr/sap /usr/sap

  安装时可能出现的错误(对于PRD系统和SAP R/3 4.6C SR2 的安装):

INFO 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:200
    Checking existence of symbolic link /usr/sap/PRD/SYS/exe/dbg to
    /sapmnt/PRD/exe. Creating if it does not exist...

WARNING 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:400
    Link /usr/sap/PRD/SYS/exe/dbg exists but it points to file
    /compat/linux/sapmnt/PRD/exe instead of /sapmnt/PRD/exe. The
    program cannot go on as long as this link exists at this
    location. Move the link to another location.

ERROR 2002-03-19 16:45:36 R3LINKS_IND_IND Ins_SetupLinks:0
    can not setup link '/usr/sap/PRD/SYS/exe/dbg' with content
    '/sapmnt/PRD/exe'

10.7.7.2 创建用户和目录

  SAP R/3需要两个用户和3个组。 用户名依赖于包含3个字母的SAP系统ID(SID)。一些SIDs 被SAP保留(例如SAPNIX)。 完成的列表参考SAP文档。对于IDES的安装,我们使用IDS, 对于4.6C SR2安装,使用PRD。 这样我们定义了下面的几个组:

组ID 组名 描述
100 dba Data Base Administrator
101 sapsys SAP System
102 oper Data Base Operator

  对于默认的Oracle安装,只有dba组被使用。 和oper组一样,我们也可以使用dba组 (更详细的信息参考OracleSAP文档)。

  我们也需要下面的用户

用户ID 用户名 普通名称 附加组 描述
1000 idsadm/prdadm sidadm sapsys oper SAP Administrator
1002 oraids/oraprd orasid dba oper Oracle Administrator

  使用adduser(8)添加用户要求“SAP Administrator”有下面的记录 (请注意shell和home目录):

Name: sidadm
Password: ******
Fullname: SAP Administrator SID
Uid: 1000
Gid: 101 (sapsys)
Class:
Groups: sapsys dba
HOME: /home/sidadm
Shell: bash  (/compat/linux/bin/bash)

  对于“Oracle Administrator”:

Name: orasid
Password: ******
Fullname: Oracle Administrator SID
Uid: 1002
Gid: 100 (dba)
Class:
Groups: dba
HOME: /oracle/sid
Shell: bash  (/compat/linux/bin/bash)

  在您使用组dbaoper的情况下您也应该包括 oper

10.7.7.3 创建目录

  这些目录通常建立在不同的文件系统上。这完全依赖于您的需求。 我们选择把它们建立在同一个目录:

  首先我们将设置一些目录的所有者和权限(以root身份设置):

# chmod 775 /oracle
# chmod 777 /sapmnt
# chown root:dba /oracle
# chown sidadm:sapsys /compat/linux/usr/sap
# chmod 775 /compat/linux/usr/sap

  然后我们以orasid身份创建目录, 这些目录将成为/oracle/SID的子目录:

# su - orasid
# cd /oracle/SID
# mkdir mirrlogA mirrlogB origlogA origlogB
# mkdir sapdata1 sapdata2 sapdata3 sapdata4 sapdata5 sapdata6
# mkdir saparch sapreorg
# exit

  对于Oracle 8.1.7的安装,需要一些额外的目录:

# su - orasid
# cd /oracle
# mkdir 805_32
# mkdir client stage
# mkdir client/80x_32
# mkdir stage/817_32
# cd /oracle/SID
# mkdir 817_32

注意: 目录client/80x_32必须是这个名字,不要用其他数字或字母来替换x

  第三步我们要以sidadm身份创建目录:

# su - sidadm
# cd /usr/sap
# mkdir SID
# mkdir trans
# exit

10.7.7.4 /etc/services中的条目

  SAP R/3/etc/services里面需要一些条目, 这些不会在安装过程中被正确设置,请添加下面的条目:

sapdp00    3200/tcp # SAP Dispatcher.      3200 + Instance-Number
sapgw00  3300/tcp # SAP Gateway.         3300 + Instance-Number
sapsp00  3400/tcp #                      3400 + Instance-Number
sapms00  3500/tcp #                      3500 + Instance-Number
sapmsSID 3600/tcp # SAP Message Server.  3600 + Instance-Number
sapgw00s   4800/tcp # SAP Secure Gateway   4800 + Instance-Number

10.7.7.5 必要的本地化

  SAP至少要求两个本地化设置,它不是RedHat的默认安装。 SAP提供从他们的FTP服务器下载必需的RPMs(只有您是OSS的客户才能访问)。 看注解0171356查找您需要的RPMs列表。

  也可以只创建适当的链接(例如从de_DEen_US), 但是我们不推荐在生产系统上这样做(尽管它让IDES system工作的没有一点问题)。 下面的本地化设置是必需的:

de_DE.ISO-8859-1
en_US.ISO-8859-1

  像这样创建链接

# cd /compat/linux/usr/share/locale
# ln -s de_DE de_DE.ISO-8859-1
# ln -s en_US en_US.ISO-8859-1

  如果他们不出现,在安装时可能会有问题。如果忽略这些问题(通过设置CENTRDB.R3S文件 里面的STATUSOK),不费一番周折, 您就别想登录进SAP系统。

10.7.7.6 内核调整

  SAP R/3 需要许多资源。我因此添加了下面的参数在我的内核配置文件中:

# Set these for memory pigs (SAP and Oracle):
options MAXDSIZ="(1024*1024*1024)"
options DFLDSIZ="(1024*1024*1024)"
# System V options needed.
options SYSVSHM #SYSV-style shared memory
options SHMMAXPGS=262144 #max amount of shared mem. pages
#options SHMMAXPGS=393216 #use this for the 46C inst.parameters
options SHMMNI=256 #max number of shared memory ident if.
options SHMSEG=100 #max shared mem.segs per process
options SYSVMSG #SYSV-style message queues
options MSGSEG=32767 #max num. of mes.segments in system
options MSGSSZ=32 #size of msg-seg. MUST be power of 2
options MSGMNB=65535 #max char. per message queue
options MSGTQL=2046 #max amount of msgs in system
options SYSVSEM #SYSV-style semaphores
options SEMMNU=256 #number of semaphore UNDO structures
options SEMMNS=1024 #number of semaphores in system
options SEMMNI=520 #number of semaphore identifiers
options SEMUME=100       #number of UNDO keys

  这篇文档中指定的最小值是来自SAP。 没有针对Linux的描述, 看看HP-UX的相关介绍了解更多信息。 安装4.6C SR2需要更多的内存, 共享内存比 SAPOracle 需要的还多, 所以尽量为共享内存选一个大值。

注意:i386™ 上 的 FreeBSD 默认配置中, 应将 MAXDSIZDFLDSIZ 设置为 1 GB。否则, 会出现类似 “ORA-27102: out of memory”和 “Linux Error: 12: Cannot allocate memory” 这样的奇怪的错误。

10.7.8 安装SAP R/3

10.7.8.1 准备SAP CDROMs

  在安装过程中,有许多 CDROM 要被挂上和卸下。建议您有多个CDROM驱动器, 您可以把它们都挂上。我决定复制 CDROM 的内容到相应的目录:

/oracle/SID/sapreorg/cd-name

  对于4.6B/IDES的安装,cd-nameKERNELRDBMSEXPORT1EXPORT2EXPORT3, EXPORT4, EXPORT5EXPORT6中的一个,对于4.6C SR2的安装,是 KERNELRDBMSDISK1DISK2DISK3DISK4LANG中的一个。 所有挂载上的CDs里面的文件名都应该是大写, 否则要用-g选项来挂载。所以使用下面的命令:

# mount_cd9660 -g /dev/cd0a /mnt
# cp -R /mnt/* /oracle/SID/sapreorg/cd-name
# umount /mnt

10.7.8.2 运行安装脚本

  首先您需要准备一个install目录:

# cd /oracle/SID/sapreorg
# mkdir install
# cd install

  然后运行安装脚本,他会复制所有相关的文件到install目录:

# /oracle/SID/sapreorg/KERNEL/UNIX/INSTTOOL.SH

  由于这是一个完全定制化的SAP R/3演示系统的IDES安装(4.6B), 我们有6个而不仅仅是3个EXPORT CDs。 基于这点,安装模板CENTRDB.R3S是用来安装一个标准的中央环境 (R/3和数据库),而不是IDES中央环境, 所以从EXPORT1目录复制相应的CENTRDB.R3S, 否则R3SETUP只要求3个EXPORT CDs。

  新的SAP 4.6C SR2发行版带有4张EXPORT CDs。 控制安装步骤的参数文件是CENTRAL.R3S。 和早期发行版不同,它没有分开的中央环境的安装模板。

  安装完后,使用hostname命令得到SAP需要的主机名, 不需要完整的域名。 所以为orasidsidadm 直接设置主机名,或设置别名alias hostname='hostname -s'。 可以在.profile.login里面为这两个用户设置。

10.7.8.3 启动R3SETUP 4.6B

  确定LD_LIBRARY_PATH设置正确:

# export LD_LIBRARY_PATH=/oracle/IDS/lib:/sapmnt/IDS/exe:/oracle/805_32/lib

  从安装目录以root身份启动R3SETUP

# cd /oracle/IDS/sapreorg/install
# ./R3SETUP -f CENTRDB.R3S

  这个脚本会问一些问题(括号里面是缺省值,后面是实际输入):

问题 缺省值 输入
Enter SAP System ID [C11] IDSEnter
Enter SAP Instance Number [00] Enter
Enter SAPMOUNT Directory [/sapmnt] Enter
Enter name of SAP central host [troubadix.domain.de] Enter
Enter name of SAP db host [troubadix] Enter
Select character set [1] (WE8DEC) Enter
Enter Oracle server version (1) Oracle 8.0.5, (2) Oracle 8.0.6, (3) Oracle 8.1.5, (4) Oracle 8.1.6   1Enter
Extract Oracle Client archive [1] (Yes, extract) Enter
Enter path to KERNEL CD [/sapcd] /oracle/IDS/sapreorg/KERNEL
Enter path to RDBMS CD [/sapcd] /oracle/IDS/sapreorg/RDBMS
Enter path to EXPORT1 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT1
Directory to copy EXPORT1 CD [/oracle/IDS/sapreorg/CD4_DIR] Enter
Enter path to EXPORT2 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT2
Directory to copy EXPORT2 CD [/oracle/IDS/sapreorg/CD5_DIR] Enter
Enter path to EXPORT3 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT3
Directory to copy EXPORT3 CD [/oracle/IDS/sapreorg/CD6_DIR] Enter
Enter path to EXPORT4 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT4
Directory to copy EXPORT4 CD [/oracle/IDS/sapreorg/CD7_DIR] Enter
Enter path to EXPORT5 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT5
Directory to copy EXPORT5 CD [/oracle/IDS/sapreorg/CD8_DIR] Enter
Enter path to EXPORT6 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT6
Directory to copy EXPORT6 CD [/oracle/IDS/sapreorg/CD9_DIR] Enter
Enter amount of RAM for SAP + DB   850Enter (in Megabytes)
Service Entry Message Server [3600] Enter
Enter Group-ID of sapsys [101] Enter
Enter Group-ID of oper [102] Enter
Enter Group-ID of dba [100] Enter
Enter User-ID of sidadm [1000] Enter
Enter User-ID of orasid [1002] Enter
Number of parallel procs [2] Enter

  如果没有把CD复制到不同的位置,那么SAP安装程序就不能 找到需要的CD(通过CD上的LABEL.ASC来辨别), 它会要求您挂上CD,或键入加载路径。

  CENTRDB.R3S不可能是自由出错的, 它再次请求EXPORT4 CD,但是正确的值是6_LOCATI ON,然后7_LOCATION 等,所以您可以键入正确的值。

  处理下面提到的问题,一样东西都要直接通过Oracle数据库软件安装的地方。

10.7.8.4 Start R3SETUP 4.6C SR2

  确定LD_LIBRARY_PATH设置正确。 这和带Oracle 8.0.5的4.6B的安装是不同的:

# export LD_LIBRARY_PATH=/sapmnt/PRD/exe:/oracle/PRD/817_32/lib

  以root身份从安装目录启动R3SETUP

# cd /oracle/PRD/sapreorg/install
# ./R3SETUP -f CENTRAL.R3S

  这个脚本会问一些问题(括号里面是缺省值,后面是实际输入):

问题 缺省值 输入
Enter SAP System ID [C11] PRDEnter
Enter SAP Instance Number [00] Enter
Enter SAPMOUNT Directory [/sapmnt] Enter
Enter name of SAP central host [majestix] Enter
Enter Database System ID [PRD] PRDEnter
Enter name of SAP db host [majestix] Enter
Select character set [1] (WE8DEC) Enter
Enter Oracle server version (2) Oracle 8.1.7   2Enter
Extract Oracle Client archive [1] (Yes, extract) Enter
Enter path to KERNEL CD [/sapcd] /oracle/PRD/sapreorg/KERNEL
Enter amount of RAM for SAP + DB 2044 1800Enter (in Megabytes)
Service Entry Message Server [3600] Enter
Enter Group-ID of sapsys [100] Enter
Enter Group-ID of oper [101] Enter
Enter Group-ID of dba [102] Enter
Enter User-ID of oraprd [1002] Enter
Enter User-ID of prdadm [1000] Enter
LDAP support   3Enter (no support)
Installation step completed [1] (continue) Enter
Choose installation service [1] (DB inst,file) Enter

  到目前为止, 安装阶段只在创建用户时给出了一个错误OSUSERDBSID_IND_ORA(创建 用户orasid)和 OSUSERSIDADM_IND_ORA(创建用户sidadm)。

  处理下面提到的问题,一样东西都要直接通过Oracle数据库软件安装的地方。

10.7.9 安装Oracle 8.0.5

  请看相应的SAP注释和 Oracle的关于Linux的Readme 以及Oracle DB可能出现的问题。不是所有的问题都和不兼容库有关。

  关于Oracle更多的安装信息,请参考安装Oracle

10.7.9.1 用orainst安装Oracle 8.0.5

  如果Oracle 8.0.5要被使用,一些其他的库需要被成功地重新链接, 因为Oracle 8.0.5是与一个老的glibc连接的(Redhat 6.0), 但RedHat 6.1已经使用了一个新的glibc。所以您必须安装下面额外的软件包来保证链接正常:

  • compat-libs-5.2-2.i386.rpm

  • compat-glibc-5.2-2.0.7.2.i386.rpm

  • compat-egcs-5.2-1.0.3a.1.i386.rpm

  • compat-egcs-c++-5.2-1.0.3a.1.i386.rpm

  • compat-binutils-5.2-2.9.1.0.23.1.i386.rpm

  更多的信息,看相应的SAP注释和OracleReadme。 如果这不是选项,您可以使用最初的程序,或使用与最初的Redhat系统重链接的程序。

  要编译智能代理,必须安装RedHat Tcl包。如果您不能得到 tcl-8.0.3-20.i386.rpm,一个更新的 tcl-8.0.5-30.i386.rpm也可以用。

  除了重新链接,安装是直截了当的:

# su - oraids
# export TERM=xterm
# export ORACLE_TERM=xterm
# export ORACLE_HOME=/oracle/IDS
# cd $ORACLE_HOME/orainst_sap
# ./orainst

  用Enter来确认所有的屏幕直到安装完成,除了您必须取消 Oracle On-Line Text Viewer选项,因为当前Linux下不可用。 Oracle会要求用i386-glibc20-linux-gcc重新链接来 代替gccegcs或者i386-redhat-linux-gcc

  由于时间紧迫,我决定使用Oracle 8.0.5 PreProduction版本。

10.7.9.2 安装Oracle 8.0.5 Pre-production Release for Linux (Kernel 2.0.33)

  个安装很容易。挂上CD,启动安装程序。它就会要求Oraclehome目录的定位, 然后复制那里所有的程序。我不删除先前安装的RDBMS。

  然后,Oracle数据库就可以毫无问题地运行了。

10.7.10 安装Oracle 8.1.7 Linux压缩包

  把 oracle81732.tgz 复制到您要安装的目录, 然后解压到/oracle/SID/817_32/

10.7.11 继续SAP R/3安装

  首先检查用户idsamd (sidadm)和 oraids(orasid)的环境变量。 他们现在都有使用主机名的.profile.login.cshrc文件。在这个例子中,系统的主机名是没有限制的名称, 您必须在所有三个文件中改变hostname为hostname -s。

10.7.11.1 加载数据库

  然后,可以重新启动或继续R3SETUPR3SETUP就使用R3load 创建表空间加载数据(对46B IDES,从EXPORT1到EXPORT6,对46C从DISK1到DISK4)。

  数据加载完后(可能需要一些时间),需要创建一些口令。对于测试安装,可以使用缺省口令:

问题 输入
Enter Password for sapr3 sapEnter
Confirum Password for sapr3 sapEnter
Enter Password for sys change_on_installEnter
Confirm Password for sys change_on_installEnter
Enter Password for system managerEnter
Confirm Password for system managerEnter

  到目前为止,我们只在安装4.6B的过程中dipgntab出现了几个问题。

10.7.11.2 监听

  像下面这样用orasid用户启动 Oracle

% umask 0; lsnrctl start

  另外您可能得到ORA-12546错误,因为sockets没有正确的权限。 看SAP注释072984。

10.7.11.3 更新MNLS表

  如果您打算倒入non-Latin-1 languages到SAP系统, 您必须更新表的多语言支持。这在SAP OSS注释15023和45619有描述。否则, 您可以在安装SAP的时候忽略这个问题。

注意: 如果您不需要MNLS,还是需要检查表TCPDB和初始化工作是否做了。 更多信息参考SAP注释0015023和0045619。

10.7.12 快速安装步骤

10.7.12.1 需要SAP R/3许可密钥

  您不得不要SAP R/3许可密钥。这是必需的, 因为临时许可只能用4个星期。 首先得到硬件的密匙。以用idsadm登入, 然后调用saplicense

# /sapmnt/IDS/exe/saplicense -get

  不带参数调用saplicense会给出一系列选项。 要安装上面的许可密钥,可以这样:

# /sapmnt/IDS/exe/saplicense -install

  您要输入下面的值:

SAP SYSTEM ID   = SID, 3 chars
CUSTOMER KEY    = hardware key, 11 chars
INSTALLATION NO = installation, 10 digits
EXPIRATION DATE = yyyymmdd, usually "99991231"
LICENSE KEY     = license key, 24 chars

10.7.12.2 创建用户

  在客户机000中创建一个用户(有些工作需用客户机000来完成,但与用户sap*ddic有些不同)。 作为一个用户名,我通常选择wartung (或英语中的service)。 配置文件需要sap_newsap_all。对于额外的安全的默认用户口令应当被改变(这包括用户sap*ddic)。

10.7.12.3 配置传送系统,配置,操作模式等

  在客户端000,用户不同于ddicsap*,做下面的工作:

任务 处理
Configure Transport System, e.g. as Stand-Alone Transport Domain Entity STMS
Create / Edit Profile for System RZ10
Maintain Operation Modes and Instances RZ04

  些和所有其他的快速安装步骤在SAP安装指南里面有描述。

10.7.12.4 编辑initsid.sapinitIDS.sap

  文件/oracle/IDS/dbs/initIDS.sap 包含了SAP备份配置。 这儿是使用的磁带机的大小,压缩的类型。要使用sapdba / brbackup来得到这些。 我们可以改变下面的值:

compress = hardware
archive_function = copy_delete_save
cpio_flags = "-ov --format=newc --block-size=128 --quiet"
cpio_in_flags = "-iuv --block-size=128 --quiet"
tape_size = 38000M
tape_address = /dev/nsa0
tape_address_rew = /dev/sa0

  解释

  compress:我使用的磁带机是HP DLT1,它支持硬件压缩。

  archive_function: 这个定义了保存Oracle文件日志的默认行为:新的日志文件被保存到磁带机上, 保存的日志文件会被再次保存然后再删除。如果您需要恢复数据库, 而其中一个磁带机已经损坏了,这可以防止出现麻烦。

  cpio_flags:缺省使用-B来设置块大小为 5120 Bytes。对于DLT-Tapes,HP建议至少32 K,所以我们使用--block-size=128 设置64 K。 --format=newc是必需的,因为我的inode数目超过了65535。 最后一个选项--quiet是必需的,否则brbackup会在用 cpio来输出的时候报错。

  cpio_in_flags: 这个标志从磁带机加载回数据。格式是自动验证的。

  tape_size: 通常给出了磁带机的存储容量。出于安全原因,这个值要比实际的值要小一些。

  tape_address:被cpio使用的非rewindable的设备。

  tape_address_rew:被cpio使用的非rewindable的设备。

10.7.12.5 安装后的配置

  下面的SAP参数应该在安装以后调整(例子是IDES 46B, 1 GB内存):

名称
ztta/roll_extension 250000000
abap/heap_area_dia 300000000
abap/heap_area_nondia 400000000
em/initial_size_MB 256
em/blocksize_kB 1024
ipc/shm_psize_40 70000000

  SAP注释0013026:

名称
ztta/dynpro_area 2500000

  SAP注释0157246:

Name Value
rdisp/ROLL_MAXFS 16000
rdisp/PG_MAXFS 30000

注意: 根据上面的参数,在使用1 GB内存的系统上,可以像下面这样找到内存消耗:

Mem: 547M Active, 305M Inact, 109M Wired, 40M Cache, 112M Buf, 3492K Free

10.7.13 安装过程出现的问题

10.7.13.1 修复一个问题后重起R3SETUP

  如果出现问题R3SETUP会停止。如果您找到相关的日志文件并修复了问题。 您需要再次重起R3SETUP,对于R3SETUP报的最后一个错误可以使用 REPEAT选项。

  要重起R3SETUP,只要使用相应的R3S文件重起:

# ./R3SETUP -f CENTRDB.R3S

  for 4.6B, or with

# ./R3SETUP -f CENTRAL.R3S

  对4.6C,不管有没有错误都使用CENTRAL.R3SDATABASE.R3S

注意: 在某些阶段,R3SETUP假设database和SAP 进程都启动了。但是如果发生错误使得database没有启动,您就必须手动启动database和SAP。 修复错误后,还需要再次重起R3SETUP

也不要忘记再次重起Oracle监听。

10.7.13.2 OSUSERSIDADM_IND_ORA during R3SETUP

  如果在这阶段R3SETUP报错,编辑R3SETUP使用的模板文件 (CENTRDB.R3S (4.6B)或者CENTRAL.R3S或者DATABASER3S (4.6C))。定位到[OSUSERSIDADM_IND_ORA]或者搜索STATUS=ERROR条目 然后像下面这样编辑它:

HOME=/home/sidadm (was empty)
STATUS=OK (had status ERROR)
       

  然后重起R3SETUP

10.7.13.3 OSUSERDBSID_IND_ORA during R3SETUP

  R3SETUP也可能在这个阶段报错。修正方法和上面的OSUSERSIDADM_IND_ORA一样。 编辑下面的值:

STATUS=OK

  重起R3SETUP

10.7.13.4 Oracle安装找不到“oraview.vrf文件

  开始安装之前没有取消Oracle On-Line Text Viewer 既然这个选项当前没有用于Linux,这在安装时是需要标记的,在Oracle 安装中取消它,然后重新安装。

10.7.13.5 “TEXTENV_INVALID” during R3SETUP, RFC or SAPgui Start

  如果这个错误还出现,正确的本地化可能已经丢了。 SAP注释0171356列出了必须的RPMs (比如saplocales-1.0-3, saposcheck-1.0-1 for RedHat 6.1)。 在这个例子中,您忽略了所有相关的错误, STATUSERROROK然后重起 R3SETUPSAP系统不会被正确地配置, 您就不能用一个SAPgui连接到系统。 设法使用一个旧的Linux sapgui连接会得到下面的信息:

Sat May 5 14:23:14 2001
*** ERROR => no valid userarea given [trgmsgo. 0401]
Sat May 5 14:23:22 2001
*** ERROR => ERROR NR 24 occured [trgmsgi. 0410]
*** ERROR => Error when generating text environment. [trgmsgi. 0435]
*** ERROR => function failed [trgmsgi. 0447]
*** ERROR => no socket operation allowed [trxio.c 3363]
Speicherzugriffsfehler

  这个问题归咎于SAP R/3不能正确地本地化,也不能自己正确地配置。 要能够连接到SAP, 需要在 DEFAULT.PFL(看注释0043288) 文件中添加下面的记录:

abap/set_etct_env_at_new_mode = 0
install/collate/active = 0
rscp/TCP0B = TCP0B

  重起SAP系统。现在,您可以连接到系统, 即使您指定的国家语言不能正常工作。设置完国家后,这些记录会从DEFAULT.PFL文件 删除。然后重新启动SAP系统。

10.7.13.6 ORA-00001

  这个错误只会在FreeBSD 4.5上安装Oracle 8.1.7 的时候出现。因为Oracledatabase不能自己正确初始化。 在系统上保留semaphores和shared memory。 然后再次启动数据库会出现ORA-00001错误。

  用ipcs -a找到再用ipcrm去掉。

10.7.13.7 ORA-00445 (后台进程PMON没有启动)

  这个错误发生在Oracle 8.1.7上。 如果没有用prdadm用户启动startsap脚本 (例如startsap_majestix_00)会报这个错误。

  一种可能的解决方法是用oraprd用户使用svrmgrl

% svrmgrl
SVRMGR> connect internal;
SVRMGR> startup;
SVRMGR> exit

10.7.13.8 ORA-12546(用正确的权限启动监听)

  以oraids用户启动Oracle监听:

# umask 0; lsnrctl start

  如果您得到ORA-12546错误,没有权限连接到sockets。 请看SAP注释0072984。

10.7.13.9 ORA-27102 (Out of Memory)

  这个错误发生在使用MAXDSIZDFLDSIZ大于 1 GB(1024x1024x1024)。 我们一般得到错误“Linux Error 12: Cannot allocate memory”。

10.7.13.10 [DIPGNTAB_IND_IND] during R3SETUP

  基本上, 参见 SAP 注释 0130581 (R3SETUP 步骤中的 DIPGNTAB 终止)。 在 IDES-专用安装的时候, 因为某些原因安装过程没有使用正确的 SAP 系统名 “IDS”, 而是用空串 ""代替。 这会导致一些访问目录的小问题, 因为路径是动态使用 SID来创建的 (这里是IDS)。 所以用下面的方法代替:

/usr/sap/IDS/SYS/...
/usr/sap/IDS/DVMGS00

  下面的路径被使用

/usr/sap//SYS/...
/usr/sap/D00

  为了继续安装,我们创建了一个附加的目录:

# pwd
/compat/linux/usr/sap
# ls -l
total 4
drwxr-xr-x 3  idsadm sapsys 512 May 5 11:20 D00
drwxr-x--x 5  idsadm sapsys 512 May 5 11:35 IDS
lrwxr-xr-x 1  root   sapsys 7 May 5 11:35 SYS -> IDS/SYS
drwxrwxr-x 2  idsadm sapsys 512 May 5 13:00 tmp
drwxrwxr-x 11 idsadm sapsys 512 May 4 14:20 trans

  我们也发现在SAP注释(0029227和0008401)里面描述了这个行为。 我们没有在SAP 4.6C安装里面遭遇这些问题。

10.7.13.11 [RFCRSWBOINI_IND_IND] during R3SETUP

  安装SAP 4.6C时,这个错误是前面发生过的一个错误的 结果。所以,您不得不查看相应的日志文件并修复错误。

  如果查看完日志文件后这个错误确实存在(看SAP注释),您可以设置STATUSERROROKCENTRDB.R3S文件里面) 然后重起R3SETUP。安装完后,您必须从事务SE38执行 RSWBOINS。关于RFCRSWBOINIRFCRADDBDIF的更多信息 查看SAP注释0162266。

10.7.13.12 [RFCRADDBDIF_IND_IND] during R3SETUP

  通过查看日志文件确定这个错误,它不是由于前面的问题导致的。

  如果您确定已经应用了SAP注释0162266,就只要设置 STATUSERROROKCENTRDB.R3S文件里面)。然后重起R3SETUP。 安装完后,您必须从事务SE38执行RADDBDIF

10.7.13.13 sigaction sig31: File size limit exceeded

  这个错误在启动SAP进程disp+work时出现。 如果用startsap脚本启动SAP, 就会启动子进程,并由它启动后面所有的其他SAP进程。 所以脚本本身不会注意到有错误发生。

  为了检查SAP进程是否正确启动,可以用 ps ax | grep SID查看进程的状态。 您会得到所有OracleSAP进程列表。 如果看起来有些进程没有启动,或者您不能正确连接到SAP系统。 查看相应的日志文件,可以在 /usr/sap/SID/DVEBMGSnr/work/ 下找到, 一般查看 dev_msdev_disp 文件。

  如果OracleSAP的共享内存总量超过了 内核配置文件定义的大小就会出现signal 31错误,并且不能解析大的内存地址:

# larger value for 46C production systems:
options SHMMAXPGS=393216
# smaller value sufficient for 46B:
#options SHMMAXPGS=262144

10.7.13.14 启动saposcol失败

  使用saposcol (version 4.6D)会出现一些问题。 SAP系统使用saposcol收集系统性能数据。 这个程序不是必需的。所以这些问题可以看作是小问题。 老版本(4.6B)可以工作,但是不能收集所有的性能数据(很多调用只返回0,像CPU使用率)。

本文档和其它文档可从这里下载:ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题,请先阅读文档,如不能解决再联系<questions@FreeBSD.org>.
关于本文档的问题请发信联系 <doc@FreeBSD.org>.