FreeBSD 5.0RC1下Oracle 9i安装日记(D3)
2020-03-09 22:54:35
供稿:网友
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/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
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
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也不舍得用。
#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
留给第四天吧。