经过了1天半的折腾,终于完成了Oracle 11g-R2在Ubuntu 14.04 LTS上的安装过程。
Oracle 官方文档 http://docs.oracle.com/cd/E11882_01提到,Oracle的操作系统为Oracle Linux,Redhat 以及SUSE Linux,在Ubuntu上安装Oracle需要修改很多参数,包括做包文件的软连接等等
设置内核参数、文件限制,建立用户、用户组、安装目录等操作没什么差别,这里就不再赘述了。
根据Oracle安装文档进行了相应设置以后,到了自测阶段出现了很多包的failed,有一部分是因为已经安装了最新的包(比如make,已经安装了4.6,但是Oracle要求的是3.8),所以就不再装一遍了。点击all ignore后下一步,开始安装流程。到80%左右的时候开始狂冒错误。
首先是
error in invoking target 'client_sharedlib' of makefile '/opt/oracle11g/server/rdbms/lib/ins_rdbms.mk
.网上查了下这个问题通常出现在32位操作系统安装64位oracle或者64位操作系统安装32位oracle的时候,但是检查了一下安装包,没问题啊是64位的。没办法,继续查资料。后来在这篇文章里http://my.oschina.net/farces/blog/279434发现,这是因为Ubuntu和Redhat的一些包的路径不同导致的(Ubuntu下这些64位的包和Redhat的包路径不同,导致Oracle安装时找不到这些包),于是进行软链接:
ln -s /etc /etc/rc.d
ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/basename /bin/basename
ln -s /usr/bin/rpm /bin/rpm
ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/
ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/libpthread_nonshared.a
ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/libc_nonshared.a
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /lib64/
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.5 /lib64/
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.5 /usr/lib64/
其中
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.5 /usr/lib64/
提示目标文件已存在,通过mv命令将原来的文件改名备份后再次软链接,然后回到安装界面点击retry,OK通过了
接下来又出现了错误
Error in invoking target 'install' of makefile '/opt/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk'
查询安装日志后发现报错为
/lib64/libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14
网上查找相关资料后,在这篇文章http://www.zenisoft.cn/wordpress/?p=151里发现原因是Ubuntu自带的libstdc++5.0 和oracle所要不兼容所致的,看来又是操作系统的问题
下载ftp://rpmfind.net/linux/Mandriva/official/2010.0/x86_64/media/contrib/release/libstdc++5-3.3.6-4mdv2009.0.x86_64.rpm,解压后放到/usr/lib/x86_64-linux-gnu下(当然要将原来的包改名备份起来了),点击重试,OK问题解决。
过了一会儿又开始冒错……(服了)
Error in invoking target 'agent nmhs' of makefile....'
继续查找资料,编辑$ORACLE_HOME/lib/sysman/ins_emagent.mk,将
$(MK_EMAGENT_NMECTL)
改为:
$(MK_EMAGENT_NMECTL) -lnnz11
回去后点重试,OK,终于通过了不再冒错了。
安装完成后又有个小插曲:我将 ORA