您的位置:首页 > 数据库 > Oracle

Solaris 10 u10 安装 oracle 10g2 链接时出现错误的解决方法

2012-12-25 09:27 661 查看
文章来源:/article/8857007.html 权责归原作者所有

[置顶]Error in invoking target 'client_sharedlib' of makefile '/u01/app/oracle/product/10.2.0/db_1/network

.

分类: linuxoracle2012-09-16 15:23782人阅读评论(4)收藏举报

问题描述:

Exception String: Error in invoking target 'client_sharedlib' of makefile '/u01/app/oracle/product/10.2.0/db_1/network/lib/ins_net_client.mk'. See

'/u01/app/oracle/oraInventory/logs/installActions2012-02-21_11-03-51AM.log' for details.

查看make.log得到如下信息

*** Error code 1

make: Fatal error: Command failed for target `client_sharedlib'

/usr/ccs/bin/make -f ins_net_client.mk client_sharedlib ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1//u01/app/oracle/product/10.2.0/db_1/bin/genclntsh

ld: fatal: symbol 'ntcontab' in file /u01/app/oracle/product/10.2.0/db_1/lib/libn10.a(ntcontab.o): section [3].data: size 0x60: symbol (address 0, size 0x70)

lies outside of containing section

ld: fatal: file processing errors. No output written to /u01/app/oracle/product/10.2.0/db_1/lib/libclntsh.so.10.1

genclntsh: Failed to link libclntsh.so.10.1

在网上找了很久,发现大概有两种处理办法。

1、是Oracle的版本与Solaris的版本不匹配,说是将64的介质安装在32位的系统上。但是我可以确定我的Oracle和Solaris的版本是对应的。

2、环境变量配置不正确,但是我也找了些安装Oralce10g的文档,基本上都应该配置了,我的环境变量配置如下:

MAIL=/usr/mail/${LOGNAME:?} --这个创建完Oracle就存在的,其它是我增加的

DISPLAY=localhost:0.0

export DISPLAY

ORACLE_BASE=/u01/app/oracle

export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

export ORACLE_HOME

ORACLE_SID=solarisOracle01

export ORACLE_SID

NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export NLS_LANG

PATH=$ORACLE_HOME/bin:/bin:/sbin:/usr/ccs/bin:/usr/local/bin

export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib:/usr/local/lib

export LD_LIBRARY_PATH

umask 022

解决方法:

这是个BUG,解决方案如下。

Cause

Unpublished bug:

Bug 6791866 - ASSEMBLER CODE GENERATED BY GENNTTAB CAUSES LD ERROR IN LATEST SOLARIS BUILDS

Which states:

Always in the latest Solaris builds

Solaris 11 [Nevada]

and

Solaris 10 Update 10 and above ( Solaris 10 8/11 )

due to stricter integrity checking in the linker (ld)

or

OS patch 144501-19 installed.

Solution

For versions 10.1.x through 10.2.0.x use the following workaround

If this occurs during an installation of the base release or patchset, you will get a pop-up for the link error providing the following options, 'Retry or Continue'. Leave this popup and login to a new session as the owner of the ORACLE_HOME, and complete
the following:

1. cd $ORACLE_HOME/bin

2. cp gennttab gennttab_orig

3. vi gennttab

将这段配置中的112改成96

修改前:

ntcontab:

.type ntcontab,@object

.size ntcontab,112

.align 4

修改后:

ntcontab:

.type ntcontab,@object

.size ntcontab,96

.align 4

4. cd $ORACLE_HOME/network/lib

execute command

/usr/ccs/bin/make -f ins_net_client.mk ntcontab.o

execute command

$ORACLE_HOME/bin/genclntsh

5.现在点retry 就好了

文章来源:/article/8857007.html 权责归原作者所有
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐