Maison  >  Article  >  base de données  >  Oracle笔记:dbca出错C [libnnz11.so+0x3c3a8]

Oracle笔记:dbca出错C [libnnz11.so+0x3c3a8]

WBOY
WBOYoriginal
2016-06-07 17:05:551352parcourir

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

客户装好了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:
#
#
/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位的系统,从而导致这个问题。

Apply patch p8670579搞定。

linux

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn