数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
FreeBSD 5.0RC1下Oracle 9i安装日记(D3)

作者:未知 来源:月光软件站 加入时间:2005-5-13 月光软件站

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

    1. 创建链接

#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


    1. 创建/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=”(1024*1024*1024)”

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

options DFLDSIZ=”(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 installOK了。


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

留给第四天吧。




相关文章

相关软件