ORA-600[4194]内部错误一般由重做记录与回滚记录不匹配引发。Oracle在验证Undo record number时,会对比redo chang和回滚段中的undo record number,若发现2者存在差异则报该4194错误。其错误argument[a][b],a代表回滚块中的最大undo record number,b代表重做日志中记录的undo record number。这个错误可能由回滚段或者redo log日志文件讹误引起。
此错误不像ORA-600[2662]或ORA-600[4000]错误那样必然导致数据库无法打开,因为它很少出现在前滚阶段;当数据库被打开,smon开始执行事务恢复或一些回滚段的管理工作时则很有可能触发该错误。
来具体看一下错误记录:
Thu Aug 26 18:58:50 2010 Errors in file /s01/10gdb/admin/YOUYUS/bdump/youyus_smon_6587.trc: ORA-01595: error freeing extent (3) of rollback segment (4)) ORA-00600: internal error code, arguments: [4194], [53], [41], [], [], [], [], [] Thu Aug 26 18:58:50 2010 .............. Errors in file /s01/10gdb/admin/YOUYUS/bdump/youyus_j000_6630.trc: ORA-00354: corrupt redo log block header ORA-00353: log corruption near block 2 change 1617922 time 08/26/2010 18:35:39 ORA-00334: archived log: '/s01/10gdb/flash_recovery_area/YOUYUS/onlinelog/o1_mf_3_65psr4on_.log' Thu Aug 26 19:00:31 2010 Errors in file /s01/10gdb/admin/YOUYUS/bdump/youyus_j000_6630.trc: ORA-00600: internal error code, arguments: [4194], [53], [41], [], [], [], [], [] Thu Aug 26 19:00:34 2010 Errors in file /s01/10gdb/admin/YOUYUS/bdump/youyus_j000_6630.trc: ORA-00354: corrupt redo log block header ORA-00353: log corruption near block 2 change 1617922 time 08/26/2010 18:35:39 ORA-00334: archived log: '/s01/10gdb/flash_recovery_area/YOUYUS/onlinelog/o1_mf_3_65psr4on_.log' ORA-00600: internal error code, arguments: [4194], [53], [41], [], [], [], [], [] Thu Aug 26 19:00:35 2010 Errors in file /s01/10gdb/admin/YOUYUS/bdump/youyus_j000_6630.trc: ORA-00354: corrupt redo log block header ORA-00353: log corruption near block 2 change 1617922 time 08/26/2010 18:35:39 ORA-00334: archived log: '/s01/10gdb/flash_recovery_area/YOUYUS/onlinelog/o1_mf_3_65psr4on_.log' ORA-00600: internal error code, arguments: [4194], [53], [41], [], [], [], [], []
如果你因为ORA-600[4194]错误导致数据库无法打开,那么可以尝试设置以下事件:
SQL> alter system set event='10513 trace name context forever,level 2 : 10512 trace name context forever,level 1: 10511 trace name context forever,level 2: 10510 trace name context forever,level 1' scope=spfile; System altered. /* 10513事件用以阻止SMON在启动数据库后执行事务恢复(transaction recovery) */ /* 10512事件用以阻止SMON shrink rollback segment */ /* 10511事件用以阻止SMON check to cleanup undo dictionary */ /* 10500事件用以阻止SMON check to offline pending offline rollback segment */ SQL> alter system set undo_management=MANUAL scope=spfile; System altered. SQL> shutdown immediate; ORA-03113: end-of-file on communication channel SQL> startup mount; ORACLE instance started. Total System Global Area 2634022912 bytes Fixed Size 2086288 bytes Variable Size 2382367344 bytes Database Buffers 234881024 bytes Redo Buffers 14688256 bytes Database mounted. SQL> alter database open; Database altered. SQL> create undo tablespace undoc datafile size 300M; SQL> alter system set undo_management=AUTO scope=spfile; System altered. SQL> alter system set undo_tablespace=undoc scope=spfile; System altered. SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount; ORACLE instance started. Total System Global Area 2634022912 bytes Fixed Size 2086288 bytes Variable Size 2382367344 bytes Database Buffers 234881024 bytes Redo Buffers 14688256 bytes Database mounted. SQL> alter database open; Database altered. /* 通过重建undo表空间可以避免一些4194错误,但不是全部 */ /* 这个库目前处于随时会crash的不可控状态,我们必须要导出数据并导入到新库中 * / /* 这种情况下direct方式 可能可以规避一些意外错误 */ [maclean@rh2 dump]$ exp maclean/maclean file=full_maclean.dmp owner=maclean direct=y statistics=none Export: Release 10.2.0.4.0 - Production on Thu Aug 26 21:18:40 2010 Copyright (c) 1982, 2007, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options Export done in ZHS16GBK character set and UTF8 NCHAR character set About to export specified users ... . exporting pre-schema procedural objects and actions . exporting foreign function library names for user MACLEAN . exporting PUBLIC type synonyms . exporting private type synonyms . exporting object type definitions for user MACLEAN About to export MACLEAN's objects ... . exporting database links . exporting sequence numbers . exporting cluster definitions . about to export MACLEAN's tables via Direct Path ... Table SYS_EXPORT_TABLE_01 will be exported in conventional path. . . exporting table SYS_EXPORT_TABLE_01 256 rows exported Table SYS_EXPORT_TABLE_02 will be exported in conventional path. . . exporting table SYS_EXPORT_TABLE_02 257 rows exported Table SYS_EXPORT_TABLE_03 will be exported in conventional path. .............. exporting refresh groups and children . exporting dimensions . exporting post-schema procedural objects and actions . exporting statistics Export terminated successfully with warnings. /* we are lucky! */
© 2010, www.oracledatabase12g.com. 版权所有.文章允许转载,但必须以链接方式注明源地址,否则追究法律责任.
相关文章 | Related posts:
- ora-600 [17182]错误一例
- 如何公开Oracle trace文件?
- ORA-00600 [kcbz_check_objd_typ_3]错误一例
- ORA-00600 [kddummy_blkchk]错误一例
- ORA-00600 [4400][48]错误一例
- ORA-600 [6006] ORA-600 [6856] During Startup Instance, Followed by Termination by SMON
- 如何跟踪Oracle动态服务注册
- ora-600[qesmmCValStat4]一例
- ORA-600 [kddummy_blkchk] [18038] 一例
- ORA-07445: [__lwp_kill()+8] [SIGIOT]错误一例




Problem Description:
====================
Your users cannot log onto the database. You see the following errors in
the alert log: Ora-600 [4194], Ora-1578, and Ora-1110.
ORA-600 [4194] [a] [b] [ ] [ ] [ ]
Meaning: undo record number mismatch while adding an undo record to an undo
block. This is done by the application of redo.
ORA-01578: ORACLE data block corrupted (file # %s, block # %s)”
Cause: The data block indicated was corrupted, mostly due to software
errors.
Action: Try to restore the segment containing the block indicated. This
may involve dropping the segment and recreating it. If there
is a trace file, report the errors in it to your ORACLE
representative.
ORA-01110: “data file %s: ‘%s’”
Cause: Reporting file name for details of another error
Action: See associated error message
Problem Explanation:
====================
Oracle is unable to roll back an uncommitted transaction in its transaction
table. You have corruption in the rollback segment or corruption in an object
which the rollback segment is trying to apply undo record.
Problem References:
===================
Note:39283.1 OERR: 600 4194 undo record number mismatch while adding undo
record
Search Words:
=============
CORRUPTION, ROLLBACK, SEGMENT, CORRUPT, NEEDS, RECOVERY, ORA-1545,
Ora-600 [4137], Ora-600 4193]
Solution Description:
=====================
In all cases, the ideal solution for a corrupted ROLLBACK SEGMENT is to
restore your backup and do a point in time recovery to just prior to when
the problem occurred.
Solution Explanation:
=====================
Recover to a point in time before corruption occurred.
PS:
Hdr: 8240762 10.2.0.4 RDBMS 10.2.0.4 TXN MGMT LOCAL PRODID-5 PORTID-212 ORA-600
Abstract: UNDO CORRUPTION DURING SHRINK CAUSES ORA-600 [4193]
RELEASE NOTES:
]]Undo corruption during shrink causes ORA-600 [4193]
REDISCOVERY INFORMATION:
If you see an ORA-600 [4193] and the same undo block is used for two differen
t transactions (due to some corruption in the Free Block Pool during shrink ope
rations), then you may have hit this bug.
WORKAROUND:
None
PURPOSE:
This article discusses the internal error “ORA-600 [4194]“, what
it means and possible actions. The information here is only applicable
to the versions listed and is provided only for guidance.
ERROR:
ORA-600 [4194] [a] [b]
VERSIONS:
versions 6.0 to 10.1
DESCRIPTION:
A mismatch has been detected between Redo records and rollback (Undo)
records.
We are validating the Undo record number relating to the change being
applied against the maximum undo record number recorded in the undo block.
This error is reported when the validation fails.
ARGUMENTS:
Arg [a] Maximum Undo record number in Undo block
Arg [b] Undo record number from Redo block
FUNCTIONALITY:
Kernel Transaction Undo called from Cache layer
IMPACT:
PROCESS FAILURE
POSSIBLE ROLLBACK SEGMENT CORRUPTION
SUGGESTIONS:
This error may indicate a rollback segment corruption.
This may require a recovery from a database backup depending on
the situation.
If the Known Issues section below does not help in terms of identifying
a solution, please submit the trace files and alert.log to Oracle
Support Services for further analysis.
xid: 0x00d4.02a.0007d2f0 –>> usn 212
1- select segment_id, segment_name, status, file_id from dba_rollback_segs;
Find the segment_id = 212 and take the segment_name of it and do:
2- ALTER SYSTEM DUMP UNDO header ““;
Upload the trace file generated and the output of the first query (in a txt file)