发布于 2015-11-07 14:55:13 | 1185 次阅读 | 评论: 1 | 来源: PHPERZ

这里有新鲜出炉的精品教程,程序狗速度看过来!

Oracle关系数据库管理系统

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。到目前仍在数据库市场上占有主要份额。


安装环境:Red Hat Linux 6.5_x64、oracle11g 64bit

报错详情:

安装到68%时弹窗报错:

调用makefile '/test/app/Administrators/product/11.2.0/dbhome_1/network/lib/ins_net_client.mk' 的目标 'mkldflags ntcontab.o nnfgt.o' 时出错。有关详细信息, 请参阅 '/test/app/oraInventory/logs/installActions2015-11-02_02-27-26PM.log'。

查看日志具体信息有下面的信息:

信息:gcc: error trying to exec 'cc1': execvp:

信息:没有那个文件或目录

信息:mv:无法获取"ntcontab.o" 的文件状态(stat)

信息:没有那个文件或目录

 

解决办法:

1、首先判断系统位数和oracle安装包位数是否一致,是否都为64位。

在系统中执行:

[root@localhost ~]# uname -i

x86_64

表明系统版本为64位。

oracle版本可以双击打开下载的安装包中名为welcome的html文件,看到有11g Release 2 (11.2) for Linux x86-64”,证明系统位数和oracle位数一致。

2、排除了第一种可能性,看错误信息“gcc: error trying to exec 'cc1': execvp:”,一般这种问题是gcc和g++版本不兼容导致的,也有可能是gcc和g++没有正确安装或安装完gcc没有安装g++。

首先我们知道,官方文档要求在red hat linux 6版本上安装oracle11g时需首先打这样的两个包:gcc-4.4.4-13.el6.x86_64,gcc-c++-4.4.4-13.el6.x86_64。

第一步:确认gcc和g++版本是否一致。

[root@localhost ~]# /usr/bin/gcc -v

使用内建 specs。

目标:x86_64-redhat-linux

配置为:../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux

线程模型:posix

gcc 版本 4.4.4 20100726 (Red Hat 4.4.4-13) (GCC)

 

[root@localhost ~]# /usr/bin/g++ -v

使用内建 specs。

目标:x86_64-redhat-linux

配置为:../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux

线程模型:posix

gcc 版本 4.4.4 20100726 (Red Hat 4.4.4-13) (GCC)

如果提示类似“the package not installed”的字样,证明gcc或g++未安装。

如果最后显示的gcc版本不一致,证明你需要统一版本安装。

这两种状况解决办法:

在安装oracle 之前系统中打这样的包:gcc-4.4.4-13.el6.x86_64.rpm,gcc-c++-4.4.4-13.el6.x86_64.rpm。

安装命令为:rpm –ivh *.rpm

第二步,如果我们发现版本一致,例如上面的例子,gcc版本:gcc 版本 4.4.4 20100726 (Red Hat 4.4.4-13) (GCC)。这说明我们安装了gcc和g++并且版本一致,为何仍报错呢?

 

我们在linux系统中打rpm包时,如果遇到需要安装依赖包的问题,例如:

[root@localhost oracle_install_package]# rpm -ivh unixODBC-2.2.14-11.el6.i686.rpm

warning: unixODBC-2.2.14-11.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY

error: Failed dependencies:

        libltdl.so.7 is needed by unixODBC-2.2.14-11.el6.i686

        libreadline.so.6 is needed by unixODBC-2.2.14-11.el6.i686

我们通常会选择使用命令rpm –ivh –force –nodeps 命令忽略依赖强制安装。但是在打gcc和g++包时却不能采取这样的方式,我们必须把所有的依赖包全部安装成功后,在安装

gcc-4.4.4-13.el6.x86_64.rpm,gcc-c++-4.4.4-13.el6.x86_64.rpm这两个包。

 

如果你恰好是采用了这样的方式,你会在刚刚的查询中gcc和g++的版本一致,但仍无法正确安装oracle11g。因为这两个包是不能强制安装的。

此时的解决办法:

(1)查询已安装的gcc和g++

执行命令rpm –q gcc

[root@localhost oracle_install_package]# rpm -q gcc

gcc-4.4.4-13.el6.x86_64

执行命令gcc-c++

[root@localhost oracle_install_package]# rpm -q gcc-c++

gcc-c++-4.4.4-13.el6.x86_64

得出安装的版本。

(2)使用rpm –e命令卸载包

rpm –e gcc-4.4.4-13.el6.x86_64.rpm

rpm –e gcc-c++-4.4.4-13.el6.x86_64.rpm

如果卸载遇到依赖性问题,可使用rpm –e –nodeps忽略依赖删除。

(3)卸载后重新使用rpm –ivh命令安装。

rpm –ivh gcc-4.4.4-13.el6.x86_64.rpm

rpm –ivh gcc-c++-4.4.4-13.el6.x86_64.rpm

安装过程中一般会遇到需首先安装依赖包的问题,此时我们需下载对应的依赖包进行安装。

依赖包安装的过程可能仍需要更多的依赖包,此时在安装依赖包时我们可以采用rpm –ivh –force –nodeps忽略依赖强制安装依赖包。安装完成依赖包后,我们就可以成功的安装gcc和gcc-c++包了。

打完两个包后,相信你就可以正常完成oracle11g的安装了。



最新网友评论  共有(1)条评论 发布评论 返回顶部
tgfknbu 发布于2016-06-28 17:08:51
草,哪里抄来的,根本不行
支持(1)  反对(0)  回复

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务