无可否认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文件中在开机时自动截入
6 添加oracle用户组和用户
pw groupadd -n dba -g 94
pw groupadd -n oinstall -g 95
pw useradd -n oracle -u 94 -c "oracle daemon" -d /home/oracle -s
/compat/linux/bin/bash -g dba -g oinstall,wheel
7 配置oracle用户环境
mkdir /home/oracle
chown oracle:dba /home/oracle
cd /home/oracle
编辑.profile配置oracle用户环境:
path=/compat/linux/bin:/compat/linux/sbin:compat/linux/usr/bin:/compat/linux/
usr/sbin:/home/oracle/920/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:
/usr/local/bin:/usr/x11r6/bin; export path
oracle_base=/home/oracle; export oracle_base
#下面一个是安装oracle的目录
oracle_home=/home/oracle/920; export oracle_home
ld_library_path=$oracle_home/lib:$ld_library_path; export ld_library_path
oracle_sid=orcl; export oracle_sid
ora_nls33=$oracle_home/ocommon/nls/admin/data; export ora_nls33
export display=:0
三 安装准备
下载oracle9i(9.2.0) for linux的三个文件在一个足够大小(>2g)空间解压缩最后得到三个目录:
disk1,disk2,disk3。
四 安装
1 以oracle用户登录
2 进入x
startx
3 在x中打开一个终端窗口,在窗口中运行安装程序
cd /path/disk1
./runinstaller
安装程序开始运行,出现界面后按提示选择进行安装,这与安装典型的windows程序一样,安装时默认的临时文件在/tmp目录中,此时进入/tmp可看见oracle9i的安装目录和一些临时文件。
4 安装时的必须的手工干预
a 在刚开始安装会有一个窗口提示运行一个脚本,这时可在另一个终端窗口中先以root身份
在/compat/linux/etc中创建一个名为orainst.loc的文件并将属主设为oracle
cd /compat/linux/etc
touch orainst.loc
chown oracle:dba orainst.loc
然后以oracle身份运行脚本,之后继续安装。
b 在安装部分完成后在连接数据库的过程中有一个错误出现(与ins_ctx.mk有关),此时可选忽略,
不会引响数据库的基本功能,但在agent配置时会出错,其它正常。我不知道是否每一次安装都
会有这个错误,也不知道是什么原因造成了这个错误。
c 最后一个无需手工干预的地方在数据库配置以前要以root身份运行$oracle_home/root.sh,此
时观察其输出,不能有任何错误,如果有则是因为什么程序找不到造成的,可以修改这个脚本将
指定所提示的程序的正确路径就可以了。
5 安装后根据需要进行数据库配置,这与windows中是一样的。
五 安装后启动数据库
1 重启系统
2 以oracle身份登录
3 启动数据库
在初次启动数据库时,要先将initorcl.ora这个文件(在你指定的全局数据名所在的目录下
的pfile目录中)复制到$oracle_home/dbs目录中,并在dbs目录中将orapw.(全局名)的一个
文件复制一份名为orapw,然后就可以正常启动数据库了。
六 总结
从使用来看,直接在机器上使用sqlplus进行查询,感觉不到有什么不同,至于效率还未测试
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器