在FreeBSD上安装的SAP®系统不会被SAP 支持团队── 所支持——他们只支持某些特定的平台。
这篇文章描述了在FreeBSD系统上安装一个带有Oracle® Database for Linux的SAP R/3® System,包括 FreeBSD的安装和Oracle的安装。 下面将描述两个不同的配置:
在FreeBSD 4.3-STABLE上安装带有Oracle 8.0.5 的SAP R/3 4.6B (IDES)。
在FreeBSD 4.5-STABLE上安装带有Oracle 8.1.7的 SAP R/3 4.6C。
虽然这篇文章深入地描述了许多重要的安装步骤,但它不能取代Oracle和 SAP R/3的安装指南。
请参考SAP R/3 Linux edition自带的文档和 Oracle的特殊问题。
下面的CD-ROMs被用作SAP的安装:
名称 | 号码 | 描述 |
---|---|---|
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。
名称 | 号码 | 描述 |
---|---|---|
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的号码不同)。
安装使用SAP R/3之前,请先看看下面的注释:
号码 | 标题 |
---|---|
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 |
号码 | 标题 |
---|---|
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 |
下面的设备配置对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的数据库文件。 这些空间用于系统和数据的初始化也是足够的。
对于这个安装,我的硬件配置如下:带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)。
对于这个安装,配置是Dell™ PowerEdge™ 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)。
首先需要安装 FreeBSD。 有很多方法来完成这个工作。 要了解进一步的情况请参考 第 2.13 节。
为了简单,对SAP R/3 46B和SAP 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子目录(及其他子目录)分离开来, 我决定只简单的创建几个子目录。
下载最新的-STABLE源代码,配置完内核配置文件后重建系统和新内核。 这儿当然要包括 SAP R/3 和Oracle需要的内核参数。
首先linux_base port需要安装(以root身份):
# cd /usr/ports/emulators/linux_base # make install distclean
如果您想根据第 10.6 节在FreeBSD上安装 Oracle :
# cd /usr/ports/devel/linux_devtools # make install distclean
Linux开发环境只是安装给SAP R/3 46B IDES的,如果Oracle DB不是在这个 FreeBSD系统上重新链接,它就不需要了。
为了启动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的问题。
添加 linprocfs 到 /etc/fstab 是个好主意。 要了解进一步的细节, 请参考 linprocfs(5) 联机手册。 另一个是设置 kern.fallback_elf_brand=3, 这可以通过 /etc/sysctl.conf 文件来完成。
对简单的安装,创建下面的文件系统就够了:
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'
SAP R/3需要两个用户和3个组。 用户名依赖于包含3个字母的SAP系统ID(SID)。一些SIDs 被SAP保留(例如SAP和NIX)。 完成的列表参考SAP文档。对于IDES的安装,我们使用IDS, 对于4.6C SR2安装,使用PRD。 这样我们定义了下面的几个组:
对于默认的Oracle安装,只有dba组被使用。 和oper组一样,我们也可以使用dba组 (更详细的信息参考Oracle和 SAP文档)。
我们也需要下面的用户
用户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)
在您使用组dba和oper的情况下您也应该包括 oper。
这些目录通常建立在不同的文件系统上。这完全依赖于您的需求。 我们选择把它们建立在同一个目录:
首先我们将设置一些目录的所有者和权限(以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
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
SAP至少要求两个本地化设置,它不是RedHat的默认安装。 SAP提供从他们的FTP服务器下载必需的RPMs(只有您是OSS的客户才能访问)。 看注解0171356查找您需要的RPMs列表。
也可以只创建适当的链接(例如从de_DE到en_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文件 里面的STATUS为OK),不费一番周折, 您就别想登录进SAP系统。
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需要更多的内存, 共享内存比 SAP 和 Oracle 需要的还多, 所以尽量为共享内存选一个大值。
注意: 在 i386™ 上 的 FreeBSD 默认配置中, 应将 MAXDSIZ 和 DFLDSIZ 设置为 1 GB。否则, 会出现类似 “ORA-27102: out of memory”和 “Linux Error: 12: Cannot allocate memory” 这样的奇怪的错误。
在安装过程中,有许多 CDROM 要被挂上和卸下。建议您有多个CDROM驱动器, 您可以把它们都挂上。我决定复制 CDROM 的内容到相应的目录:
/oracle/SID/sapreorg/cd-name
对于4.6B/IDES的安装,cd-name是KERNEL, RDBMS, EXPORT1, EXPORT2,EXPORT3, EXPORT4, EXPORT5 和 EXPORT6中的一个,对于4.6C
SR2的安装,是 KERNEL, RDBMS, DISK1,DISK2, DISK3,DISK4和 LANG中的一个。 所有挂载上的CDs里面的文件名都应该是大写,
否则要用-g
选项来挂载。所以使用下面的命令:
# mount_cd9660 -g /dev/cd0a /mnt # cp -R /mnt/* /oracle/SID/sapreorg/cd-name # umount /mnt
首先您需要准备一个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需要的主机名, 不需要完整的域名。 所以为orasid和 sidadm 直接设置主机名,或设置别名alias hostname='hostname -s'。 可以在.profile和.login里面为这两个用户设置。
确定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数据库软件安装的地方。
确定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数据库软件安装的地方。
请看相应的SAP注释和 Oracle的关于Linux的Readme 以及Oracle DB可能出现的问题。不是所有的问题都和不兼容库有关。
关于Oracle更多的安装信息,请参考安装Oracle。
如果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注释和Oracle的Readme。 如果这不是选项,您可以使用最初的程序,或使用与最初的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重新链接来 代替gcc,egcs或者i386-redhat-linux-gcc 。
由于时间紧迫,我决定使用Oracle 8.0.5 PreProduction版本。
个安装很容易。挂上CD,启动安装程序。它就会要求Oraclehome目录的定位, 然后复制那里所有的程序。我不删除先前安装的RDBMS。
然后,Oracle数据库就可以毫无问题地运行了。
把 oracle81732.tgz 复制到您要安装的目录, 然后解压到/oracle/SID/817_32/。
首先检查用户idsamd (sidadm)和 oraids(orasid)的环境变量。 他们现在都有使用主机名的.profile,.login 和.cshrc文件。在这个例子中,系统的主机名是没有限制的名称, 您必须在所有三个文件中改变hostname为hostname -s。
然后,可以重新启动或继续R3SETUP。 R3SETUP就使用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出现了几个问题。
像下面这样用orasid用户启动 Oracle:
% umask 0; lsnrctl start
另外您可能得到ORA-12546错误,因为sockets没有正确的权限。 看SAP注释072984。
如果您打算倒入non-Latin-1 languages到SAP系统, 您必须更新表的多语言支持。这在SAP OSS注释15023和45619有描述。否则, 您可以在安装SAP的时候忽略这个问题。
注意: 如果您不需要MNLS,还是需要检查表TCPDB和初始化工作是否做了。 更多信息参考SAP注释0015023和0045619。
您不得不要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
在客户机000中创建一个用户(有些工作需用客户机000来完成,但与用户sap*和 ddic有些不同)。 作为一个用户名,我通常选择wartung (或英语中的service)。 配置文件需要sap_new和 sap_all。对于额外的安全的默认用户口令应当被改变(这包括用户sap*和 ddic)。
在客户端000,用户不同于ddic和sap*,做下面的工作:
任务 | 处理 |
---|---|
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安装指南里面有描述。
文件/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的设备。
下面的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:
SAP注释0157246:
注意: 根据上面的参数,在使用1 GB内存的系统上,可以像下面这样找到内存消耗:
Mem: 547M Active, 305M Inact, 109M Wired, 40M Cache, 112M Buf, 3492K Free
如果出现问题R3SETUP会停止。如果您找到相关的日志文件并修复了问题。 您需要再次重起R3SETUP,对于R3SETUP报的最后一个错误可以使用 REPEAT选项。
要重起R3SETUP,只要使用相应的R3S文件重起:
# ./R3SETUP -f CENTRDB.R3S
for 4.6B, or with
# ./R3SETUP -f CENTRAL.R3S
对4.6C,不管有没有错误都使用CENTRAL.R3S或 DATABASE.R3S。
注意: 在某些阶段,R3SETUP假设database和SAP 进程都启动了。但是如果发生错误使得database没有启动,您就必须手动启动database和SAP。 修复错误后,还需要再次重起R3SETUP。
也不要忘记再次重起Oracle监听。
如果在这阶段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。
R3SETUP也可能在这个阶段报错。修正方法和上面的OSUSERSIDADM_IND_ORA一样。 编辑下面的值:
STATUS=OK
重起R3SETUP。
开始安装之前没有取消Oracle On-Line Text Viewer 既然这个选项当前没有用于Linux,这在安装时是需要标记的,在Oracle 安装中取消它,然后重新安装。
如果这个错误还出现,正确的本地化可能已经丢了。 SAP注释0171356列出了必须的RPMs (比如saplocales-1.0-3, saposcheck-1.0-1 for RedHat 6.1)。 在这个例子中,您忽略了所有相关的错误, STATUS从ERROR到OK然后重起 R3SETUP。SAP系统不会被正确地配置, 您就不能用一个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系统。
这个错误只会在FreeBSD 4.5上安装Oracle 8.1.7 的时候出现。因为Oracledatabase不能自己正确初始化。 在系统上保留semaphores和shared memory。 然后再次启动数据库会出现ORA-00001错误。
用ipcs -a找到再用ipcrm去掉。
这个错误发生在Oracle 8.1.7上。 如果没有用prdadm用户启动startsap脚本 (例如startsap_majestix_00)会报这个错误。
一种可能的解决方法是用oraprd用户使用svrmgrl:
% svrmgrl SVRMGR> connect internal; SVRMGR> startup; SVRMGR> exit
以oraids用户启动Oracle监听:
# umask 0; lsnrctl start
如果您得到ORA-12546错误,没有权限连接到sockets。 请看SAP注释0072984。
这个错误发生在使用MAXDSIZ和DFLDSIZ大于 1 GB(1024x1024x1024)。 我们一般得到错误“Linux Error 12: Cannot allocate memory”。
基本上, 参见 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安装里面遭遇这些问题。
安装SAP 4.6C时,这个错误是前面发生过的一个错误的 结果。所以,您不得不查看相应的日志文件并修复错误。
如果查看完日志文件后这个错误确实存在(看SAP注释),您可以设置STATUS 从ERROR到OK(CENTRDB.R3S文件里面) 然后重起R3SETUP。安装完后,您必须从事务SE38执行 RSWBOINS。关于RFCRSWBOINI和RFCRADDBDIF的更多信息 查看SAP注释0162266。
通过查看日志文件确定这个错误,它不是由于前面的问题导致的。
如果您确定已经应用了SAP注释0162266,就只要设置 STATUS从ERROR到OK (CENTRDB.R3S文件里面)。然后重起R3SETUP。 安装完后,您必须从事务SE38执行RADDBDIF。
这个错误在启动SAP进程disp+work时出现。 如果用startsap脚本启动SAP, 就会启动子进程,并由它启动后面所有的其他SAP进程。 所以脚本本身不会注意到有错误发生。
为了检查SAP进程是否正确启动,可以用 ps ax | grep SID查看进程的状态。 您会得到所有Oracle和SAP进程列表。 如果看起来有些进程没有启动,或者您不能正确连接到SAP系统。 查看相应的日志文件,可以在 /usr/sap/SID/DVEBMGSnr/work/ 下找到, 一般查看 dev_ms 和 dev_disp 文件。
如果Oracle和SAP的共享内存总量超过了 内核配置文件定义的大小就会出现signal 31错误,并且不能解析大的内存地址:
# larger value for 46C production systems: options SHMMAXPGS=393216 # smaller value sufficient for 46B: #options SHMMAXPGS=262144
使用saposcol (version 4.6D)会出现一些问题。 SAP系统使用saposcol收集系统性能数据。 这个程序不是必需的。所以这些问题可以看作是小问题。 老版本(4.6B)可以工作,但是不能收集所有的性能数据(很多调用只返回0,像CPU使用率)。
本文档和其它文档可从这里下载:ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读文档,如不能解决再联系<questions@FreeBSD.org>.
关于本文档的问题请发信联系 <doc@FreeBSD.org>.