dbca出错C [libnnz11.so+0x3c3a8]

   客户装好了Oracle,安装成功了,但是运行dbca和netca都出现错误。 [oracle@db1 ~]$ netca

Oracle Net Services Configuration: # # An unexpected error has been detected by HotSpot Virtual Machine: # #  SIGSEGV (0xb) at pc=0xa44b13a8, pid=2973, tid=3086891216 # # Java VM: Java HotSpot(TM) Client VM (1.5.0_17-b02 mixed mode) # Problematic frame: # C  [libnnz11.so+0x3c3a8] # # An error report file with more information is saved as  hs_err_pid2973.log # # If you would like to submit a bug report, please visit: #   http://java.sun.com/webapps/bugreport/crash.jsp # /u01/app/oracle/product/11.2.0/dbhome_1/bin/netca: line 178:  2973  Aborted                 $JRE $JRE_OPTIONS -classpath $CLASSPATH  oracle.net.ca.NetCA $*

 

客户机环境 OS: RHEL AS 4 (32bit) Oracle: Oracle 11g release 2(11.2.0.1)

很明显是JVM导致的问题。

查看hs_err_pid2973.log 里面是JVM的error stack

Stack: [0xbf8b5000,0xbfab5000),  sp=0xbfab01d8,  free space=2028k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code,  C=native code) C  [libnnz11.so+0x3c3a8]

[error occurred during error reporting, step 120, id 0xb]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j   oracle.ldap.util.discovery.DiscoveryHelper.ldapDiscover(ILjava/util/Hashtable;Ljava/util/HashMap;)I+0 j   oracle.ldap.util.discovery.DiscoveryHelper.discover(Ljava/util/HashMap;)I+9 j  oracle.net.config.Config.discoverLdapConfig()V+42 j  oracle.net.config.Config.(Ljava/lang/String;I[Ljava/lang/String;)V+55 j  oracle.sysman.assistants.util.NetworkUtils.(Ljava/lang/String;)V+17 j  oracle.sysman.assistants.util.step.StepContext.(Ljava/lang/String;)V+128 j  oracle.sysman.assistants.dbca.backend.Host.(Ljava/lang/String;Loracle/sysman/assistants/dbca/backend/CommandLineArguments;)V+2 j  oracle.sysman.assistants.dbca.ui.UIHost.(Ljava/lang/String;Loracle/sysman/assistants/dbca/backend/CommandLineArguments;)V+3 j  oracle.sysman.assistants.dbca.ui.InteractiveHost.(Ljava/lang/String;Loracle/sysman/assistants/dbca/backend/CommandLineArguments;)V+3 j   oracle.sysman.assistants.dbca.Dbca.getHost(Loracle/sysman/assistants/dbca/backend/CommandLineArguments;)Loracle/sysman/assistants/dbca/backend/Host;+56 j  oracle.sysman.assistants.dbca.Dbca.execute([Ljava/lang/String;)V+49 j  oracle.sysman.assistants.dbca.Dbca.main([Ljava/lang/String;)V+25 v  ~StubRoutines::call_stub

没有明确的信息

检查java的路径和版本 [oracle@db1 download]$ java -version java version “1.5.0_17″ Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_17-b02) Java HotSpot(TM) Client VM (build 1.5.0_17-b02, mixed mode) 是正确的,所以并不是java的路径导致的。

在otn和oracle forum里找了一下相关信息,有类似的问题,但是都没有明确的答复 猜测是bug导致的。

在metalink上搜索了一下。

找到类似的问题,确定是bug

[ID 942076.1] X86 DBCA, NETCA GIVE JAVA HOTSPOT ERROR IF ON X86_64 HARDWARE [ID  942076.1] You are encountering published Bug 8930861, “X86 DBCA, NETCA GIVE JAVA  HOTSPOT ERROR IF ON X86_64 HARDWARE”

You have Oracle’s 32-bit 11.2.0.1.0 RDBMS software, a supported  32-bit Linux OS, but you are on 64-bit x86_64 hardware.

the command “cat /proc/cpuinfo” shows: model name : Quad-Core AMD Opteron(tm) Processor 2356

Solution 1. Please find out if there is any business reason that the 64-bit  hardware is only running a 32-bit OS. If not, then Oracle recommends that you re-install a 64-bit  OS and 64-bit Oracle to avoid published Bug 8930861, “X86 DBCA, NETCA GIVE JAVA HOTSPOT ERROR IF ON X86_64 HARDWARE”

2.  If there is some business reason that you must use 64-bit  hardware running a 32-bit Linux OS, then before you can use the 11gR2 DBCA or NETCA tools,  you will need to apply patch 8670579 , “NETCA/DBCA FAILED WITH HOTSPOT  VIRTUAL MACHINE”. You will be downloading and using file  p8670579_112010_LINUX.zip

客户确实是64bit的机器,但是由于版本限制和其他的一些限制,只能装了32位的系统,从而导致这个问题。

cd到目录8670579,执行命令:

8670579]$ /oracle/app/ora11g2/product/11.2.0/dbhome_1/OPatch/opatch apply

Apply patch p8670579搞定。

posted on 2012-02-26 03:33  weaver_chen  阅读(563)  评论(0编辑  收藏  举报