天天看點

ORA-600[4194]錯誤一例

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&gt; </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&gt; </code><code>alter</code> <code>system </code><code>set</code> <code>undo_management=MANUAL scope=spfile;</code>

<code>SQL&gt; 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&gt; 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&gt; </code><code>alter</code> <code>database</code> <code>open</code><code>;</code>

<code>Database</code> <code>altered.</code>

<code>SQL&gt;  </code><code>create</code> <code>undo tablespace undoc datafile </code><code>size</code> <code>300M;</code>

<code>SQL&gt; </code><code>alter</code> <code>system </code><code>set</code> <code>undo_management=AUTO scope=spfile;</code>

<code>SQL&gt;  </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