Solaris 10 u10 安裝 Oracle 10g2 連結時出現錯誤的解決方案

來源:互聯網
上載者:User

Solaris 10 u10 安裝 Oracle 10g2 連結時出現錯誤的解決方案

問題描述:

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 就好了

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.