FreeBSD 5.0RC1下Oracle 9i安装日记(D3)

发表于:2007-07-02来源:作者:点击数: 标签:
1.Linux兼容 其实在FreeBSD下安装 Oracle 9i,实质上是在Linux下安装。不过是由FreeBSD提供一个兼容环境而已。 应该说FreeBSD提供的Linux环境已经足够好了,但是我们还是需要做点工作: 建立/compat/ linux /etc/mtab #cat/etc/fstab | grep -v @#^#@# | gre

1.Linux兼容

其实在FreeBSD下安装Oracle9i,实质上是在Linux下安装。不过是由FreeBSD提供一个兼容环境而已。

应该说FreeBSD提供的Linux环境已经足够好了,但是我们还是需要做点工作:



建立/compat/linux/etc/mtab

#cat/etc/fstab | grep -v @#^#@# | grep -v cd9660 | grep -v proc | grep -vswap | grep -v devfs > /compat/linux/etc/mtab

他生成的内容是:

/dev/ad0s2a / ufs rw 1 1

/dev/ad1s1 /u01 ufs rw 1 1

我生成的内容是:

/dev/ad0s1a / ufs rw 1 1

/dev/ad0s1e /tmp ufs rw 2 2

/dev/ad0s1f /usr ufs rw 2 2

/dev/ad0s1d /var ufs rw 2 2

创建链接

#ln-s /usr/bin/awk /compat/linux/bin/awk

#ln-s /usr/bin/sed /compat/linux/bin/sed

#ln-s /usr/bin/chown /compat/linux/bin/chown



创建/compat/linux/bin/arch

#cat> /compat/linux/bin/arch

#!/compat/linux/bin/bash

echoi686

^D

然后给它执行权

#chmod+x /compat/linux/bin/arch

如果你愿意,给它也来个链接也是不错的

#ln-s /compat/linux/bin/arch /bin/arch



2.修改KERNEL

#cd/usr/src/sys/i386/conf

#cpGENERIC ORACLE

#cat>> ORACLE

options SEMMAP=128

options SEMMNI=128

options SEMMNS=32000

options SEMOPM=250

options SEMMSL=250

options SHMMAXPGS=65536

options SHMMAX=1073741824

options SHMMNI=4096

options SHMSEG=4096

options MAXDSIZ=”(1024*1024*1024)”

options MAXSSIZ=”(1024*1024*1024)”

options DFLDSIZ=”(1024*1024*1024)”

^D

*注,好象高手们都比较喜欢纯命令行,连个VI也不舍得用。

#configORACLE

#cd../compile/ORACLE

#makedepend install

#reboot

如果你象我一样还没编译过内核,可能会出现如下提示:

Youmust build a kernel first

这时,只需要执行:

就是这句:#makedepend install改成:

#makedepend

#make

#makeinstall就OK了。



3.设置Oracle的用户环境变量

昨天安装时只是创建了oracle用户,对组并没有细分。现在也补上吧。应该是个好习惯。

#cat>> /etc/group

oraoper:*:97:oracle

oradb:*:98:oracle

oracle:*:99: #这句因为加oracle用户时自动加了,所以我并没有写。

^D

#adduser就略过了

#mkdir-p /home/oracle同上

#chown-R oracle:oracle /home/oracle这句好象我当时没有执行,加上

接下来是关键了

#cat> /home/oracle/.profile

ORACLE_HOME=/usr/opt/ora9i/product/9.2.0.1.0

ORACLE_SID=ORACLE

PATH=$ORACLE_HOME/bin:$PATH

PS1=@#oracle-freebsd>@#

exportORACLE_HOME ORACLE_SID PATH PS1

^D

如果你没有DNS,需用要在hosts文件里加上

#echo“<your IP address> <hostname>” >> /etc/hosts



准备好了,现在可以进行安装了。

cd/usr/local/ora9i/Disk1「我把安装包解到这里了」



#xhost+local:oracle #给oracle用户本地访问X的权利

#su– oracle

#exportDISPLAY=:0

#cd/usr/local/ora9i/Disk1

#./runInstaller

我在运行runInstaller时出现了一个错误:

ELFbinary type=”0” not known.

./runInstaller:1:Syntaxerror:”(“unexpected.

经过google+测试,可以运行#kldloadlinux来解决『这个应该在内核编译时指定选项来搞定吧,有时间试一下。』

果然可以安装了,选择Custom方式,只安装Oracle9i Database,安装过程出现15处错误,全部ignore了。网上有很多人说他们在Linux上安装时也出现这样的错误,诸如:

Errorin invoking target ctx_on of make file:

/usr/opt/ora9i/product/9.2.0.1.0/rdbms/lib/ins_rdbms.mk

不过还好,全部安装完毕。

结尾的时候运行NetAssistant出错,Agent时出错,创建数据库时出错。(是我echoi586的错误)

运行sqlplus时,提示:libclntsh.so找不到

果然在lib里没有它,



按BrianC. Ledbetter所说需要:

#LD_LIBRARY_PATH=$ORACLE_HOME/lib; export LD_LIBRARY_PATH

我一开始采用的是在安装文件里「安装文件在/usr/local/ora9i」执行

find . -name @#libclnt*@#-print

结果发现在

./Components/oracle.swd.oui/2.2.0.12.0/DataFiles/Expanded/bin/linux/libclntsh.so[.9.0]

sqlplus终于可以运行了,不过还是有错误:

oracle-freebsd> sqlplus/nolog

....

SQL> connect / as sysdba

TNS: lost contact

留给第四天吧。

原文转自:http://www.ltesting.net