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开始执行事务恢复或一些回滚段的管理工作时则很有可能触发该错误。 来具体看一下错误记录:
<a href="http://blog.51cto.com/maclean/1277137#">?</a>
<code>Thu Aug 26 18:58:50 2010</code>
<code>Errors </code><code>in</code> <code>file /s01/10gdb/admin/YOUYUS/bdump/youyus_smon_6587.trc:</code>
<code>ORA-01595: error freeing extent (3) </code><code>of</code> <code>rollback</code> <code>segment (4))</code>
<code>ORA-00600: internal error code, arguments: [4194], [53], [41], [], [], [], [], []</code>
<code>..............</code>
<code>Errors </code><code>in</code> <code>file /s01/10gdb/admin/YOUYUS/bdump/youyus_j000_6630.trc:</code>
<code>ORA-00354: corrupt redo log block header</code>
<code>ORA-00353: log corruption near block 2 change 1617922 </code><code>time</code> <code>08/26/2010 18:35:39</code>
<code>ORA-00334: archived log: </code><code>'/s01/10gdb/flash_recovery_area/YOUYUS/onlinelog/o1_mf_3_65psr4on_.log'</code>
<code>Thu Aug 26 19:00:31 2010</code>
<code>Thu Aug 26 19:00:34 2010</code>
<code>Thu Aug 26 19:00:35 2010</code>
如果你因为ORA-600[4194]错误导致数据库无法打开,那么可以尝试设置以下事件:
<code>SQL> </code><code>alter</code> <code>system </code><code>set</code> <code>event=</code><code>'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'</code> <code>scope=spfile;</code>
<code>System altered.</code>
<code>/* 10513事件用以阻止SMON在启动数据库后执行事务恢复(</code><code>transaction</code> <code>recovery) */</code>
<code>/* 10512事件用以阻止SMON shrink </code><code>rollback</code> <code>segment */</code>
<code>/* 10511事件用以阻止SMON </code><code>check</code> <code>to</code> <code>cleanup undo dictionary */</code>
<code>/* 10500事件用以阻止SMON </code><code>check</code> <code>to</code> <code>offline pending offline </code><code>rollback</code> <code>segment */</code>
<code>SQL> </code><code>alter</code> <code>system </code><code>set</code> <code>undo_management=MANUAL scope=spfile;</code>
<code>SQL> shutdown immediate;</code>
<code>ORA-03113: </code><code>end</code><code>-</code><code>of</code><code>-file </code><code>on</code> <code>communication channel</code>
<code>SQL> startup mount;</code>
<code>ORACLE instance started.</code>
<code>Total System </code><code>Global</code> <code>Area 2634022912 bytes</code>
<code>Fixed </code><code>Size</code> <code>2086288 bytes</code>
<code>Variable </code><code>Size</code> <code>2382367344 bytes</code>
<code>Database</code> <code>Buffers 234881024 bytes</code>
<code>Redo Buffers 14688256 bytes</code>
<code>Database</code> <code>mounted.</code>
<code>SQL> </code><code>alter</code> <code>database</code> <code>open</code><code>;</code>
<code>Database</code> <code>altered.</code>
<code>SQL> </code><code>create</code> <code>undo tablespace undoc datafile </code><code>size</code> <code>300M;</code>
<code>SQL> </code><code>alter</code> <code>system </code><code>set</code> <code>undo_management=AUTO scope=spfile;</code>
<code>SQL> </code><code>alter</code> <code>system </code><code>set</code> <code>undo_tablespace=undoc scope=spfile;</code>
<code>Database</code> <code>closed.</code>
<code>Database</code> <code>dismounted.</code>
<code>ORACLE instance shut down.</code>
<code>/* 通过重建undo表空间可以避免一些4194错误,但不是全部 */</code>
<code>/* 这个库目前处于随时会crash的不可控状态,我们必须要导出数据并导入到新库中 * /</code>
<code>/* 这种情况下direct方式 可能可以规避一些意外错误 */</code>
<code>[maclean@rh2 dump]$ exp maclean/maclean file=full_maclean.dmp owner=maclean direct=y </code><code>statistics</code><code>=none</code>
<code>Export: Release 10.2.0.4.0 - Production </code><code>on</code> <code>Thu Aug 26 21:18:40 2010</code>
<code>Copyright (c) 1982, 2007, Oracle. </code><code>All</code> <code>rights reserved.</code>
<code>Connected </code><code>to</code><code>: Oracle </code><code>Database</code> <code>10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production</code>
<code>With</code> <code>the Partitioning, OLAP, Data Mining </code><code>and</code> <code>Real</code> <code>Application Testing options</code>
<code>Export done </code><code>in</code> <code>ZHS16GBK </code><code>character</code> <code>set</code> <code>and</code> <code>UTF8 </code><code>NCHAR</code> <code>character</code> <code>set</code>
<code>About </code><code>to</code> <code>export specified users ...</code>
<code>. exporting pre-</code><code>schema</code> <code>procedural objects </code><code>and</code> <code>actions</code>
<code>. exporting </code><code>foreign</code> <code>function</code> <code>library names </code><code>for</code> <code>user</code> <code>MACLEAN</code>
<code>. exporting </code><code>PUBLIC</code> <code>type synonyms</code>
<code>. exporting private type synonyms</code>
<code>. exporting object type definitions </code><code>for</code> <code>user</code> <code>MACLEAN</code>
<code>About </code><code>to</code> <code>export MACLEAN</code><code>'s objects ...</code>
<code>. exporting database links</code>
<code>. exporting sequence numbers</code>
<code>. exporting cluster definitions</code>
<code>. about to export MACLEAN'</code><code>s tables via Direct Path ...</code>
<code>Table</code> <code>SYS_EXPORT_TABLE_01 will be exported </code><code>in</code> <code>conventional path.</code>
<code>. . exporting </code><code>table</code> <code>SYS_EXPORT_TABLE_01 256 </code><code>rows</code> <code>exported</code>
<code>Table</code> <code>SYS_EXPORT_TABLE_02 will be exported </code><code>in</code> <code>conventional path.</code>
<code>. . exporting </code><code>table</code> <code>SYS_EXPORT_TABLE_02 257 </code><code>rows</code> <code>exported</code>
<code>Table</code> <code>SYS_EXPORT_TABLE_03 will be exported </code><code>in</code> <code>conventional path.</code>
<code>exporting refresh groups </code><code>and</code> <code>children</code>
<code>. exporting dimensions</code>
<code>. exporting post-</code><code>schema</code> <code>procedural objects </code><code>and</code> <code>actions</code>
<code>. exporting </code><code>statistics</code>
<code>Export terminated successfully </code><code>with</code> <code>warnings.</code>
<code>/* we are lucky! */</code>
本文转自maclean_007 51CTO博客,原文链接:http://blog.51cto.com/maclean/1277137