确信您已经从 Ports Collection 安装了 emulators/linux_base 和 devel/linux_devtools。 如果在使用这些 port 时遇到困难, 您可能就不得不从 package, 或使用较早版本的 Ports Collection 来安装。
如果要运行智能代理, 您还需要安装 Red Hat Tcl 软件包:
tcl-8.0.3-20.i386.rpm
。
用于安装官方的 RPM
(archivers/rpm) 软件包的命令是:
#
rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm package
包
的安装通常不会出错。
安装Oracle®之前,您需要设置正确的环境。 这节只描述了在FreeBSD下安装Linux版本Oracle®需要特别注意的地方。 不像在Oracle®安装指南中所描述的那样。
正如Oracle®安装指南描述的那样,您需要设置共享内存的最大值。
不要在FreeBSD下使用SHMMAX
,SHMMAX
只是用来计算SHMMAXPGS
和PGSIZE
的。
因此要使用SHMMAXPGS
。所有其他要使用的选项可以参考指南,例如:
options SHMMAXPGS=10000 options SHMMNI=100 options SHMSEG=10 options SEMMNS=200 options SEMMNI=70 options SEMMSL=61
设置这些选项来适应 Oracle®的使用。
当然,确信您的内核配置文件中有下面这些选项:
options SYSVSHM #SysV shared memory options SYSVSEM #SysV semaphores options SYSVMSG #SysV interprocess communication
创建一个oracle
帐号,正如您创建其他帐号一样。
oracle
帐号特殊的地方是您需要给它一个Linux shell。
添加/compat/linux/bin/bash
到/etc/shells
,
然后设置oracle
帐号的shell为/compat/linux/bin/bash
。
除了普通的Oracle®变量外,
比如ORACLE_HOME
和ORACLE_SID
,您还必须设置下面的环境变量:
变量 | 值 |
---|---|
LD_LIBRARY_PATH | $ORACLE_HOME/lib |
CLASSPATH | $ORACLE_HOME/jdbc/lib/classes111.zip |
PATH | /compat/linux/bin
/compat/linux/sbin
/compat/linux/usr/bin
/compat/linux/usr/sbin
/bin
/sbin
/usr/bin
/usr/sbin
/usr/local/bin
$ORACLE_HOME/bin |
建议在.profile
里面设置所有的环境变量。一个完整的例子是:
ORACLE_BASE=/oracle; export ORACLE_BASE ORACLE_HOME=/oracle; export ORACLE_HOME LD_LIBRARY_PATH=$ORACLE_HOME/lib export LD_LIBRARY_PATH ORACLE_SID=ORCL; export ORACLE_SID ORACLE_TERM=386x; export ORACLE_TERM CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip export CLASSPATH PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin PATH=$PATH:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin export PATH
由于 Linux 模拟器的一处小小的差异, 您必须在 /var/tmp
中创建一个名为 .oracle
的目录才能够启动安装程序。
需要把它设置为属于 oracle
用户。 接下来,
您就可以毫无问题地安装 Oracle® 了。
如果您遇到问题, 请首先检查 Oracle®
软件包和/或配置文件!安装完 Oracle®
之后, 使用下面两节中所说的补丁。
一个比较常见的问题是 TCP 协议适配器安装不正确。 其结果是将无法进行任何的 TCP 侦听。 下面的操作将帮助解决此问题:
#
cd $ORACLE_HOME/network/lib
#
make -f ins_network.mk ntcontab.o
#
cd $ORACLE_HOME/lib
#
ar r libnetwork.a ntcontab.o
#
cd $ORACLE_HOME/network/lib
#
make -f ins_network.mk install
不要忘记了再运行一下root.sh
!
从CD安装Oracle®时,一些工作需要在root
下执行,
这些工作都被记录在一个叫root.sh
的脚本里面。这个脚本被写在orainst
目录。
为了使用root.sh
来正确定位chown
或在Linux本地shell下执行脚本,
应该对它进行修补。
*** orainst/root.sh.orig Tue Oct 6 21:57:33 1998 --- orainst/root.sh Mon Dec 28 15:58:53 1998 *************** *** 31,37 **** # This is the default value for CHOWN # It will redefined later in this script for those ports # which have it conditionally defined in ss_install.h ! CHOWN=/bin/chown # # Define variables to be used in this script --- 31,37 ---- # This is the default value for CHOWN # It will redefined later in this script for those ports # which have it conditionally defined in ss_install.h ! CHOWN=/usr/sbin/chown # # Define variables to be used in this script
当您不从CD安装Oracle®时,
您可以从源代码来修补root.sh
。
它叫做rthd.sh
,定位在源代码树的orainst
目录。
genclntsh
脚本用来创建一个简单的共享客户端库。在建立demos时被使用。
完成补丁后就注释掉了下面的PATH
变量:
*** bin/genclntsh.orig Wed Sep 30 07:37:19 1998 --- bin/genclntsh Tue Dec 22 15:36:49 1998 *************** *** 32,38 **** # # Explicit path to ensure that we're using the correct commands #PATH=/usr/bin:/usr/ccs/bin export PATH ! PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH # # each product MUST provide a $PRODUCT/admin/shrept.lst --- 32,38 ---- # # Explicit path to ensure that we're using the correct commands #PATH=/usr/bin:/usr/ccs/bin export PATH ! #PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH # # each product MUST provide a $PRODUCT/admin/shrept.lst
本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读
文档,如不能解决再联系
<questions@FreeBSD.org>.
关于本文档的问题请发信联系
<doc@FreeBSD.org>.