核心转储的原因是什么?来自oracle lib的堆栈显示

Nas*_*sir 4 c++ coredump oracle11g

我有一个coredmp,其中所有线程堆栈看起来正常,但是一个堆栈显示如下.任何人都可以告诉我可能的原因吗?我可以看到从oracle libs调用exit,这是oracle的问题吗?当这种情况发生时,任何人都可以指导我吗?

 Thread 3 (process 26454):
#0  0x00002b803ceb54a8 in exit () from /lib64/libc.so.6
#1  0x00002b803bbe93f5 in skgdbgcra () from /home/oracle/product/11g/lib/libclntsh.so.11.1
#2  0x00002b803be9cdec in kpeDbgCrash () from /home/oracle/product/11g/lib/libclntsh.so.11.1
#3  0x00002b803be9c627 in kpeDbgSignalHandler () from /home/oracle/product/11g/lib/libclntsh.so.11.1
#4  0x00002b803bbe64b1 in skgesig_sigactionHandler () from /home/oracle/product/11g/lib/libclntsh.so.11.1
#5  <signal handler called>


> Program terminated with signal 6, Aborted.
Run Code Online (Sandbox Code Playgroud)

注意:

  1. 在投票之前,你们能告诉我为什么要投票吗?我真的很无能为力
  2. 这是另一个stackoverflow链接,其中堆栈类似但不相同,但仍然没有明确的答案
  3. 链接谈论orable bug,这是同一个问题吗?

Nas*_*sir 6

看起来这是oracle 11g的一个问题.

  1. 从Oracle 11g诊断存储库开始默认情况下处于打开状态.自动诊断存储库(ADR)参数(例如DIAG_SIGHANDLER_ENABLED,DIAG_ADR_ENABLED)DIAG_DDE_ENABLED主要在SQLNET.ORA中设置.

DIAG_SIGHANDLER_ENABLED将迫使所有的诊断,如警报日志写入,跟踪文件,应用程序转储与成为超载,有时应用磕磕绊绊.

  1. 要关闭信号处理程序并重新启用标准操作系统故障处理,请将以下参数设置放在$ ORACLE_HOME/network/admin目录下的客户端或服务器端sqlnet.ora文件中.

    DIAG_ADR_ENABLED=OFF
    DIAG_SIGHANDLER_ENABLED=FALSE
    DIAG_DDE_ENABLED=FALSE
    
    Run Code Online (Sandbox Code Playgroud)

默认情况下,此参数设置为true.

做任何该等变化ADR之后即,关闭DIAG_SIGHANDLER_ENABLED,DIAG_ADR_ENABLED,DIAG_DDE_ENABLED,建议在进行设置在SQLNET.ORA后重新启动应用程序.

  1. 关闭ADR参数不会对应用程序或数据库产生任何影响.