在使用DBCA命令创建新的数据库时,DBCA命令无法启动。运行的环境是宿主机64bit+AMD cpu, 而客户机为Linux 32bit + Grid Infrastructure(32) + Oracle database software(32)的情形。原本想着32bit运行的会快一点,没想到Bug 8670579 在执行dbca时再一次被触发,根据Oracel描述,类似的NETCA也会触发这个Bug。 一、故障现象 [oracle@linux1 ~]$ dbca # # An unexpected error has been detected by HotSpot Virtual Machine: # # SIGSEGV (0xb) at pc=0x9e0ea498, pid=4242, tid=3086584016 # # Java VM: Java HotSpot(TM) Server VM (1.5.0_17-b02 mixed mode) # Problematic frame: # C [libnnz11.so+0x3c498] # # An error report file with more information is saved as hs_err_pid4242.log # # If you would like to submit a bug report, please visit: # http://java.sun.com/webapps/bugreport/crash.jsp # Aborted [oracle@linux1 ~]$
二、故障描述 #MeatLink [ID 942076.1]给出了关于这个问题的描述,那就是在客户机上安装了32bit的操作系统与Oracle,而宿主机硬件为64bit平台 #该现象为一个Oracle Bug,Bug号:8670579
Applies to: Oracle Server - Enterprise Edition - Version 11.2.0.0 and later Linux x86
Symptoms After successfully installing 32-bit 11gR2 (11.2.0.1.0) software onto a 32-bit Linux OS (x86) system, neither netca or dbca can be run:
Dbca error is: # # An unexpected error has been detected by HotSpot Virtual Machine: # # SIGSEGV (0xb) at pc=0x9dc0c35e, pid=8292, tid=3086022864 # # Java VM: Java HotSpot(TM) Server VM (1.5.0_17-b02 mixed mode) # Problematic frame: # C [libnnz11.so+0x3c35e]
Netca error is: # An unexpected error has been detected by HotSpot Virtual Machine: # # SIGSEGV (0xb) at pc=0xa2c2235e, pid=8272, tid=3086309584 # # Java VM: Java HotSpot(TM) Server VM (1.5.0_17-b02 mixed mode) # Problematic frame: # C [libnnz11.so+0x3c35e]
Other Problematic frame values have also been reported, and include: [libnnz11.so+0x3c35e] [ld-linux.so.2+0xc1fc]
Changes Although the Linux OS that has been installed is indeed a supported 32-bit Linux OS, the hardware that is being used is 64-bit x86_64 hardware.
Cause 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
三、解决方案 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 need to download the 11.2.0.1.0 version of the patch (p8670579_112010_LINUX.zip) and install it.
References @ BUG:8670579 - DBBETA :NETCA/DBCA FAILED WITH HOTSPOT VIRTUAL MACHINE BUG:8930861 - X86 DBCA, NETCA GIVE JAVA HOTSPOT ERROR IF ON X86_64 HARDWARE
#检查本机 [root@linux1 ~]# cat /proc/cpuinfo | grep model model : 4 model name : AMD Phenom(tm) II X4 955 Processor model : 4 model name : AMD Phenom(tm) II X4 955 Processor
#下载8670579 patch,再使用opatch apply 即可。 #在安装Grid Infrastructure时执行root.sh时也会有出发该bug的情形,最主要的原因应该是对AMD cpu,32bit 平台支持不好。 #因此,宿主机安装在64bit硬件平台,客户机使用32位,需要将该patch应用到Grid Infrastructure,其次也要应用到Oracle database software。 #关于执行root.sh时,会收到Failed to create or upgrade OLR 错误。
BUG:8670579 具体如何实现apply,可参考: Failed to create or upgrade OLR