FreeBSD-5.2下安装ORACLE9i手记
出处:freebsdchina
责任编辑:leelee
[04-7-28 16:30] 作者:jxngzhl 
  无可否认FreeBSD是最优秀的操作系统之一,但缺少大型商业数据库的支持妨碍了FreeBSD走向高端和企业使用,Oracle作为数据库的领头雁,如果能够在FreeBSD上安家,则是我等FreeBSD FANS的一个鼓
舞。经过两天的努力并参考了一个俄文网站的关于在FreeBSD上安装ORACLE8i的引见,成功地在
FreeBSD5.2上安装的ORACLE9i。以下是安装手记。 
一 内核配置 
# Add for oracle 
options NBUF=2048 
options MAXDSIZ="(1024UL*1024*1024)" 
options MAXSSIZ="(1024UL*1024*1024)" 
options DFLDSIZ="(1024UL*1024*1024)" 
# 
options SYSVSHM 
options SHMMAXPGS=65536 
options SHMMIN=2 
options SHMMNI=256 
options SHMSEG=256 
# 
options SYSVSEM 
options SEMMAP=512 
options SEMMNI=512 
options SEMUME=512 
options SEMMNS=1024 
options SEMMNU=512 
options SEMMSL=256 
options SEMOPM=256 
# 
options SYSVMSG #SYSV-stylmessage queues 
options MSGMNB=8192 
options MSGMNI=256 
options MSGSEG=8192 
options MSGSSZ=16 
options MSGTQL=128 
# Add end 
  另外将maxusers设为512,我在定制内核时选择的是ULE调度器,如今ULE曾经是默认的调度器了。 
二 系统配置 
1 SWAP分区大小为1G,RAM256M,ORACLE_HOME要求有5G以上空间。 
2 安装Linux仿真环境。 
  必须安装linux_base-7.1和linux_devtools-7.1两个PKGS,但我在安装时发现从ports曾经无法安装devtools-7.1了,所以被迫从一个安装了RH7.3的机器中依据两个ports的引见将整个RH7.3系统CP到了FreeBSD中。无论你如何构建/compat/linux目录树,必须保证在仿真环境中有ar,as,ld,nm,tr,cpp,chmod,g++,printf,find,chgrp,chown
等程序。 
3 调整Linux仿真环境 
a 在/compat/linux/etc中建立mtab到/etc/fstab的链接 
ln -s /etc/fstab /compat/linux/etc/mtab 
b 在/compat/linux/bin中建立到awk,sed,chown的链接 
ln -s /compat/linux/usr/bin/awk /compat/linux/bin/awk 
ln -s /compat/linux/usr/bin/sed /compat/linux/bin/sed 
ln -s /usr/sbin/chown /compat/linux/bin/chown 
  以上配置是为了满足ORACLE9i在安装时的一些脚本的要求,我所知道的在运转root.sh时用到以上的配置,但也可以在运转前修正这个脚本。 
c 在/compat/linux/bin中建立arch可执行文件 
内容为: 
#!/compat/linux/bin/bash 
echo i686 #依据你的机器是i586还是i486 
打上可执行标记: 
chmod +x arch 
4 打开linux仿真支持,修正rc.conf文件也可以kldload linux模块 
enable_linux="YES" 
5 mount linux proc文件系统 
mkdir /compat/linux/proc 
mount -t linproc /dev/device /compat/linux/proc 
第二步可以放入/etc/fstab文件中在开机时自动截入