当前位置: 代码迷 >> 综合 >> X86 DBCA, NETCA GIVE JAVA HOTSPOT ERROR IF ON X86_64 HARDWARE
  详细解决方案

X86 DBCA, NETCA GIVE JAVA HOTSPOT ERROR IF ON X86_64 HARDWARE

热度:97   发布时间:2023-12-14 23:50:18.0

    在使用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
 

 

更多参考

DML Error Logging 特性 

PL/SQL --> 游标

PL/SQL --> 隐式游标(SQL%FOUND)

批量SQL之 FORALL 语句

批量SQL之 BULK COLLECT 子句

PL/SQL 集合的初始化与赋值

PL/SQL 联合数组与嵌套表
PL/SQL 变长数组
PL/SQL --> PL/SQL记录

SQL tuning 步骤

高效SQL语句必杀技

父游标、子游标及共享游标

绑定变量及其优缺点

dbms_xplan之display_cursor函数的使用

dbms_xplan之display函数的使用

执行计划中各字段各模块描述

使用 EXPLAIN PLAN 获取SQL语句执行计划

 

  相关解决方案