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

1. Linux 兼容

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

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

1. 建立  /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 / 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

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

3. 创建  /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

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 也不舍得用。

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

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