风影子
作者风影子·2011-03-14 23:23
数据库管理员·深圳

解决aix 6.1打了sp2补丁导致oracle数据库无法安装问题一例

字数 11074阅读 25726评论 1赞 4

    oracle rac在aix 6.1上我也安装过好几次了,每次都很顺利,但今天安装完crs和crs补丁后安装database软件时报错了,以前最容易出错的地方是crs的安装,只要crs这步过了,后面基本都不会出问题。思来想去,这次和以往不同的是安装aix 6.1操作系统后,实施的工程师帮我们打了sp2补丁,打完后操作系统版本为6100-06-03-1048,安装时的报错信息如下

    

按照提示查看错误日志,记录如下

NFO: Target "install" is up to date.
INFO: End output from spawned process.
INFO: ----------------------------------
INFO: Calling Action unixActions10.2.0.1.0 make
registerOnly = false
installMakePath = /bin/make
installMakeFileName = /oracle/product/10.2.0/db_1/sysman/lib/ins_sysman.mk
installTarget = agent nmo nmb
undoMakeFileName =
installArguments = ORACLE_HOME=/oracle/product/10.2.0/db_1,
logFile = /oracle/product/10.2.0/db_1/install/make.log
undoTarget =
progMsg = Building Agent libraries
INFO: The output of this make operation is also available at: '/oracle/product/10.2.0/db_1/install/make.log'
INFO:
INFO: Start output from spawned process:
INFO: ----------------------------------
INFO:
INFO: /bin/make -f /oracle/product/10.2.0/db_1/sysman/lib/ins_sysman.mk relink_sharedobj SHAREDOBJ=libnmemso LIBDIR=lib32
INFO: /bin/ld -G -o /oracle/product/10.2.0/db_1/sysman/lib/libnmemso.so -bE:/oracle/product/10.2.0/db_1/sysman/lib32/libnmemso.exp -bI:/usr/lib/aio.exp -L/oracle/product/10.2.0/db_1/lib32 -L/oracle/product/10.2.0/db_1/sysman/lib32/ -blibpath:/oracle/product/10.2.0/db_1/lib32/:/oracle/product/10.2.0/db_1/lib/:/oracle/product/10.2.0/db_1/sysman/lib32/ /oracle/product/10.2.0/db_1/sysman/lib32/libnmem.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmer.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmeu.a /ora
INFO: cle/product/10.2.0/db_1/sysman/lib32/libnmt.a /oracle/product/10.2.0/db_1/sysman/lib32/libnml.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmee.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmefmgr.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmevr.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmehu.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmehl.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmepm.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmedc.a /oracle/product/10.2.0/db_1/sysman/lib32/li
INFO: bnmedt.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmedm.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmedr.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmeb.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmec.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmesched.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmectl.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmejc.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmej.a -L/oracle/product/10.2.0/db_1/jdk/jre/bin/classic -L/oracle/product/10.2.0/db_
INFO: 1/jdk/jre/bin -blazy -ljava -ljvm /oracle/product/10.2.0/db_1/sysman/lib32/libnmeclumgr.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmecluster.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmexml.a -lttsh10 -lld -lm `cat /oracle/product/10.2.0/db_1/lib32/sysliblist` -lm
INFO:
ld: 0706-010 The binder was killed by a signal: Segmentation fault
Check for binder messages or use local problem reporting procedures.
INFO: make: 1254-004 The error code from the last command is 254.

Stop.
INFO: make: 1254-004 The error code from the last command is 2.

Stop.
INFO: End output from spawned process.
INFO: ----------------------------------
INFO: Exception thrown from action: make
Exception Name: MakefileException
Exception String: Error in invoking target 'agent nmo nmb' of makefile '/oracle/product/10.2.0/db_1/sysman/lib/ins_sysman.mk'. See '/oracle/product/10.2.0/oraInventory/logs/installActions2011-03-14_01-24-19PM.log' for details.
Exception Severity: 1
INFO: The output of this make operation is also available at: '/oracle/product/10.2.0/db_1/install/make.log'
INFO:
INFO: Start output from spawned process:
INFO: ----------------------------------
INFO:
INFO: /bin/make -f /oracle/product/10.2.0/db_1/sysman/lib/ins_sysman.mk relink_sharedobj SHAREDOBJ=libnmemso LIBDIR=lib32
INFO: /bin/ld -G -o /oracle/product/10.2.0/db_1/sysman/lib/libnmemso.so -bE:/oracle/product/10.2.0/db_1/sysman/lib32/libnmemso.exp -bI:/usr/lib/aio.exp -L/oracle/product/10.2.0/db_1/lib32 -L/oracle/product/10.2.0/db_1/sysman/lib32/ -blibpath:/oracle/product/10.2.0/db_1/lib32/:/oracle/product/10.2.0/db_1/lib/:/oracle/product/10.2.0/db_1/sysman/lib32/ /oracle/product/10.2.0/db_1/sysman/lib32/libnmem.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmer.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmeu.a /ora
INFO: cle/product/10.2.0/db_1/sysman/lib32/libnmt.a /oracle/product/10.2.0/db_1/sysman/lib32/libnml.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmee.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmefmgr.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmevr.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmehu.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmehl.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmepm.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmedc.a /oracle/product/10.2.0/db_1/sysman/lib32/li
INFO: bnmedt.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmedm.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmedr.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmeb.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmec.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmesched.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmectl.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmejc.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmej.a -L/oracle/product/10.2.0/db_1/jdk/jre/bin/classic -L/oracle/product/10.2.0/db_
INFO: 1/jdk/jre/bin -blazy -ljava -ljvm /oracle/product/10.2.0/db_1/sysman/lib32/libnmeclumgr.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmecluster.a /oracle/product/10.2.0/db_1/sysman/lib32/libnmexml.a -lttsh10 -lld -lm `cat /oracle/product/10.2.0/db_1/lib32/sysliblist` -lm
INFO:
ld: 0706-010 The binder was killed by a signal: Segmentation fault
Check for binder messages or use local problem reporting procedures.
INFO: make: 1254-004 The error code from the last command is 254.

Stop.
INFO: make: 1254-004 The error code from the last command is 2.

Stop.
INFO: End output from spawned process.
INFO: ----------------------------------
INFO: Exception thrown from action: make
Exception Name: MakefileException
Exception String: Error in invoking target 'agent nmo nmb' of makefile '/oracle/product/10.2.0/db_1/sysman/lib/ins_sysman.mk'. See '/oracle/product/10.2.0/oraInventory/logs/installActions2011-03-14_01-24-19PM.log' for details.
Exception Severity: 1


    一直怀疑是打了最新操作系统补丁包的问题,但不知道要怎么弄了。后面没办法就叫我同事问了他的一个DBA朋友,他们公司专门做数据库实施的,很快有我同事的朋友帮忙问他们公司的大牛们,马上就在itpub中我发的贴子给了回复,根据此内容我也顺利完成了database的安装,回复如下

http://www.itpub.net/thread-1406748-1-1.html

Linking Fails With ld 0706-010 The binder was killed by a signal Segmentation fault On AIX 6.1 [ID 1264074.1]

Applies to:

Enterprise Manager Grid Control - Version: 10.2.0.2 to 10.2.0.5 - Release: 10.2 to 10.2
Oracle Server - Enterprise Edition - Version: 10.2.0.1 to 11.2.0.2 [Release: 10.2 to 11.2]
IBM AIX on POWER Systems (64-bit)
.
The problem below appears to affect Oracle installations on AIX servers running:

AIX 6.1 TL2 SP10 (6100-02-10-1036) and higher
AIX 6.1 TL3 SP7 (6100-03-07-1036) and higher
AIX 6.1 TL4 SP7 (6100-04-07-1036) and higher
AIX 6.1 TL5 SP3 (6100-05-03-1036) and higher
AIX 6.1 TL6 (all SP levels)
AIX 6.1 TL7 (all SP levels)

The problem does not appear to affect:

AIX 6.1 TL2 SP9 or lower
AIX 6.1 TL3 SP6 or lower
AIX 6.1 TL4 SP6 or lower
AIX 6.1 TL5 SP2 or lower
Symptoms


While installing Oracle10g Release 2 (10.2), Oracle11g Release 1 (11.1) or Oracle11g Release 2 (11.2) on an AIX server running AIX 6.1, the following error may occur:

INFO:
ld: 0706-010 The binder was killed by a signal: Segmentation fault
Check for binder messages or use local problem reporting procedures.

INFO: make: 1254-004 The error code from the last command is 254.

Stop.

INFO: make: 1254-004 The error code from the last command is 2.

Stop.

INFO: End output from spawned process.
INFO: ----------------------------------
INFO: Exception thrown from action: make
Exception Name: MakefileException
Exception String: Error in invoking target 'agent nmb nmo nmhs' of makefile '/u01/app/oracle/product/11.2.0/sysman/lib/ins_emagent.mk'.

More specifically, the "ld: 0706-010" error may occur when running the following command:

% make -f $ORACLE_HOME/sysman/lib/ins_emagent.mk relink_sharedobj SHAREDOBJ=libnmemso

Using 'truss' to trace this command generates output similar to this:

:
15925416: 20512937: kopen("/usr/lib/glink64.o", O_RDONLY) = 31
15925416: 20512937: fstatx(31, 0x0FFFFFFFFFFFCBF0, 176, 0) = 0
15925416: 20512937: shmat(31, 0x0000000000000000, 6144) = 0x0700000300000000
15925416: 20512937: __libc_sbrk(0x0000000000010020) = 0x000000011161E140
15925416: 20512937: __libc_sbrk(0x0000000000010020) = 0x000000011162E160
15925416: 20512937: __libc_sbrk(0x0000000000010020) = 0x000000011163E180
15925416: 20512937: __libc_sbrk(0x0000000000010020) = 0x000000011164E1A0
15925416: 20512937: __libc_sbrk(0x0000000000010020) = 0x000000011165E1C0
15925416: 20512937: __libc_sbrk(0x0000000000010020) = 0x000000011166E1E0
15925416: 20512937: _getpid() = 15925416
15925416: 20512937: lseek(0x0000000000000003, 0x0000000000000000, 0x0000000000000001) = 0x0000000000002252
:
15925416: 20512937: kread(0x0000000000000003, 0x00000001102C14B8, 0x0000000000001000) = 0x0000000000001000
15925416: 0x00000000: "n"
15925416: 20512937: shmat(4, 0x07F0000000000000, 2048) = 0x07F0000000000000
15925416: Received signal #11, SIGSEGV [default]
15925416: *** process killed ***
:

NOTE

To verify which AIX version is running, use the command:

% oslevel -s

Cause

Oracle Support opened Bug:10259393 for this issue but it appears to be a known issue on the following AIX 6.1 versions:

AIX 6.1 TL2 SP10 (6100-02-10-1036) and higher
AIX 6.1 TL3 SP7 (6100-03-07-1036) and higher
AIX 6.1 TL4 SP7 (6100-04-07-1036) and higher
AIX 6.1 TL5 SP3 (6100-05-03-1036) and higher
AIX 6.1 TL6 (all SP levels)
AIX 6.1 TL7 (all SP levels)

IBM have investigated the error and released fixes
Solution

For AIX 6.1 TL6, IBM have released fix IZ88711:

ftp://public.dhe.ibm.com/aix/efixes/iz88711/

Fixes for other AIX 6.1 TL's are also available.

Please contact IBM to identify the correct fix for your environment.


After installing the AIX fix, run the following command:

% make -f $ORACLE_HOME/sysman/lib/ins_emagent.mk relink_sharedobj SHAREDOBJ=libnmemso

to link the libnmemso.so library

Alternative solution

If these errors occur on AIX 6.1 TL4 SP6/SP7, you may alternatively be hitting the AIX defect below:

IZ44217 CRASH CAUSED BY STALE FILE DESCRIPTOR IN FORKED CHILD


    大致知道了是要修复些东西,然后再做下链接之类的,于是在网上下载了附件,又查了些相关资料

    emgr命令启动紧急修订程序(efix)管理器,此管理器安装、除去、列出并检查系统的 efix,大概是修复了个什么东西

    当操作系统升级后、操作系统打完补丁后、安装完oracle补丁之后和relink过程中出现问题时,都会用到relink方法来保证Oracle软件的正常使用。

    所以我的最终解决办法如下
#emgr -e IZ88711SP2.101121.epkg.Z

$cd $ORACLE_HOME/bin

$relink all

    这个时候错误信息的界面还没退出,马上点了重试按钮,哇,居然过了,虽然没明白上面的具体含义,如emgr到底是干嘛用的,relink又到底做了些什么事,但问题总算是解决了,特此记录一下。

    看来并不是操作系统补丁越高越好啊,打补丁的时候总在想,这总该是对下兼容吧,打高了总没坏处吧?哪知道靠不住啊,还好有解决方法,以后可大胆的打补丁了。


如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

4

添加新评论1 条评论

mophismophis软件开发工程师杭州
2011-04-24 16:50
Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广