アクティブ・スタンバイ・ペア内の外部キーで関連付けられている表のレプリケーション
アクティブ・スタンバイ・ペアのレプリケーション・スキームでは、外部キーで互いに関連付けられている表は、すべての表をレプリケートするか一部の表のみをレプリケートするかを選択できます。
アクティブ・スタンバイ・ペアのレプリケーション・スキームの作成前または後に、表および外部キー関係をアクティブ・マスターに作成できます。
-
アクティブ・スタンバイ・ペアの作成前: アクティブ・スタンバイ・ペアのレプリケーション・スキームの作成前に、表および外部キー関係をアクティブ・マスターに作成できます。次に、アクティブ・スタンバイ・ペアのレプリケーション・スキームを作成します。
-
アクティブ・スタンバイ・ペアの作成後: アクティブ・スタンバイ・ペアのレプリケーション・スキームの作成後に、表および外部キー関係をアクティブ・マスターに作成できます。表がスタンバイ・マスターに自動的にレプリケートされ、レプリケーション・スキームに追加されるようにするには、デフォルト・モード(
DDLReplicationLevel
が2以上に設定され、DDLReplicationAction=INCLUDE
)を使用する必要があります。「アクティブ・スタンバイ・ペア内のすべてのデータベースへのオブジェクト・レプリケーションの制御」を参照してください。
外部キーを持つ子表でON DELETE CASCADE
が定義されている場合は、その子表に対して外部キーで関連付けられている他のすべての表をレプリケートする必要があります。これにより、アクティブ・マスター・データベースでカスケード削除を実行した場合にスタンバイ・マスター表で外部キー競合が発生しなくなります。
TimesTen Classicでは、カスケード削除が単一の操作としてレプリケートされ、親表で行が削除された場合に子表で発生する個々の行削除はサブスクライバにレプリケートされません。そのため、親表で削除された外部キーの値を含む行がサブスクライバ・データベースの子表に存在する場合は、その行がマスター・データベースの子表に存在していなかった場合でも削除されます。