ディクショナリ追跡とサプリメンタル・ロギングの各種設定を組み合せた場合に発生する次の相互作用に注意してください。
DDL_DICT_TRACKING
が有効で、サプリメンタル・ロギングが有効でない場合は、次のようになります。
REDOログ・ファイルでDDLトランザクションが検出された場合、V$LOGMNR_CONTENTS
の問合せはORA-01347エラーを返して終了します。
REDOログ・ファイルでDMLトランザクションが検出された場合、LogMinerディクショナリ内の表(そのDMLの基礎となる表)の現在のバージョンがLogMinerによって正しいとは認識されず、V$LOGMNR_CONTENTS
の列が次のように設定されます。
SQL_REDO
列にバイナリ・データが含まれます。
STATUS
列に値2
が含まれます(SQLが有効でないことを示します)。
INFO
列に「ディクショナリの不一致」という文字列が含まれます。
DDL_DICT_TRACKING
およびサプリメンタル・ロギングが有効ではない場合、DML操作で参照された列がLogMinerディクショナリ内の列と一致すると、LogMinerディクショナリの最新バージョンがLogMinerによって正しいと認識され、V$LOGMNR_CONTENTS
の列が次のように設定されます。
LogMinerは、LogMinerディクショナリ内のオブジェクトの定義を使用して、SQL_REDO
列とSQL_UNDO
列の値を生成します。
STATUS列に値3
が含まれます(SQLが正しいと保証できないことを示します)。
INFO
列には、「サプリメンタル・ログ・データが見つかりません」という文字列が含まれます。
DDL_DICT_TRACKING
およびサプリメンタル・ロギングが有効ではない場合に、表のLogMinerディクショナリ定義で定義された列より、表のREDOログ・ファイル内の変更された列の方が多いときは、次のようになります。
SQL_REDO
列とSQL_UNDO
列に「ディクショナリのバージョンの不一致」という文字列が含まれます。
STATUS
列に値2
が含まれます(SQLが有効でないことを示します)。
INFO
列に「ディクショナリの不一致」という文字列が含まれます。
また、列のディクショナリ定義で定義されている型とその列の実際の型が異なる場合は、予期しない動作が発生する可能性があります。