SQL Server: サポートされているデータ型、オブジェクトおよび操作

SQL Serverデータベース上のOracle GoldenGateのサポート情報について学習します。

SQL ServerのためのOracle GoldenGateでは、サポートされるSQL Serverデータベース・バージョンの初期ロードおよびトランザクション・データの取得と配信がサポートされます。

Oracle GoldenGate for SQL Serverでは、このドキュメントで特に記載されていないかぎり、ソース・データのマッピング、フィルタリングおよび変換がサポートされており、このドキュメントで特に明記されている場合を除き、Oracle GoldenGateでサポートされている他のソース・データベースから導出されたデータのSQL Serverデータベースへのレプリケーションもサポートされます。

インスタンスの要件

データベースの要件

Oracle GoldenGateをサポートするための要件と制限事項を次に示します。

制限事項:

表の要件

取得と配信の対象に含める表には、「サポートされているSQL Serverデータ型」にリストされたデータ型のみが含まれている必要があります。

サポートされているSQL Serverデータ型

次にあげた制限事項に特に記載がないかぎり、キャプチャと配信で次のデータ型がサポートされます。

制限事項:

計算結果列に関する制限事項:

サポートされていないSQL Serverのデータ型および機能

SQL Serverについてサポートされているオブジェクトおよび操作

次のオブジェクトと操作がサポートされています。

SQL Serverについてサポートされていないオブジェクトおよび操作

次のオブジェクトと操作はサポートされていません。

表レベルDDLの変更の要件

Oracle GoldenGate for SQL Serverは、SQL ServerのDDLの変更の取得および配信をサポートしていません。ただし、Oracle GoldenGate 21c以降、TRANDATAで有効にされた表に対して行われた変更が原因ではExtractが異常終了することはありません。Extractは、TRANDATAが有効にされたときに存在していた表の変更データを引き続き処理します。

表レベルDDLの変更とみなされる操作には、ALTER TABLE、TRUNCATE TABLE、索引の再構築、パーティション・スイッチなどが含まれます(それらに限定されません)。

表レベルDDLの変更によるデータの不整合を回避するには、次のステップを実行する必要があります。

  1. ソース: 変更される1つ以上の表へのアプリケーション・データを一時停止または停止します。

  2. ソース: 変更される表に対するオープン・トランザクションが存在しないことを確認します。

  3. ソース: 変更される表に対する残りのすべてのトランザクションをSQL Server CDCキャプチャ・ジョブが処理していることを確認します。

  4. ソース: DDLの変更前に、変更される表のすべてのトランザクションをExtractが処理していることを確認します。

  5. ターゲット: DDLの変更前に、変更される表のすべてのトランザクションをReplicatが処理していることを確認します。

  6. オプションで、イベント・マーカー表の実装を使用して、変更される表の残りのすべてのトランザクションが処理されたタイミングを判断すると、ExtractおよびReplicatを正しく停止するタイミングの調整を処理できます。

  7. ソース: Extractプロセスを停止します。

  8. ターゲット: Replicatプロセスを停止します。

  9. ソース: DELETE TRANDATAを実行して、変更される表のサプリメンタル・ロギングを無効にします。

  10. ソース: ソース表に対して表DDLの変更を実施します。

  11. ターゲット: ターゲット表に対して表DDLの変更を実施します。

  12. ソース: 変更の実行後、表に対してADD TRANDATAを実行することで、サプリメンタル・ロギングを再有効化します。

  13. ソース: Extractプロセスを開始します。

  14. ターゲット: Replicatプロセスを開始します。

  15. ソース: 変更された1つ以上の表へのアプリケーション・データを再開します。

SQL Serverのシステム・スキーマ

次のシステム・スキーマはレプリケーションではサポートされていません。

guestスキーマはワイルドカード・マッピングを使用してサポートされませんが、TABLE guest.employeesなどの明示的なリストではサポートされます。