レプリケーション表間の整合性を確認する
デフォルトでは、TimesTenのレプリケーション・スキームはTABLE DEFINITION CHECKING RELAXED属性を使用して作成されます。TABLE DEFINITION CHECKING RELAXED属性では、レプリケートされた表の列定義が同じである必要はありません。RELAXED属性には、レプリケートされた表に同じキー定義、列数、列名および列のデータ型のみが必要です。TABLE DEFINITION CHECKING EXACT句を使用してレプリケーション・スキームを定義する場合、レプリケーション・スキームに含まれるレプリケートされた表の列の定義はマスター・データベースとサブスクライバ・データベースで同一である必要があります。TimesTenでは、TABLE DEFINITION CHECKING RELAXEDを使用することをお薦めします。詳細は、『Oracle TimesTen In-Memory Databaseレプリケーション・ガイド』の「レプリケートされた表の列定義オプション」を参照してください。
このユーザー・エラー・ログの出力は、サブスクライバ表TTUSER.MYDSNの列の数が一致していないことを示しています。
11:37:58.00 Info: REP: 9430: REP1:transmitter.c(4936): TT16136: Sending definition for table TTUSER.MYDSN (1 column) 11:37:58.00 Info: REP: 9412: REP2:receiver.c(5928): TT16193: Adding definition for table: TTUSER.MYDSN 11:37:58.00 Info: REP: 9412: REP2:meta.c(5580):TTUSER.MYDSN ptn 0: srcoff 0, destoff 0, length 8 11:37:58.00 Info: REP: 9412: REP2:meta.c(5580):TTUSER.MYDSN ptn 1: srcoff 8, destoff 12, length 12 11:37:58.00 Err : REP: 9412: REP2:receiver.c(6203): TT16198: Table definition mismatch on number of columns for table TTUSER.MYDSN. Local definition: 2; transmitting peer: 1 11:37:58.00 Err : REP: 9412: REP2:receiver.c(6380): TT16204: Table TTUSER.MYDSN marked invalid. Will not apply transactions received for it until a valid definition is received 11:37:58.00 Err : REP: 9412: REP2:receiver.c(7200): TT16078: Table definition for ID 637068 is invalid (Original failure 11:37:58 REP2:receiver.c(6203): TT16198: Table definition mismatch on number of columns for table TTUSER.MYDSN. Local definition: 2; transmitting peer: 1) 11:37:58.00 Err : REP: 9412: REP2:receiver.c(5002): TT16187: Transaction 1173958671/2; Error: transient 0, permanent 1