ORA-07445: exception encountered: core dump [kglpin()+527]

此报错在MOS上查到了相关信息:
APPLIES TO:

Oracle Database - Enterprise Edition - Version 11.2.0.4 and later
Information in this document applies to any platform.
SYMPTOMS

Below statement fail with error

SELECT DISTINCT msg_id
2 FROM (
3 SELECT pain.msg_id,
4 CdtTrfTxInf.PmtIdInstrId tran_id_num
5 FROM pain_001_001_03 pain
6 JOIN TABLE (collection_wrapper(pb_msg_ids)) ids ON ids.COLUMN_VALUE = pain.msg_id,
7 XMLTable (XMLNAMESPACES(‘urn:iso:std:iso:20022:tech:xsd:pain.001.001.03‘ AS "ISOPain001"),
8 ‘hsbcEnvelope/hsbcMessageBody/ISOPain001:CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf‘
9 PASSING pain.XML_msg
10 COLUMNS
11 -- PYMT_TRAN
12 PmtIdInstrId VARCHAR2(25) PATH ‘PmtId/InstrId‘
13 ) CdtTrfTxInf
14 GROUP BY pain.msg_id,
15 CdtTrfTxInf.PmtIdInstrId
16 HAVING COUNT(*) > 1
17 );

SELECT DISTINCT msg_id
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel
Process ID: 11833
Session ID: 148 Serial number: 193

trace reporting the error below

ORA-07445: exception encountered: core dump [kglpin()+527] [SIGSEGV] [ADDR:0x24] [PC:0x99148B7] [Address not mapped to object] []

skdstdst <- ksedst1 <- ksedst <- dbkedDefDump <- ksedmp
<- ssexhd <- sighandler <- kglpin <- qcsResolveSqnRef <- 1638
<- qcsRslvName <- qcsoAnalyzeTableExp <- r_Cbk <- qcsAnalyzeExpr <- r_Cbk
<- qcsAnalyzeExpr_Proc <- essKids <- qcsoppls <- essKids <- qcsoProcessOpt
<- qcsAnalyzeExpr_Dflt <- qcsoAnalyzeTableExp <- r_Cbk <- qcsAnalyzeExpr <- r_Cbk
<- qcsosfpo <- qcsoptf <- qcsprfro <- qcsfpaj <- qcsprfro
<- qcsprfro_tree <- qcsprfro_tree <- qcspafq <- qcspqbDescendents <- qcspqb
<- qcsevw <- qcsfpsq <- kkmfcbsq <- kkmpfcbk <- qcsprfro
<- qcsprfro_tree <- qcsprfro_tree <- qcspafq <- qcspqbDescendents <- qcspqb
<- kkmdrv <- opiSem <- opiDeferredSem <- opitca <- kksFullTypeCheck
<- rpiswu2 <- kksLoadChild <- kxsGetRuntimeLock <- kksfbc <- kkspsc0
<- kksParseCursor <- opiosq0 <- kpooprx <- kpoal8 <- opiodr
<- ttcpip <- opitsk <- opiino

CAUSE

The issue matches Bug 20560611 Same stack trace and db version
 
Process May Dump (ORA-7445) / Abend / Abort
  Dump in or under KGHISPIR
  Stack is likely to include qcsResolveSqnRef XMLTABLE involved

SOLUTION

The bug is fixed in:

12.2 (Future Release)

Or

Apply one off patch on 11.2.0.4

1) Please download and review the readme for Patch. 20560611
2) Please apply Patch. 20560611 in a test environment.
3) Please retest the issue.
4) If the issue is resolved, please migrate the solution as appropriate to other environments.

时间: 2024-11-10 17:56:49

ORA-07445: exception encountered: core dump [kglpin()+527]的相关文章

expdp 导出用户报错ORA-07445: exception encountered:

数据库版本 11.2.0.3.0 oracle的bug导致的错误 expdp ORA-07445: exception encountered: core dump [kokemisz()+34] [SIGSEGV] [ADDR:0x18] [PC:0x143F5C6] [Address not mapped to object] [] Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0x18] [PC:0x143F5C

How to: Enable/Generate/Debug Core Dump In Linux?

http://www.itsprite.com/how-to-enablegeneratedebug-core-dump-in-linux/ What is Core Dump? If the running programs were terminated abnormal or crashed, the memory status ot the program will be recored by OS and saved in a file, this file is called “Co

GDB调试core dump文件示例

上篇论述了三层的基本概念,作用,关系,现在展示下系统中用户登陆过程中简单应用三层结构设计思想. vb.NET的操作如下 首先建立以下windows应用程序以及类库 首先建立实体类 Public Class userInfo Private _username As String Public Property UserName As String Get Return _username End Get Set(ByVal value As String) _username = value E

关于内核转储(core dump)的设置方法

原作者:http://blog.csdn.net/wj_j2ee/article/details/7161586 1. 内核转储作用 (1) 内核转储的最大好处是能够保存问题发生时的状态. (2) 只要有可执行文件和内核转储,就可以知道进程当时的状态. (3) 只要获取内核转储,那么即使没有复现环境,也能调试. 2. 启用内核转储 1.1 查看内核转储是否有效 在终端中输入以下命令,查看内核转储是否有效. #ulimit -c 0 -c 表示内核转储文件的大小限制,现在显示为零,表示不能用. 可

什么是core dump linux下用core和gdb查询出现&quot;段错误&quot;的地方

什么是core dump   linux下用core和gdb查询出现"段错误"的地方 http://blog.chinaunix.net/uid-26833883-id-3193279.html 有些时候我们在一段C代码的时候,由于对一个非法内存进行了操作,在程序运行的过程中,出现了"段错误". 呵呵,这种问题我想很多人会经常遇到.遇到这种问题是非常无语的,只是提示了"段错误",接着什么都没 有,如果我们一味的去看代码找太疼苦了,因为我们都相信自

段错误调试神器 - Core Dump详解

一.前言: 有的程序可以通过编译, 但在运行时会出现Segment fault(段错误). 这通常都是指针错误引起的. 但这不像编译错误一样会提示到文件某一行, 而是没有任何信息, 使得我们的调试变得困难起来. gdb: 有一种办法是, 我们用gdb的step, 一步一步寻找. 这放在短小的代码中是可行的, 但要让你step一个上万行的代码, 我想你会从此厌恶程序员这个名字, 而把他叫做调试员. 我们还有更好的办法, 这就是core file. ulimit: 如果想让系统在信号中断造成的错误时

Core Dump 调试方法

今天调试一个程序, 用到了core dump, 于是写出来, 记于此.什么是Core Dump?Core的意思是内存, Dump的意思是扔出来, 堆出来.开发和使用Unix程序时, 有时程序莫名其妙的down了, 却没有任何的提示(有时候会提示core dumped). 这时候可以查看一下有没有形如core.进程号的文件生成, 这个文件便是操作系统把程序down掉时的内存内容扔出来生成的, 它可以做为调试程序的参考.core dump又叫核心转储, 当程序运行过程中发生异常, 程序异常退出时,

Linux core dump 分析及相关调试

core是core dump文件,是linux服务器的一种机制.core是个程序的严重问题,会致使程序直接挂掉,需要恢复. 需要注意的东西 在程序挂掉的过程中,会纪录程序的内存信息和cpu调用堆栈信息,当程序占用大量内存的时候,比如40G,那core文件可能会达到60G多,那写文件会持续数十分钟,这么长时间流量都会损失,并且写大文件对wio的占用特别大,严重影响本台服务器的其他服务,对于在线服务,会用很多超时,或者严重的是一段时间无法提供服务.所以,core文件监控,大小控制也很重要. 产生的原

用core dump来调试程序段错误

有的程序可以通过编译, 但在运行时会出现Segment fault(段错误). 这通常都是指针错误引起的.但这不像编译错误一样会提示到文件->行, 而是没有任何信息, 使得我们的调试变得困难起来. 1.在一般Linux系统中,默认是不会产生core dump文件的.通过ulimit -c来查看core dump文件的大小,一般开始是0.    可以设置core文件大小,ulimit -c 1024(kbytes单位)或者ulimit -c unlimited.(注: 使用-c unlimited