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


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=”(102410241024)”

options MAXSSIZ=”(102410241024)”

options DFLDSIZ=”(102410241024)”

^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“

 1<your address="" ip=""> <hostname>” &gt;&gt; /etc/hosts   
 2  
 3  
 4  
 5准备好了,现在可以进行安装了。   
 6  
 7cd/usr/local/ora9i/Disk1「我把安装包解到这里了」   
 8  
 9  
10  
11#xhost+local:oracle #给oracle用户本地访问X的权利   
12  
13#su– oracle   
14  
15#exportDISPLAY=:0   
16  
17#cd/usr/local/ora9i/Disk1   
18  
19#./runInstaller   
20  
21我在运行runInstaller时出现了一个错误:   
22  
23ELFbinary type=”0” not known.   
24  
25./runInstaller:1:Syntaxerror:”(“unexpected.   
26  
27经过google+测试,可以运行#kldloadlinux来解决『这个应该在内核编译时指定选项来搞定吧,有时间试一下。』   
28  
29果然可以安装了,选择Custom方式,只安装Oracle9i Database,安装过程出现15处错误,全部ignore了。网上有很多人说他们在Linux上安装时也出现这样的错误,诸如:   
30  
31Errorin invoking target ctx_on of make file:   
32  
33/usr/opt/ora9i/product/9.2.0.1.0/rdbms/lib/ins_rdbms.mk   
34  
35不过还好,全部安装完毕。   
36  
37结尾的时候运行NetAssistant出错,Agent时出错,创建数据库时出错。(是我echoi586的错误)   
38  
39运行sqlplus时,提示:libclntsh.so找不到   
40  
41果然在lib里没有它,   
42  
43  
44  
45按BrianC. Ledbetter所说需要:   
46  
47#LD_LIBRARY_PATH=$ORACLE_HOME/lib; export LD_LIBRARY_PATH   
48  
49我一开始采用的是在安装文件里「安装文件在/usr/local/ora9i」执行   
50  
51find . -name 'libclnt*'-print   
52  
53结果发现在   
54  
55./Components/oracle.swd.oui/2.2.0.12.0/DataFiles/Expanded/bin/linux/libclntsh.so[.9.0]   
56  
57sqlplus终于可以运行了,不过还是有错误:   
58  
59oracle-freebsd&gt; sqlplus/nolog   
60  
61....   
62  
63SQL&gt; connect / as sysdba   
64  
65TNS: lost contact   
66  
67留给第四天吧。</hostname></your>
Published At
Categories with 数据库类
comments powered by Disqus