FreeBSD使用手册上一页第10章Linux二进制兼容模式下一页10.6安装Oracle®ContributedbyMarcelMoolenaar.10.6.1前言这节描述在FreeBSD上安装Linux版的Oracle®8.0.5和Oracle8.0.5.1EnterpriseEdition。10.6.2安装Linux环境确信您已经从PortsCollection安装了emulators/linux_base和devel/linux_devtools。如果在使用这些port时遇到困难,您可能就不得不从package,或使用较早版本的PortsCollection来安装。如果要运行智能代理,您还需要安装RedHatTcl软件包:tcl-8.0.3-20.i386.rpm。用于安装官方的RPM(archivers/rpm)软件包的命令是:#rpm-i--ignoreos--root/compat/linux--dbpath/var/lib/rpmpackage包的安装通常不会出错。10.6.3创建Oracle环境安装Oracle之前,您需要设置正确的环境。这节只描述了在FreeBSD下安装Linux版本Oracle需要特别注意的地方。不像在Oracle安装指南中所描述的那样。10.6.3.1调整内核正如Oracle安装指南描述的那样,您需要设置共享内存的最大值。不要在FreeBSD下使用SHMMAX,SHMMAX只是用来计算SHMMAXPGS和PGSIZE的。因此要使用SHMMAXPGS。所有其他要使用的选项可以参考指南,例如:optionsSHMMAXPGS=10000optionsSHMMNI=100optionsSHMSEG=10optionsSEMMNS=200optionsSEMMNI=70optionsSEMMSL=61设置这些选项来适应Oracle的使用。当然,确信您的内核配置文件中有下面这些选项:optionsSYSVSHM#SysVsharedmemoryoptionsSYSVSEM#SysVsemaphoresoptionsSYSVMSG#SysVinterprocesscommunication10.6.3.2Oracle帐号创建一个oracle帐号,正如您创建其他帐号一样。oracle帐号特殊的地方是您需要给它一个Linuxshell。添加/compat/linux/bin/bash到/etc/shells,然后设置oracle帐号的shell为/compat/linux/bin/bash。10.6.3.3环境除了普通的Oracle变量外,比如ORACLE_HOME和ORACLE_SID,您还必须设置下面的环境变量:变量值LD_LIBRARY_PATH$ORACLE_HOME/libCLASSPATH$ORACLE_HOME/jdbc/lib/classes111.zipPATH/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;exportORACLE_BASEORACLE_HOME=/oracle;exportORACLE_HOMELD_LIBRARY_PATH=$ORACLE_HOME/libexportLD_LIBRARY_PATHORACLE_SID=ORCL;exportORACLE_SIDORACLE_TERM=386x;exportORACLE_TERMCLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zipexportCLASSPATHPATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/binPATH=$PATH:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbinPATH=$PATH:/usr/local/bin:$ORACLE_HOME/binexportPATH10.6.4安装Oracle由于Linux模拟器的一处小小的差异,您必须在/var/tmp中创建一个名为.oracle的目录才能够启动安装程序。需要把它设置为属于oracle用户。接下来,您就可以毫无问题地安装Oracle了。如果您遇到问题,请首先检查Oracle软件包和/或配置文件!安装完Oracle之后,使用下面两节中所说的补丁。一个比较常见的问题是TCP协议适配器安装不正确。其结果是将无法进行任何的TCP侦听。下面的操作将帮助解决此问题:#cd$ORACLE_HOME/network/lib#make-fins_network.mkntcontab.o#cd$ORACLE_HOME/lib#arrlibnetwork.antcontab.o#cd$ORACLE_HOME/network/lib#make-fins_network.mkinstall不要忘记了再运行一下root.sh!10.6.4.1修补root.sh从CD安装Oracle时,一些工作需要在root下执行,这些工作都被记录在一个叫root.sh的脚本里面。这个脚本被写在orainst目录。为了使用root.sh来正确定位chown或在Linux本地shell下执行脚本,应该对它进行修补。***orainst/root.sh.origTueOct621:57:331998---orainst/root.shMonDec2815:58:531998******************31,37****#ThisisthedefaultvalueforCHOWN#Itwillredefinedlaterinthisscriptforthoseports#whichhaveitconditionallydefinedinss_install.h!CHOWN=/bin/chown##Definevariablestobeusedinthisscript---31,37----#ThisisthedefaultvalueforCHO...