在检查某运营商的客服数据库时发现如下错误
Tue Jan 31 22:00:50 2012 Errors in file /oracle10/admin/ahunicom/bdump/ahunicom1_j005_24445074.trc: ORA-00600: internal error code, arguments: [ktspNextL1:4], [], [], [], [], [], [], [] Tue Jan 31 22:01:18 2012 Trace dumping is performing id=[cdmp_20120131220118] Tue Jan 31 22:01:18 2012 Errors in file /oracle10/admin/ahunicom/bdump/ahunicom1_j005_24445074.trc: ORA-00600: internal error code, arguments: [ORA-00600: internal error code, arguments: [ktspNextL1:4], [], [], [], [], [], [], [] ORA-06512: at "SYS.PRVT_ADVISOR", line 1624 ORA-06512: at "SYS.DBMS_ADVISOR", line 186 ORA-06512: at "SYS.DBMS_SPACE", line 1500 ORA-06512: at "SYS.DBMS_SPACE", line 1566 ], [], [], [], [], [], [], []
查看trace文件
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
ORACLE_HOME = /oracle10/app/product/db/10.2.0
System name: AIX
Node name: zwq_kfdb1
Release: 1
Version: 6
Machine: 00C5C4764C00
Instance name: ahunicom1
Redo thread mounted by this instance: 1
Oracle process number: 192
Unix process pid: 24445074, image: oracle@zwq_kfdb1 (J005)
*** ACTION NAME:(AUTO_SPACE_ADVISOR_JOB) 2012-01-31 22:00:50.874
*** MODULE NAME:(DBMS_SCHEDULER) 2012-01-31 22:00:50.874
*** SERVICE NAME:(SYS$USERS) 2012-01-31 22:00:50.874
*** SESSION ID:(454.44574) 2012-01-31 22:00:50.874
*** 2012-01-31 22:00:50.873
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [ktspNextL1:4], [], [], [], [], [], [], []
Current SQL statement for this session:
insert into wri$_adv_objspace_trend_data select timepoint, space_usage, space_alloc, quality from table(dbms_space.object_growth_trend(:1, :2, :3, :4, NULL
, NULL, NULL, 'FALSE', :5, 'FALSE'))
----- PL/SQL Call Stack -----
object line object
handle number name
70000010d9a65e0 1834 package body SYS.DBMS_SPACE
70000010d9a65e0 3922 package body SYS.DBMS_SPACE
70000010d9a65e0 4233 package body SYS.DBMS_SPACE
70000011a7d9c88 1 anonymous block
700000180678048 344 SYS.WRI$_ADV_OBJSPACE_TREND_T
700000180678048 1485 SYS.WRI$_ADV_OBJSPACE_TREND_T
7000001334867d0 1535 package body SYS.PRVT_ADVISOR
7000001334867d0 1618 package body SYS.PRVT_ADVISOR
70000011f9f64a8 186 package body SYS.DBMS_ADVISOR
70000010d9a65e0 1500 package body SYS.DBMS_SPACE
70000010d9a65e0 1566 package body SYS.DBMS_SPACE
----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
ksedst+001c bl ksedst1 70000017E9975D0 ? 100000001 ?
ksedmp+0290 bl ksedst 104A2CDB0 ?
ksfdmp+0018 bl 03F2735C
kgerinv+00dc bl _ptrgl
kgeasnmierr+004c bl kgerinv 000000000 ? 000000001 ?
000000005 ? 7000000E19760FC ?
7000000E1976014 ?
ktspGetNextL1ForSca bl 01F94828
n+0104
ktspScanInit+026c bl ktspGetNextL1ForSca A0A0E1B89 ? 10564BCF4 ?
n 80003000804DC ?
ktspGenExtentMap1+0 bl ktspScanInit 000000000 ?
0e8
kteinmap1+00bc bl ktspGenExtentMap1 000000000 ? 000000001 ?
FFFFFFFFFFE3A80 ?
kteinmap+0010 bl kteinmap1 000000000 ? 00000000D ?
kdgini+036c bl kteinmap FFFFFFFFFFE3DA0 ?
kdg_block_auto+018c bl kdgini 000000000 ? A0B4A708C ?
5676A0005676A ?
80003000804DC ? 000000000 ?
70000016AD82170 ? 110195498 ?
70000016AD82148 ?
ktsa_object_space_u bl kdg_block_auto FFFFFFFFFFE4C50 ?
sage+0950 FFFFFFFFFFE4CA0 ? 200000780 ?
70000011A7D9C88 ?
由trace文件中的insert语句可以知道,这个错误是DBMS_SPACE.OBJECT_GROWTH_TREND进行空间分析时被触发
查询MOS[ID 841158.1],发现这个是一个没有公布的bug(5649098),在11.1.0.7中被修复
解决方案:
1.忽略这个错误,因为这个错误是不可重复的,发生的概率不大
2.升级到11.1.0.7及其以上版本
3.如果遇到这个错误,可以手工执行dbms_space.auto_space_advisor_job_proc();
