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

王朝oracle·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

<!--

@page { size: 21cm 29.7cm; margin: 2cm }

P { margin-bottom: 0.21cm }

-->

1.

Linux 兼容

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

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

建立 /compat/linux/etc/mtab

#cat

/etc/fstab | grep -v '^#' | grep -v cd9660 | grep -v proc | grep -v

swap | grep -v devfs > /compat/linux/etc/mtab

他生成的内容是:

/dev/ad0s2a/ufsrw11

/dev/ad1s1/u01ufsrw11

我生成的内容是:

/dev/ad0s1a/ufsrw11

/dev/ad0s1e/tmpufsrw22

/dev/ad0s1f/usrufsrw22

/dev/ad0s1d/varufsrw22

创建链接

#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

echo

i686

^D

然后给它执行权

#chmod

+x /compat/linux/bin/arch

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

#ln

-s /compat/linux/bin/arch /bin/arch

2.

修改 KERNEL

#cd

/usr/src/sys/i386/conf

#cp

GENERIC ORACLE

#cat

>> ORACLE

optionsSEMMAP=128

optionsSEMMNI=128

optionsSEMMNS=32000

optionsSEMOPM=250

optionsSEMMSL=250

optionsSHMMAXPGS=65536

optionsSHMMAX=1073741824

optionsSHMMNI=4096

optionsSHMSEG=4096

optionsMAXDSIZ=”(1024*1024*1024)”

optionsMAXSSIZ=”(1024*1024*1024)”

optionsDFLDSIZ=”(1024*1024*1024)”

^D

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

#config

ORACLE

#cd

../compile/ORACLE

#make

depend install

#reboot

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

You

must build a kernel first

这时,只需要执行:

就是这句: #make

depend install 改成:

#make

depend

#make

#make

install 就 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>

'

export

ORACLE_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

#export

DISPLAY=:0

#cd

/usr/local/ora9i/Disk1

#./runInstaller

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

ELF

binary type=”0” not known.

./runInstaller:1:Syntax

error:”(“unexpected.

经过 google+ 测试,可以运行 #kldload

linux 来解决『这个应该在内核编译时指定选项来搞定吧,有时间试一下。』

果然可以安装了,选择 Custom 方式,只安装 Oracle

9i Database ,安装过程出现 15 处错误,全部 ignore 了。网上有很多人说他们在 Linux 上安装时也出现这样的错误,诸如:

Error

in invoking target ctx_on of make file:

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

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

结尾的时候运行 Net

Assistant 出错, Agent 时出错,创建数据库时出错。(是我 echo

i586 的错误)

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

果然在 lib 里没有它,

Brian

C. 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

留给第四天吧。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航