Email: service@parnassusdata.com 7 x 24 online support!
【Oracleのデータ復旧】ORA-600[4194]エラ一例
プロのOracle Databaseの復旧サービスを提供
携帯番号: +86 13764045638 メール:service@parnassusdata.com
ORA-600[4194]内部的なエラはredo記録とロールバック記録が一致していないから引き起こしたOracleがUndo record numberを検証するときに、redo changeとロールバックセグメントのundo record numberを比べる。相違が現れたら4194エラになる。そのエラargument[a][b]に,aはロールバックで最大のundo record numberと意味していて、bはredoログで記録されたundo record numberと意味している。このエラはロールバックセグメントあるいはredo logログファイルのエラで引き起こしている。
ORA-00600[4194]エラの根本的な原因は redo記録とロールバックセグメント(rollback/undo)記録の間で一致していないから。ORACLEがundo記録を検証するときに、記録するときに該当する変化をundoデータブロックの最大undo記録に応用する。この場合にエラになるとORA-00600[4194]と報告する。
ORA-600[2662]あるいはORA-600[4000]エラの場合に、データベースを起動できなくなるが。このエラはロールフォワードするときにめったり現れないから、データベースを起動できる。データベースを起動したら、smonはトランザクションリカバリを実行することあるいはロールバックセグメントの管理することによってこのエラになるかもしれない。
ORA-600[4194]二つの意味:
Arg [a] Maximum Undo record number in Undo block
Arg [b] Undo record number from Redo block
このORA-600[4194] エラはORACLEカーネルに属して、cache層からトランザクションundoに処理される。プロセスが失敗するあるいはブロックが壊れるかもしれない
bug は以下の通り:
8240762 10.2.0.5,
11.1.0.7.10,
11.2.0.1
Undo corruptions with ORA-600 [4193]/ORA-600 [4194] or ORA-600 [4137] /
SMON may spin to recover transaction
3210520 9.2.0.5, 10.1.0.2 OERI[kjccqmg:esm] / OERI[4194] / corruption possible in RAC
792610 8.0.6.0, 8.1.6.0 Rollback segment corruption
非ブートストラップオブジェクトnon-bootstrapに該当するundo記録を以下の方法を実行してください。関連するオブジェクトはbootstrapシステムオブジェクトの場合に、人工的にbbedでリカバリしてください。うまくいかない場合に私たちに連絡してください。
エラ記録を見てください:
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! */