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_MODE
のPLSQL
値は、表がネイティブでサポートされるが、手続き型サプリメンタル・ロギングが必要なことを示します。詳細は、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によって、ターゲットの順序値が常にソースの順序値よりも大きくなります(または、キャッシュがゼロの場合、それらに等しくなります)。
トピック: