今天数据库出现如下错误:
Thu Aug 23 17:40:57 2012
Errors in file /u01/app/oracle/diag/rdbms/csora/csora2/trace/csora2_mmon_9472.trc (incident=125145):
ORA-00600: internal error code, arguments: [ktucloUsegScan_rscn_lt_mscn], [0], [1301124741], [0], [1301058758], [], [], [], [], [], [], []
Incident details in: /u01/app/oracle/diag/rdbms/csora/csora2/incident/incdir_125145/csora2_mmon_9472_i125145.trc
Thu Aug 23 17:40:58 2012
Trace dumping is performing id=[cdmp_20120823174058]
Thu Aug 23 17:41:56 2012
Restarting dead background process MMON
Thu Aug 23 17:41:56 2012
MMON started with pid=35, OS id=11556
Thu Aug 23 17:42:00 2012
Sweep Incident[125145]: completed
Thu Aug 23 17:55:36 2012
Restarting dead background process MMON
Thu Aug 23 17:55:36 2012
MMON started with pid=35, OS id=22581
Errors in file /u01/app/oracle/diag/rdbms/csora/csora2/trace/csora2_mmon_9472.trc (incident=125145):
ORA-00600: internal error code, arguments: [ktucloUsegScan_rscn_lt_mscn], [0], [1301124741], [0], [1301058758], [], [], [], [], [], [], []
Incident details in: /u01/app/oracle/diag/rdbms/csora/csora2/incident/incdir_125145/csora2_mmon_9472_i125145.trc
Thu Aug 23 17:40:58 2012
Trace dumping is performing id=[cdmp_20120823174058]
Thu Aug 23 17:41:56 2012
Restarting dead background process MMON
Thu Aug 23 17:41:56 2012
MMON started with pid=35, OS id=11556
Thu Aug 23 17:42:00 2012
Sweep Incident[125145]: completed
Thu Aug 23 17:55:36 2012
Restarting dead background process MMON
Thu Aug 23 17:55:36 2012
MMON started with pid=35, OS id=22581
/u01/app/oracle/diag/rdbms/csora/csora2/trace/csora2_mmon_9472.trc内容
$ more /u01/app/oracle/diag/rdbms/csora/csora2/trace/csora2_mmon_9472.trc
Trace file /u01/app/oracle/diag/rdbms/csora/csora2/trace/csora2_mmon_9472.trc
Oracle Database 11g Release 11.1.0.7.0 - 64bit Production
With the Real Application Clusters option
ORACLE_HOME = /u01/app/oracle/product/11.1.0/db_1
System name: Linux
Node name: csora2
Release: 2.6.18-128.el5
Version: #1 SMP Wed Dec 17 11:41:38 EST 2008
Machine: x86_64
Instance name: csora2
Redo thread mounted by this instance: 2
Oracle process number: 35
Unix process pid: 9472, image: oracle@csora2 (MMON)
Trace file /u01/app/oracle/diag/rdbms/csora/csora2/trace/csora2_mmon_9472.trc
Oracle Database 11g Release 11.1.0.7.0 - 64bit Production
With the Real Application Clusters option
ORACLE_HOME = /u01/app/oracle/product/11.1.0/db_1
System name: Linux
Node name: csora2
Release: 2.6.18-128.el5
Version: #1 SMP Wed Dec 17 11:41:38 EST 2008
Machine: x86_64
Instance name: csora2
Redo thread mounted by this instance: 2
Oracle process number: 35
Unix process pid: 9472, image: oracle@csora2 (MMON)
*** 2012-08-23 17:40:57.467
*** SESSION ID:(235.26931) 2012-08-23 17:40:57.467
*** CLIENT ID:() 2012-08-23 17:40:57.467
*** SERVICE NAME:(SYS$BACKGROUND) 2012-08-23 17:40:57.467
*** MODULE NAME:() 2012-08-23 17:40:57.467
*** ACTION NAME:() 2012-08-23 17:40:57.467
Incident 125145 created, dump file: /u01/app/oracle/diag/rdbms/csora/csora2/incident/incdir_125145/csora2_mmon_9472_i125145.trc
ORA-00600: internal error code, arguments: [ktucloUsegScan_rscn_lt_mscn], [0], [1301124741], [0], [1301058758], [], [], [], [], [], [], []
KEBM: MMON action policy violation. 'Block Cleanout Optim, Undo Segment Scan' viol=0; err=600
error 0 detected in background process
OPIRIP: Uncaught error 447. Error stack:
ORA-00447: fatal error in background process
ORA-00600: internal error code, arguments: [ktucloUsegScan_rscn_lt_mscn], [0], [1301124741], [0], [1301058758], [], [], [], [], [], [], []
error 0 detected in background process
OPIRIP: Uncaught error 447. Error stack:
ORA-00447: fatal error in background process
ORA-00600: internal error code, arguments: [ktucloUsegScan_rscn_lt_mscn], [0], [1301124741], [0], [1301058758], [], [], [], [], [], [], []
metalink上没找到相关的问题,咨询了一下刘大,得到如下回复:
Dump continued from file: /u01/app/oracle/diag/rdbms/csora/csora2/trace/csora2_mmon_9472.trc ORA-00600: internal error code, arguments: [ktucloUsegScan_rscn_lt_mscn], [0], [1301124741], [0], [1301058758], [], [], [], [], [], [], []
*** 2012-08-23 17:40:57.468
----- SQL Statement (None) -----
Current SQL information unavailable - no cursor.
----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
skdstdst()+28 call kgdsdst() 000000000 ? 000000000 ?
7FFFC2DDDEA0 ? 7FFFC2DDDF68 ?
7FFFC2DFDEC0 ? 000000000 ?
ksedst1()+95 call skdstdst() 000000000 ? 000000000 ?
7FFFC2DDDEA0 ? 7FFFC2DDDF68 ?
7FFFC2DFDEC0 ? 000000000 ?
ksedst()+35 call ksedst1() 000000000 ? 000000001 ?
7FFFC2DDDEA0 ? 7FFFC2DDDF68 ?
7FFFC2DFDEC0 ? 000000000 ?
dbkedDefDump()+1105 call ksedst() 000000000 ? 000000001 ?
7FFFC2DDDEA0 ? 7FFFC2DDDF68 ?
7FFFC2DFDEC0 ? 000000000 ?
ksedmp()+35 call dbkedDefDump() 000000003 ? 000000002 ?
7FFFC2DDDEA0 ? 7FFFC2DDDF68 ?
7FFFC2DFDEC0 ? 000000000 ?
__PGOSF52_ksfdmp()+ call ksedmp() 000000003 ? 000000002 ?
27 7FFFC2DDDEA0 ? 7FFFC2DDDF68 ?
7FFFC2DFDEC0 ? 000000000 ?
dbgexPhaseII()+287 call __PGOSF52_ksfdmp() 000000003 ? 000000002 ?
7FFFC2DDDEA0 ? 7FFFC2DDDF68 ?
7FFFC2DFDEC0 ? 000000000 ?
dbgexProcessError() call dbgexPhaseII() 2B6DE8D576F0 ? 2B6DE90F6A00 ?
+1287 7FFFC2E02510 ? 7FFFC2DDDF68 ?
7FFFC2DFDEC0 ? 000000000 ?
dbgeExecuteForError call dbgexProcessError() 2B6DE8D576F0 ? 2B6DE90F6A00 ?
()+67 000000001 ? 000000000 ?
100000000 ? 000000000 ?
dbgePostErrorKGE()+ call dbgeExecuteForError 2B6DE8D576F0 ? 2B6DE90F6A00 ?
1774 () 000000001 ? 000000001 ?
000000000 ? 000000000 ?
dbkePostKGE_kgsf()+ call dbgePostErrorKGE() 0096211A0 ? 2B6DE9190040 ?
64 000000258 ? 2B6DE90F6A00 ?
000000000 ? 000000000 ?
kgeadse()+392 call dbkePostKGE_kgsf() 0096211A0 ? 2B6DE9190040 ?
000000258 ? 2B6DE90F6A00 ?
000000000 ? 000000000 ?
kgerinv_internal()+ call kgeadse() 0096211A0 ? 2B6DE9190040 ?
50 000000258 ? 000000000 ?
000000000 ? 000000000 ?
kgerinv()+40 call kgerinv_internal() 0096211A0 ? 2B6DE9190040 ?
000000000 ? 000000258 ?
000000000 ? 000000000 ?
kgeasnmierr()+148 call kgerinv() 0096211A0 ? 2B6DE9190040 ?
000000000 ? 7FFFC2E03020 ?
000000000 ? 000000000 ?
ktucloUsegScan()+27 call kgeasnmierr() 0096211A0 ? 2B6DE9190040 ?
61 000000000 ? 7FFFC2E03020 ?
000000000 ? 000000000 ?
ksb_run_managed_act call ktucloUsegScan() 000000000 ? 000000000 ?
ion()+366 000000000 ? 7FFFC2E03020 ?
000000000 ? 000000000 ?
ksbcti()+2534 call ksb_run_managed_act 008088F60 ? 000000000 ?
ion() 000000000 ? 7FFFC2E03020 ?
000000000 ? 000000000 ?
ksbabs()+1745 call ksbcti() 008088F60 ? 000000000 ?
000000000 ? 7FFFC2E03020 ?
000000000 ? 000000000 ?
kebm_mmon_main()+10 call ksbabs() 008088F60 ? 000000000 ?
35 000000000 ? 7FFFC2E03020 ?
000000000 ? 000000000 ?
ksbrdp()+1487 call kebm_mmon_main() 060041510 ? 000000000 ?
000000000 ? 7FFFC2E03020 ?
stack call kebm_mmon_main=>ksbabs=>ksbcti=>ksb_run_managed_action => ktucloUsegScan=> 报错
MMON 似乎在做Block Cleanout Optim, Undo Segment Scan , 时触发了该ORA-600错误, 目前MOS上尚找不到类似的案例, 可能是BUG,也可能是 Undo Segment存在Corruption。
建议:
考虑通过disable 该Cleanout optimization特性绕过该问题:
ALTER SYSTEM SET "_smu_debug_mode"=134217728;