Oracle DMLのオブジェクトと操作のサポートの詳細

DML操作の取得とレプリケーションについてOracle GoldenGateでサポートされるOracleオブジェクトと操作のリストを次に示します。

トピック:

マルチテナント・コンテナ・データベース

Oracle GoldenGateは、マルチテナント・コンテナ・データベースとの間でキャプチャと配信を実行します。「マルチテナント・コンテナ・データベースの構成」を参照してください。

Oracle GoldenGateは、アプリケーション・コンテナのルートと子のエンドツーエンド・レプリケーションをサポートしていません

表、ビューおよびマテリアライズド・ビュー

Oracle GoldenGateでは、標準の表、索引構成表、クラスタ化された表およびマテリアライズド・ビューに対して行われる次のDML操作がサポートされます。

  • INSERT

  • UPDATE

  • DELETE

  • 関連するトランザクション制御操作

ヒント:

DBA_GOLDENGATE_SUPPORT_MODEデータ・ディクショナリ・ビューを使用して、データベースの表に対するOracle GoldenGateキャプチャ・プロセス・サポートのレベルの情報を表示できます。DBA_GOLDENGATE_SUPPORT_MODEPLSQL値は、表がネイティブでサポートされるが、手続き型サプリメンタル・ロギングが必要なことを示します。詳細は、DBA_GOLDENGATE_SUPPORT_MODEに関する項を参照してください。主索引およびNULL以外の一意索引を持たないすべての表を表示する必要がある場合は、DBA_GOLDENGATE_NOT_UNIQUEを使用できます。詳細は、DBA_GOLDENGATE_NOT_UNIQUEに関する項を参照してください。

トピック:

標準の表のサポートの制限

これらの制限は、Extractに適用されます。

  • Oracle GoldenGateでは、任意の数の行を含む表をサポートします。

  • 行の長さは最大4MBです。列の変更前および変更後の両方イメージを処理範囲に含むようにOracle GoldenGateが構成されている場合、完全な変更前イメージと変更後イメージの長さの合計に適用される長さは、最大4MBになります。たとえば、行識別子として使用されている列でUPDATE操作が実行されると、変更前および変更後のイメージが処理され、合計で4MBを超えることはできません。変更前および変更後のイメージは、行識別子でない列にも必要ですが、競合の検出および解決(CDR)の比較列として使用されます。CLOBなど、4KBを超えるデータが許可される文字の列では、最初の4KBのデータのみが行内に格納され、4MBの最大行長が可能になります。BLOBなど、4KBを超えるデータが許可されるバイナリの列では、最初の8KBのデータが行内に格納され、4MBの最大行長が可能になります。

  • Oracle GoldenGateでは、データベースによってサポートされている表ごとに最大列数がサポートされています。

  • Oracle GoldenGateでは、データベースによってサポートされている最大列サイズがサポートされます。

  • Oracle GoldenGateでは、列に次のデータ型の1つが含まれていないかぎり、列が1つだけ含まれている表がサポートされています。

    • LOB

    • LONG

    • LONG VARCHAR

    • Nested table

    • ユーザー定義型(UDT)

    • VARRAY

    • XMLType

  • 未使用の列を含む表に対するレプリケートの前に、DBOPTIONS ALLOWUNUSEDCOLUMNを設定します。

  • Oracle GoldenGateでは、次のパーティション化属性を持つ表がサポートされます。

    • レンジ・パーティション化

    • ハッシュ・パーティション化および時間隔パーティション化

    • コンポジット・パーティション化

    • 仮想列ベースのパーティション化

    • 参照パーティション化

    • リスト・パーティション化

  • Oracle GoldenGateでは、仮想列を含む表がサポートされますが、これらの列に対する変更データのキャプチャも適用も行われません。データベースでは仮想列がトランザクション・ログに書き込まれず、Oracle Databaseでは仮想列に対するDMLが許可されません。同じ理由から、初期ロード・データは仮想列に適用できません。仮想列から非仮想列へのデータのマップは行えます。

  • Oracle GoldenGateでは、仮想列を含む一意索引を考慮しません。

  • Oracle GoldenGateでは、Oracle Exadataとの間のレプリケーションがサポートされます。Exadataハイブリッド列圧縮をサポートするには、ソース・データベース互換性が11.2.0.0.0以上に設定されている必要があります。

  • Oracle GoldenGateでは、Transparent Data Encryption(TDE)がサポートされます。

  • Oracle GoldenGateでは、DDLレプリケーション・サポートの一環として、あるいはDDLサポートとは無関係のスタンドアロン機能としてTRUNCATE文がサポートされます。

  • Oracle GoldenGateでは、XMLバイナリおよびXMLオブジェクト・リレーショナルのSQL*Loaderダイレクト・パス・インサートを除き、ダイレクト・ロードINSERTのキャプチャがサポートされます。サプリメンタル・ロギングが有効であることと、データベースがアーカイブ・ログ・モードであることが必要です。次の直接ロード方式がサポートされています。

    • /*+ APPEND */ヒント

    • /*+ PARALLEL */ヒント

    • DIRECT=TRUEを設定したSQLLDR

  • Oracle GoldenGateは、Extractの圧縮オブジェクトからのキャプチャを完全にサポートしています。

  • Oracle GoldenGateでは、XAおよびPDML分散トランザクションがサポートされます。

  • Oracle GoldenGateでは、FLASHBACK ARCHIVEを有効にした表でのDML操作がサポートされます。ただし、Oracle GoldenGateでは、FLASHBACK ARCHIVE句を含む表を作成するDDL、またはフラッシュバック・データ・アーカイブ自身を作成、変更または削除するDDLはサポートされません。

ビューのサポートの制限

これらの制限は、Extractに適用されます。

  • Extractが初期ロード・モードの場合、Oracle GoldenGateでビューからのキャプチャがサポートされます(REDOログではなく、ソース・ビューからの直接のキャプチャ)。

  • Oracle GoldenGateで、変更データはビューからキャプチャされませんが、ビューの基になる表からのキャプチャはサポートされます。

マテリアライズド・ビューのサポートの制限

マテリアライズド・ビューはExtractでサポートされますが、次の制限があります。

  • WITH ROWIDを使用して作成されるマテリアライズド・ビューはサポートされていません。

  • WITH ROWIDを使用してマテリアライズド・ビューのログを作成できます。

  • ソース表に主キーを設定しておく必要があります。

  • マテリアライズド・ビューの切捨てはサポートされていません。DELETE FROM文を使用できます。

  • マテリアライズド・ビューの全体リフレッシュのDML(DDLではない)はサポートされます。この機能のDDLサポートが必要な場合はOracle GoldenGateのサポート事例をオープンしてください。

  • Replicatの場合、Create MVコマンドにFOR UPDATE句を含める必要があります。

  • マテリアライズド・ビューまたは基礎となるベース表のいずれか(両方ではない)をレプリケートできます。

システム・パーティション化

システム・パーティション化は、名前付きパーティションによって表を作成できるようにするOracleデータベース機能です。システム・パーティション表は、データベースではメンテナンスされません。各DMLでは、行を配置するパーティションを指定する必要があります。ExtractおよびReplicatのすべてのモードで、システム・パーティション化がサポートされます。システム・パーティション表に関連する各証跡ファイルのレコード・ヘッダーには、パーティション名が含まれます。Oracle GoldenGate 21c以降では、システム・パーティション表に対してパーティション名レコード(PNR)が生成されます(そのレコードがPARTITIONパラメータに含まれている場合)。

Oracle GoldenGateパラメータおよび機能リファレンスPARTITION | PARTITIONEXCLUDEを参照してください。

順序およびIDENTITY列

  • IDENTITY列はOracleデータベース18c以降でサポートされていて、Extract、統合モードのパラレルReplicatまたは統合Replicatが必要です。

  • Oracle GoldenGateは、1方向のアクティブ/パッシブ高可用性構成での順序値とIDENTITY列のレプリケーションをサポートしています。

  • Oracle GoldenGateによって、ターゲットの順序値が常にソースの順序値よりも大きくなります(または、キャッシュがゼロの場合、それらに等しくなります)。

トピック:

順序のサポートの制限

これらの制限は、Extractに適用されます。

  • Oracle GoldenGateは、アクティブ/アクティブ双方向構成での順序値のレプリケーションはサポートしません。

  • ソースおよびターゲットの順序のキャッシュ・サイズおよび増分間隔は、同一である必要があります。キャッシュは0を含む任意のサイズにできます(NOCACHE)。

  • 順序は、循環を有効または無効に設定できますが、ソース・データベースとターゲット・データベースの設定は同一にする必要があります。

  • デフォルトの順序列を持つ表は、Extractのレプリケーションから除外されます。

Oracle DMLでサポートされていないオブジェクトおよび操作

Extractでサポートされない追加のOracleオブジェクトまたは操作は、次のとおりです。

  • Oracle Database 12.2以降との互換性を確保するために、REFはネイティブでサポートされますが、主キー・ベースのREF (PKREF)はサポートされません

  • アクティブ/アクティブ双方向構成での順序値

  • データベース・リプレイ

  • EXTERNALとして作成された表

DML自動取得

Oracle GoldenGateでは、自動取得モードで次のDML操作がサポートされます。
  • TABLEEXCLUSIONパラメータがサポートされています。

  • TABLEパラメータがサポートされています。

  • Extractは、自動取得用にデータベースによって配信された表DMLレコードを証跡ファイルに書き込みます。