咨询微信: dbservice1234 7 x 24 在线支持!

マスターノート: Oracle データベースの破損問題の対処

マスターノート: Oracle データベースの破損問題の対処

ORACLEデータベース によくあるエラ の解決策

プロのOracle Databaseの復旧サービスを提供
携帯番号: +86 13764045638 メール:service@parnassusdata.com

 
 

一般的なエラーはエラー番号をクリックすることによって、そのエラーまたはその破損の種類に関係する Note のみを表示することが可能です。

アクション

破損の説明

破損とは

Note 840978.1 : Physical and Logical block corruption

破損したブロックを強制再フォーマットする方法

Note 336133.1 : How to Format Corrupted Block Not Part of Any Segment

データベースの破損の特定方法

Note 472231.1 : How to identify all the Corrupted Objects in the Database reported by RMAN

Note 819533.1 : How to identify the corrupt Object reported by ORA-1578 / RMAN / DBVERIFY

OS/HW の問題による既知の破損

Note 1323649.1 : Known Corruption issues caused by 3rd party Software Provider

破損の種類

破損したセグメント

 How to handle Segment Corruptions (Table, Index, LOB, Long, IOT, Temporary)  ブロック破損が影響しているデータベース・セグメントを参照してください。

Note 428526.1 : Baddata Script To Check Database For Corrupt column data

制御ファイル破損

Note 1072762.6  :  ORA-00227, ORA-00202: BRING UP INSTANCE AFTER MACHINE CRASH

UNDO 破損

Note 281429.1 : Basic Steps to be Followed While Solving ORA-00600 [4194]/[4193] Errors Without Using Unsupported parameter

Note 39283.1 : ORA-600 [4194] "Undo Record Number Mismatch While Adding Undo Record"

Note 431652.1 : How to Change the Existing Undo Tablespace to a New Undo Tablespace

ディクショナリ破損

Note 136697.1 : "hcheck.sql" script to check for known problems in Oracle8i, Oracle9i, Oracle10g and Oracle 11g

REDO 破損

Note 1031381.6 : How to Dump Redo Log File Information.

行 & 列 破損

Note 976591.1 : HowTo validate a date/timestamp column               

Note 869305.1 : How To identify a 'corrupt' row when error is raised b

表と索引の整合性を確認する方法

Note 136620.1 : Sanity Check of Oracle NUMBERS, How to Find and Patch

セグメント破損の対処方法

TABLE(表)破損

Note 28814.1 : Handling Oracle Block Corruptions in Oracle7/8/8i/9i/10g/11g

INDEX(索引)破損

Note 28814.1 : Handling Oracle Block Corruptions in Oracle7/8/8i/9i/10g/11g

Note 438143.1 : Use of dbms_metadata.get_ddl() to extract Index DDL

Note 394143.1 : How Could I Format The Output From Dbms_metadata.Get_ddl Utility?

LOB

Note 452341.1 : How to detect Lob Corruption

Note 293515.1 : ORA-1578 ORA-26040 in a LOB segment - Script to solve the errors

LONG

** Oracle サポートに連絡してください **  -->> これらのオブジェクトに関する一般的な Note: * 公開されていません *

IOT(索引構成表)

** Oracle サポートに連絡してください **  -->> これらのオブジェクトに関する一般的な Note: * 公開されていません *

TEMPORARY(一時)

Note 1332088.1 : How to clear corruption in temporary segment not in temp tablespace

Note 422039.1 : Steps to drop a temporary segment while SMON is not able

パッケージ情報および例

DBMS_REPAIR

Note 556733.1 : DBMS_REPAIR script

Note 68013.1: DBMS_REPAIR example

DBMS_METADATA

Note 438143.1 : Use of dbms_metadata.get_ddl() to extract Index DDL

Note 394143.1 : Q How Could I Format The Output From Dbms_metadata.Get_ddl Utility?

Note 332077.1 : Why Does DBMS_METADATA.GET_DDL Not Show All Lines?

Note 188838.1 : Using DBMS_METADATA To Get The DDL For Objects

ツール

DBV

Note 35512.1 : DBVERIFY - Database file Verification Utility (7.3.2 - 10.2)

Note 269028.1 : DBV Reports Corruption Even After Drop/Recreate Object

Note 336133.1 : How to Format Corrupted Block Not Part of Any Segment

EXPORT

Note 214369.1 : Using The Export Utility To Check For Database Corruption

RMAN

Note 472231.1 : How to identify all the Corrupted Objects in the Database with RMAN

Note 1266059.1 : ABMR: HOW TO TEST AUTOMATIC BLOCK RECOVERY FEATURE

トランスポータブル表領域

Note 733824.1 : HowTo Recreate a database using TTS

データ・リカバリ・アドバイザ

Note 1317849.1 : Data Recovery Advisor - Corruption Reference Guide

ORA600/7445 エラー・ルックアップ・ツール

Note 153788.1 : ORA-600/ORA-7445 Error Look-up Tool

一般的なリンク

パッチ・セット・アップデート (PSU) & クリティカル・パッチ・アップデート (CPU)

Note 268895.1 : Oracle Database Server Patchset Information, Versions: 8.1.7 to 11.2.0

Note 1061295.1 : Patch Set Updates - One-off Patch Conflict Resolution

Note 161549.1 : Oracle Database, Networking and Grid Agent Patches for Microsoft Platforms

Note 756671.1 : Oracle Recommended Patches -- Oracle Database

Note 742060.1 : Release Schedule of Current Database Releases

Note 161818.1 : Oracle Database (RDBMS) Releases Support Status Summary

一般的なエラー

ORA-1578

ORA-1578 は読み込み時にブロックが破損していると考えられる場合に発生します。

ORA-1410

このエラーは表の ROWID を参照した際にその行がない場合に発生します。

ROWID への参照は、WHERE CURRENT OF 句または、直接 WHERE ROWID=... 句で指定します。

ORA-1410 は ブロックの ROWID はこの表の一部ではないことを示します。

ORA-8103

オブジェクトが操作が開始してから別のユーザーによって削除されています。

エラーが再現する場合は、以下の理由が考えられます。:-

a.) ヘッダー・ブロックが不正なタイプになっている。

b.) ブロック内の data_object_id (seg/obj) がセグメント・ヘッダーの data_object_id と異なっている。dba_objects.data_object_id を確認し、それをブロック内の10進の値(seg/obj)と比べてください。

ORA-8102

ORA-08102 は索引内のキーと表内の値が不整合であることを示します。一般的に、索引が構築後に何らかの破損が表または索引で発生し、不整合の原因になります。

ORA-1498

一般的にこれは ANALYZE ... VALIDATE ... コマンドの結果です。

通常このエラーはデータおよび索引のブロックに矛盾がある場合に発生します。ブロック・チェックでいくつかのエラーが見つかった場合です。:-

a.) 行が存在しないトランザクションによってロックされている。

b.) 使用される容量がブロック・サイズと等しくない。

c.) トランザクション・ヘッダーのロック・カウントの不整合

サポートがトレース・ファイルを調査している間に、破損が一貫性なのか一過性なのかを確認するために、データベースを再起動した後に再度 ANALYZE を実行することは価値があります。

調査のためにサポートにトレース・ファイルを送ってください。

索引に対する ANALYZE の場合は、すべてのオブジェクトを確認する必要があります。例: 表の名前を確認し、次を実行します。:

     ANALYZE TABLE xxx VALIDATE STRUCTURE CASCADE;

ORA-1499

このエラーは ANALYZE コマンドを使用して索引または表を検査した際に発生します。

一つ以上のエントリが適切に相互参照していません。

ORA-26040

NOLOGGING/ UNRECOVERABLE オプションを使用して、REDO 生成することなくロードされたブロック内のデータにアクセスしようとしています。

このエラーは ORA-1578 と共に発生します。

ORA-600 [12700]

Oracle は索引から取得した ROWID を使用して行にアクセスしようとしています。

索引の ROWID とそれが指し示すデータ・ブロックとの間で不整合が見つかった場合に発生します。ROWID がデータ・ブロックには存在しない行を指し示しています。破損はデータまたは索引で発生しています。

ORA-600 [12700] は読み取り一貫性(CR) の問題でも発生します。

ORA-600 [3020]

これは、'STUCK RECOVERY' が呼び出されました。

REDO にある情報とリカバリするデータベース・ブロックにある情報との間に不整合があります。

ORA-600 [4194]

REDO レコードとロールバック(UNDO)レコードの間に不整合が検知されました。

UNDO ブロック内の最大 UNDO レコード番号に対して適用される変更に関連する UNDO レコード番号を検証します。

このエラーはこの検証が失敗した際に発生します。

ORA-600 [4193]

REDO レコードとロールバック(UNDO)レコードの間に不整合が検知されました。

UNDO ブロック内の UNDO ブロックのシーケンス番号を適用される変更に関連する REDO ブロックのシーケンス番号に対して検証します。

このエラーはこの検証が失敗した際に発生します。

ORA-600 [4137]

UNDO レコードのバック・アウト中(例: ロールバック時) に、ロールバック・セグメント内の破損またはロールバック・セグメントが UNDO レコードを適用しようとしているオブジェクト内の破損を示す、トランザクション ID の不整合が見つかりました。

これはロールバック・セグメントの破損を示します。

ORA-600 [6101]

UNDO の適用中に行を索引のリーフ・ブロックに挿入する際に、空き領域が不十分であることが検出されました。

ORA-600 [2103]

Oracle は制御ファイル内の標準エントリを読み込みまたは更新することを試みます。

エントリ番号が不正な場合に ORA-600 [2130] が発生します。

ORA-600 [4512]

Oracle はブロック内のトランザクション・ロック数を確認します。

ロック数がロック・エントリの数より大きい場合に、ORA-600 [4512] がスタック・トレース、プロセスステート、ブロック・ダンプと共に発生します。

このエラーはブロック破損の可能性があります。

ORA-600 [2662]

データ・ブロック SCN がカレント SCN を超えています。

ORA-600 [2662] は UGA 変数内に格納された依存 SCN と比較された時に発生します。

SCN が依存 SCN より小さい場合に、ORA-600 [2662] 内部エラーが発生します。

ORA-600 [4097]

トランザクションがコミットされているかどうかを確認するためにロールバック・セグメント・ヘッダーにアクセスします。xid がトランザクション・テーブルの未来になっています。

これはロールバック・セグメントの破損の問題が原因である可能性があります。または、以下の既知の問題に該当している可能性があります。

ORA-600 [4000]

これは、Oracle がディクショナリ・キャッシュ内の UNDO セグメント番号を見つけることを試み、失敗したことを意味します。

ORA-600 [6006]

Oracle は索引のリーフ・キー操作を元に戻しています。キーが見つからない場合に、ORA-00600 [6006] が発生します。ORA-600[6006] は通常、ディスクへの書き込み損失またはディスク上の破損のいずれかに関連するメディア破損の問題が原因で発生します。

ORA-600 [4552]

ブロック内の行のロックを解除しようとし、不正なブロック・タイプを受け取った場合に発生します。

2番目の引数は受け取ったブロック・タイプです。

ORA-600[6856]

Oracle は解放しようとしている行のスロットを確認していますが、それはすでにフリー・リストにない場合に発生します。

この内部エラーはこの確認が失敗した際に発生します。

ORA-600[13011]

削除処理中、instead-of トリガー経由か索引構成表経由でビューから削除されており、この例外を発生させた時に 5000 パス・カウントを超えました。

ORA-600[13013]

UPDATE 文の実行中、何度かの試みの後(引数[a]がパス・カウント)WHERE 句に準拠している行の安定したセットを取得することができませんでした。

ORA-600[13030]

 

ORA-600[25012]

表領域番号、相対ファイル番号から絶対ファイル番号を生成しようとし該当するファイル番号を見つけることができなかった場合やそのファイル番号が 0 であった場合に発生します。

ORA-600[25026]

表領域を確認し、不正な表領域番号または rdba が見つかりました。

ORA-600[25027]

不正な tsn または rfn が見つかりました。

ORA-600 [kcbz_check_objd_typ_3]

メモリ内のオブジェクト・ブロック・バッファがチェックされ、不正なオブジェクトID が見つかった場合に発生します。これは破損が原因である可能性が高いです。

ORA-600[kddummy_blkchk] & ORA-600[kdblkcheckerror]

ORA-600[kddummy_blkchk] は 10.1/10.2 で、

ORA-600[kdblkcheckerror] は 11 以降で発生します。

ORA-600[ktadrprc-1]

 

ORA-600[ktsircinfo_num1]

この例外は、sys.seg$ から取得している行キャッシュ情報に問題がある場合に発生します。ほとんどの場合 sys.seg$ に情報はありません。

ORA-600[qertbfetchbyrowid]

 

ORA-600[ktbdchk1-bad dscn]

この例外は、依存 SCN にサニティ・チェックを実行し、失敗した場合に発生します。

依存 SCN がカレント SCN により大きい場合に発生します。