首页 > 代码库 > ORA-07445 [mdagun_iter+957] When Using SDO_AGGR_UNION 问题处理

ORA-07445 [mdagun_iter+957] When Using SDO_AGGR_UNION 问题处理

问题描述:

ORA-07445: mdagun_iter()  [Address not mapped to object]

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORACLE_HOME = /oracle/product/10.2.0/db_1
System name:    Linux
Node name:     
Release:        2.6.18-164.el5xen
Version:        #1 SMP Tue Aug 18 15:59:52 EDT 2009
Machine:        x86_64
Instance name:
Redo thread mounted by this instance: 1
Oracle process number: 118
Unix process pid: 26103, image: oracle@

*** 2014-07-25 10:32:33.055
*** ACTION NAME:() 2014-07-25 10:32:32.720
*** MODULE NAME:(JDBC Thin Client) 2014-07-25 10:32:32.720
*** SERVICE NAME:(SYS$USERS) 2014-07-25 10:32:32.720
*** SESSION ID:(159.2856) 2014-07-25 10:32:32.720
Exception signal: 11 (SIGSEGV), code: 1 (Address not mapped to object), addr: 0x4, PC: [0x5014927, mdagun_iter()+843]
*** 2014-07-25 10:32:33.974
ksedmp: internal or fatal error
ORA-07445: 出现异常错误: 核心转储 [mdagun_iter()+843] [SIGSEGV] [Address not mapped to object] [0x000000004] [] []
Current SQL statement for this session:
select sdo_geom.sdo_centroid((select sdo_aggr_union(sdoaggrtype(t.Data,0.5)) from COMP_INFO t where t.sys_ci_row_id in (85441
,85445,85447,85449,85454,85457,85461,85464,85472,85532,85533,85534,85535,85536,85538,85539,85540,85541,85542,85543,85544,8554
5,85546,85556,85557,85691,85692,85797,85799,85800,85802,85803,85804,85806,85808,85809,85812,85813,85815,85816,85817,85818,858
19,85821,85824,85828,85829,85832,85833,85834,85835,85836,85837,85838,85839,85840,85841,85842,85843,85844,85845,85846,85847,85
848,85849,85850,85851,85920,85922,85923,85924,85925,85926,85927,85928,85929,85930,85931,85933,85934,86040,88946,89315,84437,8
4439,84442,84443,84446,84448,84477,84481,84484,84487,84488,84490,84492,84493,84495,84497,84499,84501,84503,84504,84506,84508,
84510,84512,84514,84516,84542,84543,84544,84545,84546,84547,84548,84549,84550,84551,84552,84553,84554,84555,84556,84558,84561
,84562,84563,84564,84567,84568,84570,84572,84574,84575,84577,84578,84580,84914,84917,84918,84919,84920,84921,84924,84931,8493
2,84933,84934,84935,84936,84937,84944,84945,84946,84947,84948,84949,84950,84951,84952,84953,84954,85058,85059,85060,85061,850
62,85063,85064,85065,85066,85067,85068,85069,85070,85071,85072,85073,85074,85075,85076,85077,85078,85079,85101,85102,85103,85
108,85109,85110,85111,85112,85121,85123,85128,85131,85134,85135,85136,85137,85138,85139,85140,85141,85142,85143,85144,85145,8
5146,85147,85148,85149,85150,85151,85152,85153,85154,85155,85156,85157,85158,85159,85160,85161,85162,85163,85164,85165,85166,
85167,85168,85169,85172,85173,85174,85175,85177,85179,85181,85184,85185,85186,85188,85190,85192,85193,85195,85196,85198,85200
,85201,85269,85270,85271,85272,85273,85274,85275,85276,85277,85278,85279,85280,85281,85282,85283,85284,85285,85286,85287,8528
8,85289,85290,85291,85292,85293,85294,85295,85296,85297,85298,85299,85300,85301,85302,85303,85304,85305,85306,85307,85308,853
09,85310,85311,85312,85313,85314,85315,85316,85317,85320,85321,85322,85324,85325,85326,85328,85329,85332,85333,85336,85337,85
339,85340,85342,85343,85344,85346,85347,85348,85350,85351,85352,85354,85355,85357,85358,85359,85360,85361,85362,85363,85364,8
5365,85367,85368,85369,85370,85371,85372,85373,85374,85375,85376,85377,85378,85379,85380,85382,85383,85385,85386,85387,85388,
85389,85391,85613,85614,86462,86464,87265,87844)),0.5) from dual
----- PL/SQL Call Stack -----
  object      line  object
  handle    number  name
0x30b2e5f40        59  MDSYS.AGGRUNION
0x30b2e5f40        25  MDSYS.AGGRUNION
----- Call Stack Trace -----
calling              call     entry                argument values in hex     
location             type     point                (? means dubious value)    
-------------------- -------- -------------------- ----------------------------
ksedst()+31          call     ksedst1()            000000000 ? 000000001 ?
                                                   2B51BCB24D50 ? 2B51BCB24DB0 ?
                                                   2B51BCB24CF0 ? 000000000 ?
ksedmp()+610         call     ksedst()             000000000 ? 000000001 ?
                                                   2B51BCB24D50 ? 2B51BCB24DB0 ?
                                                   2B51BCB24CF0 ? 000000000 ?
ssexhd()+629         call     ksedmp()             000000003 ? 000000001 ?
                                                   2B51BCB24D50 ? 2B51BCB24DB0 ?
                                                   2B51BCB24CF0 ? 000000000 ?
__restore_rt()+0     call     ssexhd()             00000000B ? 2B51BCB25D70 ?
                                                   2B51BCB25C40 ? 2B51BCB24DB0 ?
                                                   2B51BCB24CF0 ? 000000000 ?
mdagun_iter()+843    signal   __restore_rt()       7FFFEEF03B80 ? 000000000 ?
                                                   00B574D10 ? 000002073 ?
                                                   000000000 ? 000000001 ?
spefcpfa()+159       call     mdagun_iter()        7FFFEEF063A0 ? 2B51BCFD7370 ?
                                                   00B574D10 ? 2B51BCFD71C0 ?
                                                   2B51BCFD7018 ? 2B51BCBB5FA8 ?
spefmccallstd()+993  call     spefcpfa()           7FFFEEF05D90 ? 000000007 ?
                                                   2B51BCBEC268 ? 7FFFEEF052E0 ?
                                                   2B51BCFD7018 ? 2B51BCBB5FA8 ?
pextproc()+41        call     spefmccallstd()      7FFFEEF06400 ? 7FFFEEF06080 ?
                                                   7FFFEEF05E28 ? 7FFFEEF05D90 ?
                                                   000000000 ? 2B51BCBB5FA8 ?
peftrusted()+158     call     pextproc()           7FFFEEF06400 ? 7FFFEEF06080 ?
                                                   7FFFEEF05E28 ? 7FFFEEF05D90 ?
                                                   000000000 ? 2B51BCBB5FA8 ?
psdexsp()+248        call     peftrusted()         7FFFEEF06400 ? 7FFFEEF06080 ?
                                                   7FFFEEF05E28 ? 7FFFEEF05D90 ?
                                                   000000000 ? 2B51BCBB5FA8 ?
rpiswu2()+420        call     psdexsp()            7FFFEEF05C18 ? 7FFFEEF06400 ?
                                                   7FFFEEF05E28 ? 000020003 ?
                                                   0047C004E ? 2B51BCF60210 ?
psdextp()+739        call     rpiswu2()            35F3280C8 ? 000000074 ?
                                                   35F328104 ? 000000002 ?
                                                   7FFFEEF05C50 ? 000000074 ?
pefccal()+571        call     psdextp()            2B51BCF60210 ? 7FFFEEF06080 ?
                                                   7FFFEEF05E28 ? 000000000 ?
                                                   7FFF00020003 ? 7FFFEEF06400 ?
pefcal()+208         call     pefccal()            004C6FF46 ? 7FFFEEF06080 ?
                                                   7FFFEEF05E28 ? 0068966E0 ?
                                                   0007A8230 ? 7FFFEEF06400 ?
pevm_FCAL()+173      call     pefcal()             7FFFEEF06400 ? 006896860 ?
                                                   2B51BCF603E8 ? 0068966E0 ?
                                                   0007A8230 ? 7FFFEEF06400 ?
pfrinstr_FCAL()+79   call     pevm_FCAL()          2B51BCF603E8 ? 3203B8700 ?
                                                   2B51BCF603E8 ? 3203B8240 ?
                                                   0007A8230 ? 7FFFEEF06400 ?
pfrrun_no_tool()+65  call     pfrinstr_FCAL()      2B51BCF603E8 ? 320A0F68C ?
                                                   2B51BCF60450 ? 3203B8240 ?
                                                   0007A8230 ? 7FFFEEF06400 ?
pfrrun()+906         call     pfrrun_no_tool()     2B51BCF603E8 ? 320A0F68C ?
                                                   2B51BCF60450 ? 3203B8240 ?
                                                   0007A8230 ? 7FFFEEF06400 ?
plsql_run()+841      call     pfrrun()             2B51BCF603E8 ? 000000000 ?
                                                   2B51BCF60450 ? 2B51BCF60210 ?
                                                   0007A8230 ? 320A0F5F0 ?
peidxr_run()+245     call     plsql_run()          2B51BCF603E8 ? 000000002 ?
                                                   2B51BCF96F88 ? 2B51BCF60210 ?
                                                   0007A8230 ? 000000000 ?
peidxexe()+89        call     peidxr_run()         2B51BCF60198 ? 000000002 ?
                                                   2B51BCF96F88 ? 2B51BCF603E8 ?
                                                   0007A8230 ? 000000000 ?
kkxdexe()+296        call     peidxexe()           2B51BCF60198 ? 000000002 ?
                                                   2B51BCF96F88 ? 2B51BCF603E8 ?
                                                   0007A8230 ? 000000000 ?
kkxmpexe()+232       call     kkxdexe()            2B51BCF60198 ? 2B51BCBF66A0 ?
                                                   2B51BCF5A300 ? 2B51BCF603E8 ?
                                                   000000000 ? 7FFF00000000 ?
kgmexwi()+564        call     kkxmpexe()           0068966E0 ? 320ABC0C8 ?
                                                   2B51BCF9F020 ? 2B51BCF60198 ?
                                                   30B2E5F40 ? 2B51BCF5A300 ?
kgmexec()+1278       call     kgmexwi()            0068966E0 ? 000000001 ?
                                                   7FFFEEF07930 ? 320ABC0C8 ?
                                                   2B51BCF9F020 ? 2B51BCF008B8 ?
evapls()+686         call     kgmexec()            0068966E0 ? 000000001 ?
                                                   7FFFEEF07930 ? 35D3A91C8 ?
                                                   318ABBEB0 ? 2B51BCF5A480 ?
evaopn2()+412        call     evapls()             31827E290 ? 000000000 ?
                                                   00689E3B0 ? 0068966E0 ?
                                                   31827E228 ? 2B51BCF5A480 ?
qximeop()+1012       call     evaopn2()            31827E290 ? 2B51BCBDC858 ?
                                                   00689E3B0 ? 0068966E0 ?
                                                   2B51BCFB5EB0 ? 2B51BCF5A480 ?
qxuageag()+526       call     qximeop()            31827E290 ? 000000000 ?
                                                   0000000C0 ? 7FFFEEF07EC4 ?
                                                   2B51BCFB5EB0 ? 2B51BCF5A480 ?
qesaAggNonDistSS()+  call     qxuageag()           2B51BD287860 ? 000000000 ?
313                                                0000000C0 ? 7FFFEEF07EC4 ?
                                                   2B51BCFB5EB0 ? 2B51BCF5A480 ?
kdstf0100001kmP()+1  call     qesaAggNonDistSS()   000000000 ? 2B51BCF5A480 ?
472                                                0000000C0 ? 7FFFEEF07EC4 ?
                                                   2B51BCFB5EB0 ? 7FFF00007FFF ?
kdsttgr()+57419      call     kdstf0100001kmP()    2B51BCBD83C8 ? 000000000 ?
                                                   30B2E5F40 ? 31827E830 ?
                                                   7FFF00007FFF ? 000000000 ?
qertbFetch()+639     call     kdsttgr()            2B51BCBD83C8 ? 000000000 ?
                                                   25C0D8064 ? 000000000 ?
                                                   7FFF00007FFF ? 0016351BC ?
qergsFetch()+452     call     qertbFetch()         318316328 ? 0016351BC ?
                                                   31827E830 ? 000007FFF ?
                                                   318316398 ? 0016351BC ?
subsr1()+218         call     qergsFetch()         31827E830 ? 000000000 ?
                                                   000000000 ? 000000001 ?
                                                   000000000 ? 31827E810 ?
evaopn2()+4067       call     subsr1()             31827D4D0 ? 000000000 ?
                                                   000000000 ? 000000001 ?
                                                   000000000 ? 31827E810 ?
kkxmsiag()+2349      call     evaopn2()            3180259D0 ? 2B51BCBDCC30 ?
                                                   000000000 ? 000000001 ?
                                                   2B51BCFB5EB0 ? 31827E810 ?
evapls()+282         call     kkxmsiag()           000000001 ? 318025748 ?
                                                   2B51BCF5AA18 ? 000000001 ?
                                                   7FFFEEF090A8 ? 300000000 ?
evaopn2()+412        call     evapls()             318025848 ? 000000000 ?
                                                   00689E3B0 ? 0068966E0 ?
                                                   3180257E0 ? 300000000 ?
kpofcr()+4890        call     evaopn2()            318025848 ? 2B51BCBDCC68 ?
                                                   00689E3B0 ? 0068966E0 ?
                                                   2B51BCFB5EB0 ? 300000000 ?
qerfiFetch()+162     call     kpofcr()             000000001 ? 00000015E ?
                                                   000000000 ? 000000000 ?
                                                   1000000000 ? 00689E3B8 ?
opifch2()+3189       call     qerfiFetch()         000000001 ? 0030C5DEE ?
                                                   7FFFEEF09A98 ? 00000015E ?
                                                   1000000000 ? 00689E3B8 ?
opifch()+64          call     opifch2()            000000089 ? 000000005 ?
                                                   7FFFEEF09C70 ? 2B51BCFB5E98 ?
                                                   1000000000 ? 00689E3B8 ?
opiodr()+984         call     opifch()             000000089 ? 000000005 ?
                                                   7FFFEEF09C70 ? 00000015E ?
                                                   000000000 ? 001330002 ?
ttcpip()+1012        call     opiodr()             000000005 ? 000000002 ?
                                                   7FFFEEF0C9D0 ? 00000001C ?
                                                   0059BFBC8 ? 001330002 ?
opitsk()+1322        call     ttcpip()             00689E3B0 ? 0052A0140 ?
                                                   7FFFEEF0C9D0 ? 000000000 ?
                                                   7FFFEEF0C4C8 ? 7FFFEEF0CB38 ?
opiino()+1026        call     opitsk()             000000003 ? 000000000 ?
                                                   7FFFEEF0C9D0 ? 000000001 ?
                                                   000000000 ? 4E506A200000001 ?
opiodr()+984         call     opiino()             00000003C ? 000000004 ?
                                                   7FFFEEF0DB98 ? 000000000 ?
                                                   000000000 ? 4E506A200000001 ?
opidrv()+547         call     opiodr()             00000003C ? 000000004 ?
                                                   7FFFEEF0DB98 ? 000000000 ?
                                                   0059C0460 ? 4E506A200000001 ?
sou2o()+114          call     opidrv()             00000003C ? 000000004 ?
                                                   7FFFEEF0DB98 ? 000000000 ?
                                                   0059C0460 ? 4E506A200000001 ?
opimai_real()+163    call     sou2o()              7FFFEEF0DB70 ? 00000003C ?
                                                   000000004 ? 7FFFEEF0DB98 ?
                                                   0059C0460 ? 4E506A200000001 ?
main()+116           call     opimai_real()        000000002 ? 7FFFEEF0DC00 ?
                                                   000000004 ? 7FFFEEF0DB98 ?
                                                   0059C0460 ? 4E506A200000001 ?
__libc_start_main()  call     main()               000000002 ? 7FFFEEF0DC00 ?
+244                                               000000004 ? 7FFFEEF0DB98 ?
                                                   0059C0460 ? 4E506A200000001 ?
_start()+41          call     __libc_start_main()  000723088 ? 000000002 ?
                                                   7FFFEEF0DD58 ? 000000000 ?
                                                   0059C0460 ? 000000002 ?

 

 

 

解决方案(ODM):

ORA-07445 [mdagun_iter+957] When Using SDO_AGGR_UNION (文档 ID 1214526.1) 转到底部转到底部 
修改时间:2010-10-13类型:PROBLEM 
为此文档评级 通过电子邮件发送此文档的链接 在新窗口中打开文档 可打印页

In this Document
  Symptoms
  Cause
  Solution

APPLIES TO:

Oracle Spatial - Version: 10.2.0.4 and later   [Release: 10.2 and later ]
Information in this document applies to any platform.
SYMPTOMS

Calling sdo_aggr_union(SDOAGGRTYPE(geoloc,0.05)) fails with following error-

ORA-07445: exception encountered: core dump [ACCESS_VIOLATION] [mdagun_iter+957] [PC:0x34BF5B3] [ADDR:0x4] [UNABLE_TO_READ] []

----CAUSE

The ORA-7445 error is most likely caused due to the invalid data in the table. To check this run -

SQL> select rowid, sdo_geom.validate_geometry_with_context(a.geoloc, .05) from test_case a;

All valid geometries should return "TRUE".

 

-----SOLUTION

If there are any invalid geometries in the table then manually fix them and make sure they are valid. If the invalid geometry is not needed anymore then it can be manually removed, e.g.-

SQL> delete from test_case where rowid=‘AAAXYgAAFAAAFzsAAA‘;
SQL> commit;

Now sdo_aggr_union query should work fine -

SQL> select sdo_aggr_union(SDOAGGRTYPE(geoloc,0.05)) geoloc from test_case;