ORA-00600 : 内部错误代码, 参数: [32695], [hash aggregation can't be done]

环境说明

OS操作系统:WINDOWS

数据库版 本:ORACLE 10.2.0.4

 

故障问题描述

47日客户发邮件统计系统数据库无法导出数据报ORA-00600错误,经过分析诊断该

问题是数据库在执行 HASH GROUP 操作时触发了 bug 6471770

 

故障分析

1、根据数据库报警日志确认问题:

Fri Feb 05 15:04:34 2016

Errors in file d:\oracle\product\10.2.0\admin\hkstat\udump\olmstat_ora_4604.trc:

ORA-00600: 内部错误代码, 参数: [32695], [hash aggregation can't be done], [], [], [], [], [], []

 

 

从上面的信息,我们看你到数据库报了ORA-00600错误,下面分析TRACE 文件定位问题原因。

2. olmstat_ora_4604.trc TRACE 文件分析

Dump file d:\oracle\product\10.2.0\admin\hkstat\udump\olmstat_ora_4604.trc

Fri Feb 05 15:04:34 2016

ORACLE V10.2.0.4.0 - 64bit Production vsnsta=0

vsnsql=14 vsnxtr=3

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

Windows NT Version V6.0 Service Pack 2

CPU                 : 16 - type 8664, 8 Physical Cores

Process Affinity    : 0x0000000000000000

Memory (Avail/Total): Ph:121M/32755M, Ph+PgF:51612M/65653M

Instance name: olmstat

 

Redo thread mounted by this instance: 1

 

Oracle process number: 40

 

Windows thread id: 4604, image: ORACLE.EXE (SHAD)

*** ACTION NAME:() 2016-02-05 15:04:34.347

*** MODULE NAME:(统计.exe) 2016-02-05 15:04:34.347

*** SERVICE NAME:(olmstat) 2016-02-05 15:04:34.347

*** SESSION ID:(29.977) 2016-02-05 15:04:34.347

*** 2016-02-05 15:04:34.347

ksedmp: internal or fatal error

ORA-00600: 内部错误代码, 参数: [32695], [hash aggregation can't be done], [], [], [], [], [], []

Current SQL statement for this session:

SELECT sum(OLM_CURRENCY), V_MER_NAME  V_TBL_STAT WHERE ....

group  by  V_MER_NAME  DESC  <<< 此处为了不泄漏客户信息我把SQL语句修改了,客户原来执行的是条很复杂的SQL

 

 

----- Call Stack Trace -----

calling              call     entry                argument values in hex     

location             type     point                (? means dubious value)    

-------------------- -------- -------------------- ----------------------------

ksedmp+663           CALL???  ksedst+55            003C878B8 000000000 0179B8588

                                                   000000000

ksfdmp+19            CALL???  ksedmp+663           000000003 027DFD650 01467AB78

                                                   003CACC80

kgeriv+184           CALL???  ksfdmp+19            000000000 000000004 000069246

                                                   00001E700

kgesiv+102           CALL???  kgeriv+184           000066666 027DFD010 000000000

                                                   000000000

ksesic1+125          CALL???  kgesiv+102           000000000 016301250 016340C88

                                                   005542F83

qeshPartitionBuildH  CALL???  ksesic1+125          000007FB7 000000001 00000001E

D+919                                              0043F692C

qeshGBYGetNextRow+7  CALL???  qeshPartitionBuildH  000000200 262341578 00000005E

37                            D+919                000000000

qerghFetch+284       CALL???  qeshGBYGetNextRow+7  000004000 016343B48

                              37                   7FF07D54080 0016671C6

qervwFetch+142       CALL???  qerghFetch+284       7301010002 1E00010065E01

                                                   B400000234 B400000017

rwsfcd+109           CALL???  qervwFetch+142       2626E1020 000007FFF 015DE7C58

                                                   000000000

qerhjFetch+2408      CALL???  rwsfcd+109           000000000 077303D62 000000000

                                                   000000000

qersoFetch+5516      CALL???  qerhjFetch+2408      57E1F21800000000 7FF0A54D758

                                                   7FF134FD5A0 7FF117CBBD0

kpofchswcbk+58       CALL???  qersoFetch+5516      000000000 000000000 000000000

                                                   00001F240

rpiswu2+517          CALL???  kpofchswcbk+58       0DCAA00AF 7FFF8C24267

                                                   7FF12863E40 003CACC80

kpofrws+488          CALL???  rpiswu2+517          17304B368 00000003E 0179BAA40

                                                   000000002

opifch2+5813         CALL???  kpofrws+488          000000000 0000004E6 000000000

                                                   000000000

opiall0+4140         CALL???  opifch2+5813         4C44282000000089 000000005

                                                   0179BB3B0 7FF10D70630

opial7+549           CALL???  opiall0+4140         00000003E 000000022 0179BB770

                                                   0179BE848

opiodr+1136          CALL???  opial7+549           000000001 0179BCA9B 000000000

                                                   014681F08

ttcpip+5146          CALL???  opiodr+1136          000000047 00000000F 0179BE848

                                                   5B7900000006

opitsk+1818          CALL???  ttcpip+5146          027E12130 00000007F 000000000

                                                   000000000

opiino+1129          CALL???  opitsk+1818          000000000 000000000 000000000

                                                   000000000

opiodr+1136          CALL???  opiino+1129          00000003C 000000004 0179BFB00

                                                   000000000

opidrv+815           CALL???  opiodr+1136          00000003C 000000004 0179BFB00

                                                   000000000

sou2o+52             CALL???  opidrv+815           00000003C 000000004 0179BFB00

                                                   7FEFF747C54

opimai_real+131      CALL???  sou2o+52             000000000 07763C187 0179BFC20

                                                   000000000

opimai+96            CALL???  opimai_real+131      7FFFFF7B258 0179BFCA0

                                                   0179BFC00 7FE00000038

OracleThreadStart+6  CALL???  opimai+96            000000000 003C874C4 000000050

40                                                 00000268C

00000000772AA55D     CALL???  OracleThreadStart+6  0163DFF1C 000000000 000000000

                              40                   000000000

0000000077616731     CALL???  00000000772AA55D     000000000 000000000 000000000

                                                   000000000

.....

 

--------------------- Binary Stack Dump ---------------------

 

 

 

Argument/Register addr=0x00000000043F692C.

Dump of memory from 0x00000000043F68EC to 0x00000000043F6A2C

0043F68E0                            75716572              [requ]

0043F68F0 64657269 25203D20 00000A64 75632020  [ired = %d...  cu]

0043F6900 6E657272 73232074 73746F6C 25203D20  [rrent #slots = %]

0043F6910 00000A64 616D2020 756D6978 7323206D  [d...  maximum #s]

0043F6920 73746F6C 25203D20 00000A64 68736168  [lots = %d...hash]

0043F6930 67676120 61676572 6E6F6974 6E616320  [ aggregation can]

0043F6940 62207427 6F642065 0000656E 20202020  ['t be done..    ]

0043F6950 68736148 72694420 6F746365 73656972  [Hash Directories]

0043F6960 69756220 7320746C 65636375 75667373  [ built successfu]

0043F6970 21796C6C 00000A21 68736571 654E4849  [lly!!...qeshIHNe]

0043F6980 6F4E7478 706D456E 6B427974 00312E74  [xtNonEmptyBkt.1.]

0043F6990 68736571 78637320 00000000 68736571  [qesh scx....qesh]

0043F69A0 7A697320 00000065 68736571 66756220  [ size...qesh buf]

0043F69B0 00000070 68736571 6F6C6C41 74694263  [p...qeshAllocBit]

0043F69C0 74636556 312E726F 00000000 68736571  [Vector.1....qesh]

0043F69D0 70627320 00000000 68736571 736F6C43  [ sbp....qeshClos]

0043F69E0 61635365 00332E6E 68736571 4270614D  [eScan.3.qeshMapB]

0043F69F0 65567469 726F7463 0000312E 68736571  [itVector.1..qesh]

0043F6A00 704F4448 63536E65 312E6E61 00000000  [HDOpenScan.1....]

0043F6A10 69442020 62206B73 64657361 20444820  [  Disk based HD ]

0043F6A20 6E616373 65706F20 0A64656E           [scan opened.]  

 

Argument/Register addr=0x000007FF117CBBD0.

Dump of memory from 0x000007FF117CBB90 to 0x000007FF117CBCD0

7FF117CBB90 0A54D680 000007FF 00000001 00010001  [..T.............]

7FF117CBBA0 00000000 00000002 00000000 00000000  [................]

7FF117CBBB0 00000001 00000000 00000002 00000000  [................]

7FF117CBBC0 00000000 00000000 00000000 00000000  [................]

7FF117CBBD0 BBC8209B DDD8CE9E B23B38EA 506DBDF9  [. .......8;...mP]

7FF117CBBE0 00000000 02747801 19100F05 00000000  [.....xt.........]

7FF117CBBF0 00000000 00000000 000000DA 00000000  [................]

7FF117CBC00 00000000 00000000 00000000 00000000  [................]

7FF117CBC10 117CBC20 000007FF 00000000 00000000  [ .|.............]

7FF117CBC20 69676562 4B50206E 45525F47 54524F50  [begin PKG_REPORT]

7FF117CBC30 5349525F 70732E4B 72656D5F 6E616863  [_RISK.sp_merchan]

7FF117CBC40 72745F74 28736E61 49474542 41445F4E  [t_trans(BEGIN_DA]

7FF117CBC50 3E3D4554 31303227 30313035 202C2731  [TE=>'20150101', ]

7FF117CBC60 5F444E45 45544144 32273E3D 31353130  [END_DATE=>'20151]

7FF117CBC70 27313332 4150202C 415F5143 3D414552  [231', PACQ_AREA=]

7FF117CBC80 2323273E 2C272323 43415020 4E495F51  [>'####', PACQ_IN]

7FF117CBC90 4F435F53 3E3D4544 23232327 23232323  [S_CODE=>'#######]

7FF117CBCA0 23232323 2C272323 45525020 415F5643  [######', PRECV_A]

7FF117CBCB0 3D414552 2323273E 2C272323 45525020  [REA=>'####', PRE]

7FF117CBCC0 495F5643 435F534E 3D45444F 2323273E  [CV_INS_CODE=>'##]

Argument/Register addr=0x000000000001F240.

Dump of memory from 0x000000000001F200 to 0x000000000001F340

00001F200 00000000 00000000 00000000 00000000  [................]

  Repeat 19 times

Argument/Register addr=0x00000000DCAA00AF.

Dump of memory from 0x00000000DCAA006F to 0x00000000DCAA01AF

0DCAA0060                            03520418              [..R.]

0DCAA0070 00000352 0418005A 04B30465 054F0502  [R...Z...e.....O.]

0DCAA0080 05EC059F 0689063B 072606D8 07C40776  [....;.....&.v...]

0DCAA0090 085E0811 08FB08AB 09970948 0A3209E4  [..^.....H.....2.]

0DCAA00A0 0AD30A82 0B6F0B20 0C0C0BBE 0CA80C5A  [.... .o.....Z...]

0DCAA00B0 0D450CF6 0DE20D93 0E800E31 0F1C0ECE  [..E.....1.......]

0DCAA00C0 0FB60F6A 10521004 10EE109F 118A113D  [j.....R.....=...]

0DCAA00D0 122611D9 12C41275 13601311 13FC13AE  [..&.u.....`.....]

0DCAA00E0 14981449 153414E5 15D11582 166D161F  [I.....4.......m.]

0DCAA00F0 170916BA 17A71757 184317F4 18DE1892  [....W.....C.....]

0DCAA0100 197C192E 1A1819CB 1AB21A66 1B4C1AFF  [..|.....f.....L.]

0DCAA0110 1BEC1B9B 1C891C3A 1D271CD7 1DC21D74  [....:.....'.t...]

0DCAA0120 1E5E1E10 1EFD1EAF 001C1F4A 0001006E  [..^.....J...n...]

0DCAA0130 00052AA0 00052AA0 00000007 00000000  [.*...*..........]

0DCAA0140 4210160A F9890000 00000102 22C157D0  [...B.........W."]

0DCAA0150 0040D781 00210203 2B05636B 35C39330  [..@...!.kc.+0..5]

0DCAA0160 0531CF23 00000000 00000002 00370037  [#.1.........7.7.]

0DCAA0170 31303208 33313036 38300D31 38393734  [.20160131.084798]

0DCAA0180 34343330 0D202020 37343830 33303839  [0344   .08479803]

0DCAA0190 20203434 45500320 30300252 31323003  [44   .PER.00.021]

0DCAA01A0 71893406 080900E5 36313032 31333130  [.4.q....20160131]

 

......

 

Argument/Register addr=0x00000000179BCA9B.

Dump of memory from 0x00000000179BCA5B to 0x00000000179BCB9B

0179BCA50                   3720DAB5 3AD0C120          [.. 7 ..:]

0179BCA60 4C500A20 30302D53 3A363033 D3F7B520  [ .PLS-00306: ...]

0179BCA70 532720C3 454D5F50 41484352 545F544E  [. 'SP_MERCHANT_T]

0179BCA80 534E4152 B1CA2027 FDCACEB2 FDCAF6B8  [RANS' ..........]

0179BCA90 E0C0F2BB EDB4CDD0 4F0AF3CE 302D4152  [...........ORA-0]

0179BCAA0 30353536 DAB5203A D0203120 B5202CD0  [6550: .. 1 .., .]

0179BCAB0 203720DA 203AD0C1 2F4C500A 3A4C5153  [. 7 ..: .PL/SQL:]

0179BCAC0 61745320 656D6574 6920746E 726F6E67  [ Statement ignor]

0179BCAD0 000A6465 0000000A FFF7A000 000007FF  [ed..............]

0179BCAE0 00000000 00000000 00000000 00000000  [................]

0179BCAF0 000000AF 00000000 00000000 00000000  [................]

0179BCB00 7770D790 00000000 00000000 00000000  [..pw............]

0179BCB10 00000000 00000000 0C100000 00000000  [................]

0179BCB20 00000030 00000000 0C101438 00000000  [0.......8.......]

0179BCB30 00000000 00000000 77639685 00000000  [..........cw....]

0179BCB40 0C100000 00000000 00010002 00000000  [................]

0179BCB50 00000030 00000000 00000040 00000000  [0.......@.......]

0179BCB60 00000000 00000000 04D9874C 00000000  [........L.......]

0179BCB70 27AD1280 00000000 04D98BB0 00000000  [...'............]

0179BCB80 04D98940 00000000 04D9874C 00000000  [@.......L.......]

0179BCB90 04D98940 00000000 04D9874C           [@.......L...]   

Argument/Register addr=0x0000000014681F08.

 

从上面的信息看到是在执行一个 GROUP BY 分组操作的SQL使用 HASH GROP BY  导致 ORA-00600 无法完成数据聚合的错误。

 

metalink 使用  ORA-00600 [32695], [hash aggregation can't be done] 搜索到文档 ORA-600 [32695] [hash aggregation can't be done] (文档 ID 729447.1)

 

3、建议

 

1)在数据库系统集禁用 HASH GROUP BY,并刷新共享池

alter system set "_gby_hash_aggregation_enabled" = false scope=spfile;2

 

2)在会话级禁用 HASH GROUP BY ,并刷新共享池

alter session set "_gby_hash_aggregation_enabled" = false;

 

3)使用提示禁用 HASH GROUP BY

SQL> select /*+ NO_USE_HASH_AGGREGATION */ ...

 

4)安装补丁 patch:6471770修复该问题。

 

 

结论:通过TRACE 文件分析定位问题原因是执行一个 GROUP BY 分组操作的SQL导致 ORA-00600 无法完成数据聚合的错误。建议禁用 HASH GROUP BY 或安装装补丁 patch:6471770修复该问题。

请使用浏览器的分享功能分享到微信等