[FreeBSD]第三天:安装Oracle 11g
一开始没有完整看官方文档,直接pkg_add -r linux_base-f10,结果提示:
linux_base-f10-10_2 linuxulator is not (kld)loaded
后来才发现没有(参考[4])
# kldload linux
linux_devtools早在2006年的时候就已经被移出ports了[6]
这个有点头晕。官方文档写得有点语焉不详,比如我安装linux_base-f10就遇到问题,个人觉得[5]的讨论很精彩,值得看看,可以学到点东西
问题:
现在安装好了linux_base-f10,也设置了系统启动加载linux模块和创建了Oracle帐户和目录,设置了bash,执行安装./runInstaller出现错误:
Segmentation fault $CMDDIR/install/.oui $*_bootClassPath
文档[7]
Question: I'm getting a segmentation fault when starting the Oracle oratclsh process. What is a segmentation fault, and how do I fix it? Is there a problem with my segments?
Answer: A segmentation fault is sometimes called a data fault, and a segmentation fault is like a S0C4 on a mainframe, an Oracle program addressing RAM outside the memory fence. In Oracle, a segmentation fault may be from an "invalid" RAM address, or RAM which has been freed, and is addressed later. In either case, it may be a bug or an SGA/PGA configuration issue.
An Oracle segmentation fault will generate a core dump, in your CDUMP directory (usually $ORACLE_HOME/admin/$ORACLE_SID/cdump). Because Oracle does not publish the internal DSECT's (Data Sections), mere mortals cannot read the core dump, and the software owner (Oracle) should be contacted.
For full details on the segmentation fault, gather the resulting core dump an open a Service Request (SR) on MOSC.
但感觉不像是这个答案.
看到文档[8],突然间想起FreeBSD官方文档有提及要设置Oracle的环境变量,所以,我估计是这个问题?google终于一篇[10],一模一样的错误。
安装oracle,执行 ./runInstaller,报错:
..../runInstaller: line 132: 3892 Segmentation fault $CMDDIR/install/.oui $* $_bootClassPath
原因:
空间不足,由于我是在虚拟机上安装,磁盘分配过小,加大磁盘,清理/tmp目录,重新执行,正常显示安装界面。
这个答案有可能。看了下我的tmp目录,貌似只有400M。。。当时自动分配没有仔细看,也没想到。。。。只能明天再弄了
问题:
重启系统后,用创建的Oracle帐户登录系统,登录失败,提示:
ELF binary type=”3” not known. Syntax error:”(“unexpected.
后来google了下,有人说#kldload linux可以。一试果然可以。但是想不明白:/etc/rc.conf中明明设置了自动load linux module啊
参考文档:
[1]FreeBSD官方文档, http://www.freebsd.org/doc/zh_CN/books/handbook/linuxemu-oracle.html
[2]Installing Oracle9i on FreeBSD[英文], http://www.shadowcom.net/freebsd-oracle9i/
[3]Oracle DBA 两日速成教程:在 Linux 上安装 Oracle 数据库 11g http://www.oracle.com/technology/global/cn/obe/11gr1_db/install/dbinst/dbinst.htm
[4]安装Linux二进制兼容模式,http://www.freebsd.org/doc/zh_CN/books/handbook/linuxemu-lbc-install.html
[5]安装linux_base[英文], http://forums.freebsd.org/showthread.php?t=10260
[6]关于 linux_devtools[英文],http://www.unix-center.net/bbs/viewthread.php?tid=17288
[7]关于segmentation fault的问答(运行时非安装时)[英文], http://www.dba-oracle.com/t_segmentation_fault.htm
[8]不要在linux服务器上安装Oracle到长内核名称下[名称翻译对了吗?英文],http://kevinclosson.wordpress.com/2007/04/18/dont-install-oracle-on-linux-servers-with-long-kernel-names/
[9]SUSE 下安装Oracle 10g[英文], http://www.puschitz.com/InstallingOracle10gOnSUSE.shtml
[10]安装中segmentation fault[中文], http://www.yanghengfei.com/archives/468/
[11]明晰SUSE enterprise 10 linux 下安装oracle 11g[中文],http://os.51cto.com/art/200911/164643.htm