Memory Corruption Errors - ORA-7445: [_intel_new_memcpy] ORA-600: [kgh_heap_sizes:ds] While Gathering Statistics (Doc ID 1362249.1)

Last updated on DECEMBER 18, 2014

Applies to:

Oracle Database - Enterprise Edition - Version 11.1.0.7 to 11.2.0.3 [Release 11.1 to 11.2]
Information in this document applies to any platform.

Symptoms

Gather table statistics using DBMS_SCHEDULER fails with memory corruption internal errors such as:

ORA-7445: [_intel_new_memcpy()+5347] [ACCESS_VIOLATION]

ORA-600: [kgh_heap_sizes:ds], [0x047B30438]

ORA-07445: exception encountered: core dump [PC:0xF4E0] [SIGSEGV] [ADDR:0x210C7ADD4] [PC:0xF4E0] [Address not mapped to object] []

 
The generated trace file shows a current sql like:

----- Current SQL Statement for this session (sql_id=6r2cq3841a8aw) -----
/* SQL Analyze(1) */ select /*+ full(t) no_parallel(t) no_parallel_index(t) dbms_stats cursor_sharing_exact
use_weak_name_resl dynamic_sampling(0) no_monitoring no_substrb_pad */ to_char(count("EPOSTHEM")),to_char(substrb(dump(min("EPOSTHEM"),16,0,32),1,120)),
to_char(substrb(dump(max("EPOSTHEM"),16,0,32),1,120)),to_char(count("EPOSTARB")),
. . . . . . . .
to_char(substrb(dump(max("FAX"),16,0,32),1,120)) from "LD0"."LD0P0A" t /* NDV,NIL,NIL,NDV,NIL,NIL,NDV,NIL,NIL,NDV,NIL,NIL,NDV,NIL,NIL,NDV,NIL,NIL,NDV,NIL,
NIL,NDV,NIL,NIL,ND.............NIL,NIL,NDV,NIL,NIL*/


The call stack trace associated with these errors is:

intel_new_memcpy qeaeMinmax qeaeMin qergsFetch opifch2 kpoal8 opiodr kpoodrc rpiswu2 kpoodr xupirtrc upirtrc kpurcsc kpufch0
kpufch OCIStmtFetch2 qksanExecSql qksanAnalyzeSql qksanAnalyzeSegSql kestsGatherSqlStati stics kestsProcessSql kestsProcessSqlCallout
spefcmpa out spefmccallstd pextproc peftrust psdexsp ed rpiswu2 psdextp pefccal pefcal pevm_FCAL pfrinstr_FCAL pfrrun_no_tool pfrrun
plsql_run peidxr_run peidxexe kkxdexe kkxmpexe kgmexwi kgmexec evapls evaopn2 kkxmexcs opiexe kpoal8 opiodr kpoodr xupirtrc upirtrc
kpurcsc kpuexec OCIStmtExecute jslvec_e xeccb1 jslvswu xeccb1 jslve_execute0 jslve_execute rpiswu2 kkjex1e kkjsexe kkjrdp opirip opidrv


Analyzing the table from the current sql, e.g. "LD0"."LD0P0A", with VALIDATE STRUCTURE CASCADE does not return an error.

An initial investigation points to <Bug 11872912>,  Bug 11887399 and <Bug 10013177>,  but even if <Patch 10013177> is installed, the issue still occurs.

If we create a copy of this table and try to insert the data from the original table to the new table, it fails with:

SQL> insert into work_table select * from original_table;
insert into work_table select * from original_table
*
ERROR at line 1:
ORA-12899: value too large for column "WORK_TABLE"."COLUMN_NAME" (actual:  52, maximum: 22)


Checking deeper, the following information is found:

SQL> select max(COLUMN_NAME) from original_table ;

MAX(COLUMN_NAME)
------------
25

SQL> select min(column_name) from original_table ;
select min(column_name) from original_table
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel
Process ID: 4896
Session ID: 56 Serial number: 19793

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms