この章では、Oracle Database上のOracle GoldenGateのサポート情報について説明します。
内容は次のとおりです。
選択したキャプチャ・モードに応じてOracle GoldenGateでサポートされるOracleデータ型について説明します。キャプチャ・モードの詳細は、 「使用するキャプチャ方法の決定」を参照してください。
Oracleデータ型、オブジェクトおよび操作に関するサポート情報の詳細は、「Oracle DMLのオブジェクトと操作のサポートの詳細」に記載されています。
表1-1 キャプチャ・モードごとにサポートされているデータ型
| データ型 | クラシック・キャプチャ | 統合キャプチャ |
|---|---|---|
|
REDOからキャプチャされます。 |
REDOからキャプチャされます。 |
|
サポートされません。 |
REDOからキャプチャされます。 |
|
DML (
|
REDOからキャプチャされます。 |
|
|
ソース・データベース互換性が11.2.0.0.0以上に設定されている必要があります。 |
索引構成表(IOT) |
次の制限付きでREDOからキャプチャされます。
|
次の制限付きでREDOからキャプチャされます。
|
CLOBとして格納されたXML列 |
REDOからキャプチャされます。 |
REDOからキャプチャされます。 ソース・データベース互換性が11.0.0.0.0以上に設定されている必要があります。 |
バイナリとして格納されたXML列 |
ソース表からフェッチされます。 |
ソース・データベース互換性が11.2.0.3.0以上に設定されている必要があります。 互換性が11.2.0.3.0未満の場合は、ソース表からフェッチされます。 |
オブジェクト・リレーショナルとして格納されたXML列 |
サポートされません。 |
REDOからキャプチャされます。 ソース・データベース互換性が11.2.0.3.0以上に設定されている必要があります。 |
XMLタイプ表 |
サポートされません。 |
REDOからキャプチャされます。 |
ユーザー定義型(UDT)列 |
ソース表からフェッチされます。 |
次の制限付きでREDOからキャプチャされます。
ネイティブ・オブジェクト・サポートを使用するには、ソース・データベース互換性が12.0.0.0.0以上に設定されている必要があります。 次の場合はソース表からフェッチされます。
|
非表示列 |
サポートされません。 |
|
|
次のデータ型のみでソース表からフェッチされます。
UDT
ソース・データベース互換性が11.2.0.0.0以上に設定されている必要があります。 |
次の制限付きでREDOからキャプチャされます。
ネイティブ・オブジェクト・サポートを使用するには、ソース・データベース互換性が12.0.0.0.0以上に設定されている必要があります。 次の場合はソース表からフェッチされます
|
Spatial型列 |
ソース表からフェッチされます。 |
次の制限付きでREDOからキャプチャされます。
ネイティブ・オブジェクト・サポートを使用するには、ソース・データベース互換性が12.2.0.1.0以上に設定されている必要があります。 次の場合はソース表からフェッチされます。
TOPOおよびGeorasterがサポートされるように、ソースで手続き型サプリメンタル・ロギングを有効にする必要があります。 |
コレクション列( |
ソース表からフェッチされます。 |
UDT型の
ソース・データベース互換性が12.0.0.0.0以上に設定されている必要があります。 次の場合はソース表からフェッチされます
|
コレクション列(ネストされた表) |
制限付きでソース表からフェッチされます。 「Oracle DMLのオブジェクトと操作のサポートの詳細」を参照してください。 |
制限付きでソース表からフェッチされます。 「Oracle DMLのオブジェクトと操作のサポートの詳細」を参照してください。 |
オブジェクト表 |
ソース表からフェッチされます。 |
次の制限付きでREDOからキャプチャされます。
ネイティブ・オブジェクト・サポートを使用するには、ソース・データベース互換性が12.0.0.0.0以上に設定されている必要があります。 オブジェクト表に対するDDL操作のレプリケーションはサポートされていません。 次の場合は、追加の制限付きでソース表からフェッチされます
|
Transparent Data Encryption(列の暗号化と表領域の暗号化) |
REDOからキャプチャされます。 |
REDOからキャプチャされます。 ローカル・キャプチャには、追加設定は不要です。 ソース・データベース互換性が11.0.0.0.0以上に設定されている必要があります。 |
基本圧縮 |
サポートされません。 |
REDOからキャプチャされます。 |
OLTP圧縮 |
サポートされません。 |
REDOからキャプチャされます。 |
Exadataハイブリッド列圧縮 |
サポートされません。 |
REDOからキャプチャされます。 |
非RACデータベース上のXA |
REDOからキャプチャされます。 |
REDOからキャプチャされます。 |
RACデータベース上のXA |
サポートされません。 サポートされるには、XAのすべてのブランチが同一インスタンスに向けられていることを確認する必要があります。 |
REDOからキャプチャされます。 ソース・データベース互換性が11.2.0.0.0以上に設定されている必要があります。 |
非RACデータベース上のPDML |
REDOからキャプチャされます。 |
REDOからキャプチャされます。 |
RACデータベース上のPDML |
サポートされません。 サポートされるには、PDMLトランザクションから生成される子トランザクションが複数のインスタンスにまたがらないことを確認する必要があります。 |
REDOからキャプチャされます。 |
親トピック: サポート対象の理解
次に、Oracle GoldenGateでサポートされるOracleデータ型の詳細を概説します。特に断りのないかぎり、クラシックと統合の両方のキャプチャ・モードでサポートされます。
親トピック: サポート対象の理解
次のANYDATAデータ型がサポートされます。
次のデータ型のみでソース表からフェッチされます。
BINARY_DOUBLE
BINARY_FLOAT
CHAR
DATEINTERVAL DAY TO SECOND
INTERVAL YEAR TO MONTH
NCHAR
NUMBER
NVARCHAR2
RAW
TIMESTAMP
TIMESTAMP WITH TIME ZONE
TIMESTAMP WITH LOCAL TIMEZONE
UDT
VARCHAR/VARCHAR2
ソース・データベース互換性が11.2.0.0.0以上に設定されている必要があります。これらのデータ型内に埋め込まれた名前付きコレクションおよびVARRAYに対するサポート。
親トピック: ANYDATAデータ型
次の数値データ型がサポートされます。
Oracleによって許可されている最大サイズまでのNUMBER
BINARY FLOAT
BINARY DOUBLE
UROWID
クラシックExtractおよび統合Extractは、UROWIDをサポートしていません。
浮動小数点数の範囲および精度のサポートは、ホスト・マシンによって異なります。通常は有効桁数が16桁の精度ですが、データベースのドキュメントで想定されている近似について確認してください。Oracle GoldenGateでは、サポートされる精度を超える値は丸められるか切り捨てられます。
親トピック: 数値データ型
次の文字データ型がサポートされます。
CHAR
VARCHAR2
LONG
NCHAR
NVARCHAR2
拡張VARCHAR列が一意索引または制約の一部の場合、この表へのダイレクト・パス挿入により、Replicatが異常終了して警告が表示されることがあります。all_indexes/all_ind_columns (一意索引)またはall_cons_columns/all_constraints (一意制約)をチェックして、拡張VARCHARによって異常終了が発生したことを確認します。拡張VARCHARを確認したら、索引を一時的に削除にするか、制約を無効にできます。
拡張(32K) VARCHAR2およびNVARCHAR2列は、Extractが統合キャプチャ・モードの場合にサポートされます。Replicatのすべてのモードは、32K VARCHAR2およびNVARCHAR2列をサポートします。次の制限が適用されます。
Oracle GoldenGateは、キーまたは一意索引の一部、またはTABLEまたはMAPパラメータのKEYCOLS句の列として、32K VARCHAR2およびNVARCHAR2列をサポートしません。32K列は、主キーの一部になる場合でも、補足的にログに記録されないため、行識別子として使用できません。
32K列は、CDR (競合の検出および解決)構成の解決列、またはトランザクション・ログに列値が必要なその他の作業の基準としてサポートされません。
Oracle GoldenGateでは、32K列の数に制限がありませんが、各証跡レコードには、インライン・レコードで4MBの長さの制限があります。この制限に達する32K列の数は約160列ですが、列の数は、拡張されたVARCHAR2列の実際のサイズによっても異なります。
親トピック: 文字データ型
マルチバイト・キャラクタは、サポートされている文字セットの一部としてサポートされます。Oracleソース・データベースのセマンティクス設定がBYTEで、Oracleターゲットの設定がCHARの場合、構成でReplicatパラメータSOURCEDEFSを使用し、DEFGENユーティリティによって生成された定義ファイルをターゲットに配置します。これらの手順は、ソースおよびターゲットのデータ定義が同一であるかどうかにかかわらず、セマンティクス内の差異のサポートに必要です。Replicatでは、定義ファイルを参照して固定サイズの文字列のサイズ上限を決定します。
キャラクタ・セットのサポートの詳細は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。
SOURCEDEFSおよびDEFGENユーティリティの詳細は、『Oracle GoldenGateの管理』を参照してください。
Oracle GoldenGateでマルチバイト文字データをサポートするには、ソースとターゲットのデータベースが、レプリケートされる表と順序のスキーマ定義に関して論理上同一である必要があります。変換、フィルタリングおよび他の操作はサポートされていません。2つのデータベース間のキャラクタ・セットは、次のいずれかである必要があります。
同一。たとえば、ソースとターゲットでSHIFT-JISなどです。
同等。同じキャラクタ・セットではありませんが、同じ文字のセットを含みます(SHIFT-JISとEUC-JPなど)。
ターゲットはソースのスーパーセットです。たとえば、UNICODEはすべての文字タイプのスーパーセットです。したがって、他のすべてのキャラクタ・セットのスーパーセットです。
長さセマンティクスがバイト単位であるか、文字単位であるかに関係なく、マルチバイト・データがサポートされています。
親トピック: マルチバイト・キャラクタ型
次の日時データ型がサポートされます。
DATE
TIMESTAMP(「サポートの制限」を参照)
Oracle GoldenGateでは、マイナスの日付はサポートされていません。
ターゲット列のサイズがソースのサイズ以上である場合にのみ、INTERVAL DAYおよびINTERVAL YEARがサポートされます。
Oracle GoldenGateでは、UTCオフセットで表されたTIMESTAMP WITH TIME ZONE (TIMESTAMP '2011-01-01 8:00:00 -8:00')のキャプチャとレプリケーションがサポートされます。
TZR(リージョンID)で表されたTIMESTAMP WITH TIME ZONEは、データ変更のレプリケーションについてはサポートされますが、初期ロード、SQLEXECまたは列をデータベースからフェッチする必要がある操作についてはサポートされません。これらの場合、列が選択されると、データベースによってリージョンIDが時間オフセットに変換されます。Replicatでは、タイムスタンプは、時間オフセット値付きの日付と時間のデータとしてレプリケートされます。
Oracle GoldenGateでは、0001/01/03 00:00:00から9999/12/31 23:59:59のタイムスタンプ・データをサポートします。タイムスタンプがGMTからローカル時間に変換されると、これらの制限も変換後のタイムスタンプに適用されます。タイムゾーンに応じて、変換により時間が追加または引かれる場合があり、これにより、タイムスタンプがサポートされている上限を超えたり、下回ったりすることがあります。
Oracle GoldenGateでは、+12:00から-12:00の間の時間オフセット値をサポートしています。
TZRで表されたTIMESTAMP WITH TIME ZONEを適切にサポートし、TIMESTAMP WITH LOCAL TIMEZONEも適切に処理します。
親トピック: 日付およびタイムスタンプのデータ型
次のラージ・オブジェクト型がサポートされます。
CLOB
NCLOB
BLOB
SECUREFILEおよびBASICFILE
REDOベースはほとんどの属性タイプをサポートしますが、UDTに次のものが含まれている場合は、ソース表からフェッチにフォールバックします。
ネストされた表
SDO_TOPO_GEOMETRY
SDO_GEORASTER
フェッチベースは、次のものを含むUDTをサポートしません。
ANYDATA
TIMESTAMP WITH TIMEZONE
TIMESTAMP WITH LOCAL TIMEZONE
INTERVAL YEAR TO MONTH
INTERVAL DAY TO SECOND
BINARY FLOAT
BINARY DOUBLE
BFILE
Oracle GoldenGateは、次のものを含むUDTをサポートしません。
CFILE
REF
OPAQUE (XMLTypeおよびANYDATAを除く)
UDTが含まれている表には、主キー、一意な制約がある列または一意な索引を設定する必要があります。
キーにUDTが含まれている、またはUDTが列のみであるオブジェクトまたはリレーショナル表はサポートされていません。
RMTTASKパラメータはUDTをサポートしていません。
バイナリまたは印刷できない文字が含まれているCHAR属性およびVARCHAR属性は、サポートされていません。
オブジェクトの列または行内に値が含まれているUDTは、TABLE文またはMAP文のフィルタ基準で使用したり、Oracle GoldenGateの列変換関数の入力または出力、SQLEXECまたは他の組込みデータ操作ツールとして使用することはできません。Oracleの同様のソースおよびターゲットにのみ、サポートが提供されます。
UDTおよびネストされた表はサポートされますが、次の制限があります。
ネストされた表のUDTには、CHAR、NVARCHAR2またはNCLOB属性を含めることができません。
拡張(32k) VARCHAR2またはRAW属性がUDTにある場合、ネストされた表はサポートされません。
CLOBまたはBLOB属性がUDTにある場合、ネストされた表はサポートされません。
他のUDTの一部である、ネストされた表の列/属性はサポートされません。
親トピック: ラージ・オブジェクト・データ型
BASICFILEオプションLOBは、REDOログからキャプチャされますが、次の場合、データベースからフェッチされます。
ExtractでLOBが無効と判断される場合。
LOBデータがREDOログ内にない場合。これは、BASICFILE LOBがNOLOGGINGオプションを指定して作成された場合に起こります。
LOBがCACHEオプションを使用して作成されています。
LOBが一部のみ更新される場合。Oracle GoldenGateでは、部分的な列データはサポートされていません。LOBがLOBリセット・レコードから開始しない場合、あるいは新しいLOBの長さに則した最初のバイトで開始せず、最後のバイトで終了しない場合に、ExtractによってLOBデータは不完全であるとみなされます。部分更新は、OCILOBWrite()、OCILobAppend()、OCiLobCopy()、OCILobLoadFromFile()およびOCILobTrim()の各OCIコールと、dbms_lobパッケージのプロシージャを使用して行われた更新によって生成されます。
ExtractでLOBデータの異常が検出される場合。
SECUREFILEオプションLOBは、更新が完了し、LOBの変換(列の圧縮、暗号化または重複除外)が行われず、行外に格納される場合にのみ、REDOログからキャプチャされます。SECUREFILE LOBは、次の場合にデータベースからフェッチされます。
LOBが行内に格納される場合。
LOBが圧縮または暗号化のいずれかにより変換される場合。
LOBがCACHE属性を使用して作成されている場合。
ExtractによってLOBインスタンスが無効であることが決定される場合。
REDOログにLOBデータがない場合。これが行われる可能性があるのは、DEDUPLICATE、NOLOGGING、FILESYSTEM_LIKE_LOGGNGのいずれかのオプションを使用してLOBを作成した場合です。
LOBは、OCILOBWrite()、OCILobAppend()、OCiLobCopy()、OCILobLoadFromFile()およびOCILobTrim()を使用するか、dbms_lobパッケージのプロシージャを介して更新されています。
Extractによって検出されるようなその他の異常。
SECUREFILE LOBをある記憶域から別の記憶域に変更すると(たとえば、ENCRYPTからDECRYPTに)、Oracleによって表全体が更新され、Extractによってそれらの更新がログからキャプチャされます。そのため、Oracleによって表に関連付けられているすべてのデータ・ブロックが更新されているように見えます。ALTER TABLEコマンドによってDEFAULT値がNULL値の列に設定される場合も、これが発生する可能性があります。
JavaScriptオブジェクト注釈(JSON)列を含む表を持つ、管理バンドル・エージェント(XAG)の高可用性環境では、デフォルトのReplicatモードでデータをレプリケートできませんが、Extractsでは、このデータを抽出できます。Replicatの異常終了を回避するには、DBOPTIONS NOSKIPTEMPLOBパラメータを設定する必要があります。
親トピック: ラージ・オブジェクト・データ型
次のXML型がサポートされます。
統合キャプチャ・モードでは、Oracle GoldenGateは、XML CLOB、XMLオブジェクト・リレーショナルおよびXMLバイナリとして格納されるXMLType列およびXMLType表をサポートします。
クラシック・キャプチャ・モードでは、Oracle GoldenGateは、XML CLOBおよびXMLバイナリとして格納されるXMLType列をサポートします。
親トピック: サポートされるOracleデータ型の詳細
次のものはサポートされません。
フィルタリングと操作はサポートされていません。TABLE文またはMAP文でCOLMAP句を使用して、オブジェクトのXML表現を文字列にマップできます。
XMLデータで作業する場合は、AL32UTF8キャラクタ・セットをデータベース・キャラクタ・セットにすることをお薦めします。これにより、Oracle GoldenGateによってソースからターゲットに正しく変換されます。
階層対応の表は、Oracle XMLデータベース・リポジトリで管理され、手続き型ロギングでサポートされます。
DDLサポートが有効な場合、Oracle GoldenGateでCTAS文をレプリケートし、基となるターゲット表からのデータの選択を可能にします。これはTRANSLOGOPTIONS GETCTASDMLパラメータを使用して制御され、すべての型付き表に適用されます。このパラメータが使用されると、OIDが保持されます。XMLType表の場合、行オブジェクトIDがソースとターゲットの間で一致する必要がありますが、これは、Replicatで論理SQL文を使用すると保持されません。空の文(新規表にデータを挿入しない)で作成されたXMLType表は適切に保持されません。
主キーベースのオブジェクト識別子(OID)を持つXMLType表
1つのXML列を持つリレーショナル表
XMLバイナリおよびXMLオブジェクト・リレーショナルに対するSQL*Loader直接パス挿入
XMLスキーマベースのXMLTypeはサポートされますが、XMLスキーマに対する変更はレプリケートされず、DBMS_XMLSCHEMAパッケージを使用してソースとターゲットの両方のデータベースに登録する必要があります。
XMLType列を含む表が、スカラー列で構成された1つ以上の一意キー制約を持つか、すべてのスカラー列の組合せで一意性が保証される必要があります。ExtractまたはReplicatでは、行の識別用のXML属性で構成された一意キー制約または主キー制約は使用できません。
親トピック: XMLデータ型
ネイティブ・キャプチャの場合、XML ORおよびXML Binary。XMLバイナリ/ORは、11.2.0.3より上のリリースと互換性がある場合にフェッチされます。
XML CLOBでは、ソース・データベース互換性はリリース11.0.0.0.0より上です。
XMLTypeを更新するSET全体の長さは、新しいコンテンツと他の操作、XQueryバインド値を含めて最大32Kです。
親トピック: XMLデータ型
XMLバイナリの場合、Oracle GoldenGateによってソース・データベースから追加の行データがフェッチされます。フェッチされたデータは元のトランザクションの一部ではない場合があるため、不整合が発生する可能性があります。
XML Object Relationalは、クラシック・キャプチャ・モードでサポートされません。
親トピック: XMLデータ型
ソースおよびターゲットの構造が同一である場合、Oracle GoldenGateでユーザー定義型(UDT)または抽象データ型(ADT)がサポートされます。スキーマ名は別々にすることができます。
親トピック: サポートされるOracleデータ型の詳細
REDOベースはほとんどの属性タイプをサポートしますが、UDTに次のものが含まれている場合は、ソース表からフェッチにフォールバックします。
ネストされた表
SDO_TOPO_GEOMETRY
SDO_GEORASTER
フェッチベースは、次のものを含むUDTをサポートしません。
ANYDATA
TIMESTAMP WITH TIMEZONE
TIMESTAMP WITH LOCAL TIMEZONE
INTERVAL YEAR TO MONTH
INTERVAL DAY TO SECOND
BINARY FLOAT
BINARY DOUBLE
BFILE
Oracle GoldenGateは、次のものを含むUDTをサポートしません。
CFILE
OPAQUE (XMLTypeを除く)
UDTが含まれている表には、主キー、一意な制約がある列または一意な索引を設定する必要があります。
キーにUDTが含まれている、またはUDTが列のみであるオブジェクトまたはリレーショナル表はサポートされていません。
RMTTASKパラメータはUDTをサポートしていません。
バイナリまたは印刷できない文字が含まれているCHAR属性およびVARCHAR属性は、サポートされていません。
オブジェクトの列または行内に値が含まれているUDTは、TABLE文またはMAP文のフィルタ基準で使用したり、Oracle GoldenGateの列変換関数の入力または出力、SQLEXECまたは他の組込みデータ操作ツールとして使用することはできません。Oracleの同様のソースおよびターゲットにのみ、サポートが提供されます。
UDTおよびネストされた表はサポートされますが、次の制限があります。
ネストされた表のUDTには、CHAR、NVARCHAR2またはNCLOB属性を含めることができません。
拡張(32k) VARCHAR2またはRAW属性がUDTにある場合、ネストされた表はサポートされません。
CLOBまたはBLOB属性がUDTにある場合、ネストされた表はサポートされません。
他のUDTの一部である、ネストされた表の列/属性はサポートされません。
親トピック: ユーザー定義または抽象型
ネストされた表のデータを更新する際には、ネストされた表が含まれている行を同時に更新する必要があります。
VARRAYSとネストされた表をフェッチすると、変更箇所のみでなく、毎回、列の内容全体がフェッチされます。
親トピック: ユーザー定義または抽象型
統合キャプチャのみ(REDOベース)
REDOベースは、REDOからオブジェクト表をキャプチャしますが(Oracle Database 12.2以上と互換の場合)、オブジェクト表に次の属性が含まれている場合は、ソース表からフェッチにフォールバックします。
SDO_TOPO_GEOMETRYSDO_GEORASTERこれらのオブジェクトは、Oracle GoldenGate 12.2.xと互換性がある場合のみフェッチされます。
CREATE TABLE as SELECT (CTAS)文で作成されたオブジェクト表を完全にサポートするには、CTAS文からDMLをキャプチャするように統合キャプチャを構成する必要があります。CTASの詳細は、「CREATE TABLE AS SELECT」を参照してください。
Oracleのオブジェクト表は、サポートされているターゲット・データベースのOracle以外のオブジェクト表にマップできます。
クラシックおよび統合キャプチャ(フェッチベース)
フェッチベースは、リーフレベルのすべての属性、ルートレベルLOB、XML、UDT、ANYDATA、およびコレクションの属性をフェッチします。
フェッチベースは、次のリーフレベルの属性を含むオブジェクト表をサポートしません。
ANYDATATIMESTAMP WITH TIMEZONETIMESTAMP WITH LOCAL TIMEZONEINTERVAL YEAR TO MONTHINTERVAL DAY TO SECONDBINARY FLOATBINARY DOUBLEOracle GoldenGatでは、1方向とアクティブ/アクティブ構成でオブジェクト表がサポートされます。オブジェクト表はREDOログからキャプチャされますが、LOB、コレクション型などの標準のリレーショナル表の場合はデータベースからフェッチされる特定のデータ型もオブジェクト表の場合はフェッチされます。同様に、標準の表の場合にコレクション型に適用される現在の制限が、オブジェクト表の場合のそれらの型にも適用されます。
主キーは、オブジェクト表のルートレベルのオブジェクト属性で定義する必要があり、リーフレベルの属性を含めることはできません。キーが定義されていない場合には、Oracle GoldenGateで有効なすべての列が擬似キーとして使用されます。
Oracle GoldenGateは、オブジェクト表のDDL操作のレプリケーションをサポートしていません。この制限には、オブジェクト表のALTERと関連付けられているデータベース・オブジェクトのバージョニングが含まれます。
オブジェクト表またはオブジェクト型が含まれているオブジェクト表では、シノニムはサポートされていません。
親トピック: ユーザー定義または抽象型
Oracle GoldenGateでは、SDO_GEOMETRY、SDO_TOPO_GEOMETRYおよびSDO_GEORASTER(ラスター表)がサポートされています。
親トピック: ユーザー定義または抽象型
Oracle GoldenGateでは、次のデータ型はサポートされません。
ANYDATAフェッチ・ベースの列
拡張キュー(AQ)オブジェクトからキャプチャする必要がある場合は、そのAQオブジェクトに対して通常の表レプリケーションを使用しないでください。かわりにプロシージャ・レプリケーション機能を使用します。「プロシージャ・レプリケーション・プロセスの概要」を参照してください。
ANYDATAのサポートは、AQオブジェクトではない通常の表オブジェクトに制限されます。
最上位のVARRAY列
ANYDATASET
ANYTYPE
MLSLABEL
ORDDICOM
TIMEZONE_ABBR
URITYPE
サポートされていないOracleデータ型を含むUDT
その他の除外については、「各キャプチャ・モードでサポートされるOracleデータ型とオブジェクトのサマリー」を参照してください。
親トピック: サポートされるOracleデータ型の詳細
Oracle GoldenGateは、マルチテナント・コンテナ・データベースとの間でキャプチャと配信を実行します(「マルチテナント・コンテナ・データベースでのOracle GoldenGateの構成」を参照)。
親トピック: Oracle DMLのオブジェクトと操作のサポートの詳細
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に関する項を参照してください。
親トピック: Oracle DMLのオブジェクトと操作のサポートの詳細
次の制限は、統合キャプチャ・モードとクラシック・キャプチャ・モードに適用されます。
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
ネストされた表
ユーザー定義型(UDT)
VARRAY
XMLType
未使用の列を含む表に対するレプリケートの前に、DBOPTIONS ALLOWUNUSEDCOLUMNを設定します。
Oracle GoldenGateでは、次のパーティション化属性を持つ表がサポートされます。
レンジ・パーティション化
ハッシュ・パーティション化および時間隔パーティション化
コンポジット・パーティション化
仮想列ベースのパーティション化
参照パーティション化
リスト・パーティション化
Oracle GoldenGateでは、仮想列を含む表がサポートされますが、これらの列に対する変更データのキャプチャも適用も行われません。データベースでは仮想列がトランザクション・ログに書き込まれず、Oracle Databaseでは仮想列に対するDMLが許可されません。同じ理由から、初期ロード・データは仮想列に適用できません。仮想列から非仮想列へのデータのマップは行えます。
Oracle GoldenGateでは、仮想列を含む一意索引を考慮しません。
Oracle GoldenGateでは、Oracle Exadataとの間のレプリケーションがサポートされます。Exadataハイブリッド列圧縮をサポートするには、Extractが統合キャプチャ・モードで動作する必要があります。Exadataハイブリッド列圧縮をサポートするには、ソース・データベース互換性が11.2.0.0.0以上に設定されている必要があります。
Oracle GoldenGateでは、Transparent Data Encryption(TDE)がサポートされます。
Extractは、統合キャプチャ・モードでは設定要件なしで、TDE列の暗号化およびTDE表領域の暗号化をサポートします。統合キャプチャの場合、ソース・データベースは、11.0.0.0以上の互換性設定のOracleバージョン11.1.0である必要があります。
クラシック・キャプチャ・モードでは、ExtractはOracle 11.1および11.2のすべてのバージョンで列の暗号化をサポートします。表領域の暗号化は、Oracle 11.2.0.1のすべてのバージョンでサポートされます。クラシック・キャプチャ・モードのTDEには設定が必要です。
Oracle GoldenGateでは、DDLレプリケーション・サポートの一環として、あるいはDDLサポートとは無関係のスタンドアロン機能としてTRUNCATE文がサポートされます。
Oracle GoldenGateでは、XMLバイナリおよびXMLオブジェクト・リレーショナルのSQL*Loaderダイレクト・パス・インサートを除き、ダイレクト・ロードINSERTのキャプチャがサポートされます(「サポートの制限 - 統合およびクラシック・キャプチャ・モード」を参照)。サプリメンタル・ロギングが有効であることと、データベースがアーカイブ・ログ・モードであることが必要です。次の直接ロード方式がサポートされています。
/*+ APPEND */ヒント
/*+ PARALLEL */ヒント(クラシック・キャプチャ・モードのRACではサポートされません)
DIRECT=TRUEを設定したSQLLDR
Oracle GoldenGateは、Extractが統合キャプチャ・モードの場合に、圧縮されたオブジェクトからのキャプチャを完全にサポートしています。ソース・データベース・バージョンは、ダウンストリーム・マイニング・データベースからのキャプチャの場合は11.2.0.0以上、ソース・データベースがマイニング・データベースの場合は11.2.0.3である必要があります。クラシック・モードのExtractでは、圧縮されたオブジェクトはサポートされません。
Oracle GoldenGateでは、統合キャプチャ・モードでのXAおよびPDML分散トランザクションがサポートされます。クラシック・モードのExtractでは、RACのPDMLまたはXAはサポートされません。
Oracle GoldenGateでは、FLASHBACK ARCHIVEを有効にした表でのDML操作がサポートされます。ただし、Oracle GoldenGateでは、FLASHBACK ARCHIVE句を含む表を作成するDDL、またはフラッシュバック・データ・アーカイブ自身を作成、変更または削除するDDLはサポートされません。
親トピック: 表、ビューおよびマテリアライズド・ビュー
次の制限がクラシック・キャプチャ・モードに適用されます。
キー圧縮が有効(key_compression句のCOMPRESSキーワードで指定)なIOTは、クラシック・キャプチャ・モードではサポートされませんが、統合キャプチャ・モードではサポートされます。
親トピック: 表、ビューおよびマテリアライズド・ビュー
次の制限は、統合キャプチャ・モードとクラシック・キャプチャ・モードに適用されます。
Extractが初期ロード・モードの場合、Oracle GoldenGateでビューからのキャプチャがサポートされます(REDOログではなく、ソース・ビューからの直接のキャプチャ)。
Oracle GoldenGateで、変更データはビューからキャプチャされませんが、ビューの基になる表からのキャプチャはサポートされます。
Oracle GoldenGateでは、ビューが本質的に更新可能であるかぎり、ビューにレプリケートできます。ソース表とターゲット・ビューの構造は同一である必要があります。
親トピック: 表、ビューおよびマテリアライズド・ビュー
マテリアライズド・ビューは、クラシックおよび統合モードのExtractでサポートされますが、次の制限があります。
WITH ROWIDを使用して作成されるマテリアライズド・ビューはサポートされていません。
WITH ROWIDを使用してマテリアライズド・ビューのログを作成できます。
ソース表に主キーを設定しておく必要があります。
マテリアライズド・ビューの切捨てはサポートされていません。DELETE FROM文を使用できます。
マテリアライズド・ビューの全体リフレッシュのDML(DDLではない)はサポートされます。この機能のDDLサポートが必要な場合はOracle GoldenGateのサポート事例をオープンしてください。
Replicatの場合、Create MVコマンドにFOR UPDATE句を含める必要があります。
マテリアライズド・ビューまたは基礎となるベース表のいずれか(両方ではない)をレプリケートできます。
親トピック: 表、ビューおよびマテリアライズド・ビュー
索引付けされたクラスタは、統合とクラシックの両方のキャプチャ・モードでサポートされますが、ハッシュ・クラスタは、いずれのモードでもサポートされません。クラシック・キャプチャ・モードでは、次の制限が適用されます。
暗号化および圧縮されたクラスタリング表は、クラシック・キャプチャではサポートされていません。
クラシック・キャプチャ・モードのExtractでは、クラスタ・サイズが変わらない場合、索引クラスタリング表へのDML変更がキャプチャされます。クラスタ・サイズの増減につながるDDLによって、Extractでその表に対する後続のDMLが不適切にキャプチャされる可能性があります。
親トピック: 表、ビューおよびマテリアライズド・ビュー
Oracle GoldenGateは、1方向のアクティブ/パッシブ高可用性構成での順序値のレプリケーションはサポートします。
Oracle GoldenGateによって、ターゲットの順序値が常にソースの順序値よりも大きくなります(または、キャッシュがゼロの場合、それらに等しくなります)。
次の制限は、統合キャプチャ・モードとクラシック・キャプチャ・モードに適用されます。
Oracle GoldenGateは、アクティブ/アクティブ双方向構成での順序値のレプリケーションはサポートしません。
ソースおよびターゲットの順序のキャッシュ・サイズおよび増分間隔は、同一である必要があります。キャッシュは0を含む任意のサイズにできます(NOCACHE)。
順序は、循環を有効または無効に設定できますが、ソース・データベースとターゲット・データベースの設定は同一にする必要があります。
親トピック: 順序
クラシックまたは統合キャプチャ・モードのいずれかのExtractでもサポートされない追加のOracleオブジェクトまたは操作は、次のとおりです。
Oracle Database 12.2との互換性を保つため、REFはネイティブでサポートされますが、主キー・ベースのREF (PKREF)はサポートされません
アクティブ/アクティブ双方向構成での順序値
データベース・リプレイ
EXTERNALとして作成された表
次のものは、クラシック・キャプチャ・モードではサポートされません。
Exadataハイブリッド列圧縮
OLTP表圧縮された表からのキャプチャ
COMPRESSを使用して作成または変更される表領域および表からのキャプチャ
暗号化および圧縮されたクラスタリング表からのキャプチャ
非表示列
分散トランザクション。Oracleバージョン11.1.0.6以上では、次のコマンドを使用して非分散にする(データベースの再起動が必要)と、これらのトランザクションをキャプチャできます。
alter system set _CLUSTERWIDE_GLOBAL_TRANSACTIONS=FALSE;
RAC分散XAおよびPDML分散トランザクション
バージョンを有効にした表
IDENTITY列
親トピック: Oracle DMLのオブジェクトと操作のサポートの詳細
この項では、DDL操作のキャプチャとレプリケーションについてOracle GoldenGateでサポートされるOracleオブジェクトと操作について概説します。バージョン11.2.0.4より前のOracleリリースの場合は、トリガーベースのキャプチャが必要です。Extractがバージョン11.2.0.4以上のOracle Databaseに対して統合モードで実行される場合、DDLトリガーおよびサポート・オブジェクトは不要です。
ソース・データベースがOracle 11.2.0.4以上でExtractが統合モードで動作する場合、DDLキャプチャ・サポートはデータベース・ログマイニング・サーバーに統合され、DDLトリガーを使用する必要はありません。データベース・パラメータの互換性を11.2.0.4.0に設定する必要があります。統合キャプチャ・モードでは、Extractは次のようなパスワード・ベースの列の暗号化を含むDDLはサポートしません。
CREATE TABLE t1 ( a number, b varchar2(32) ENCRYPT IDENTIFIED BY my_password);
ALTER TABLE t1 ADD COLUMN c varchar2(64) ENCRYPT IDENTIFIED BY my_password;
注意:
DDLのパスワード・ベースの列の暗号化は、クラシック・キャプチャ・モードではサポートされません。
DDLサポートに関して、統合およびクラシックの両方のキャプチャ・モードに次の追加の文が適用されます。
Oracle GoldenGateのすべてのトポロジ構成は、Oracle DDLレプリケーションでサポートされています。
Oracle DDLのアクティブ/アクティブ(双方向)レプリケーションは、同一のメタデータが含まれている2つ(および2つだけ)のデータベース間でサポートされています。
Oracle GoldenGateでは、次のオブジェクトでDDLはサポートされます。
クラスタ
ディレクトリ
ファンクション
索引
パッケージ
プロシージャ
表
表領域
ロール
順序
シノニム
トリガー
型
ビュー
マテリアライズド・ビュー
ユーザー
非表示列
Oracle DDLのOracle Edition-Based Redefinition (EBR)データベース・レプリケーションは、次のOracle Databaseオブジェクトの統合Extractでサポートされています。
ファンクション
ライブラリ
パッケージ(仕様と本体)
プロシージャ
シノニム
型(仕様と本体)
ビュー
EBRは、DDLトリガーの使用をサポートしていません。
Oracle GoldenGateでは、最大4MBのサイズのDDL操作がサポートされます。Oracle GoldenGateでは、DDL文のサイズが文字ではなくバイトで測定されます。このサイズ制限にはパッケージ、プロシージャおよび関数が含まれます。DDLサポートの実際のサイズには、文のテキストに加え、オブジェクト名の長さ、DDL型および内部でのDDLレコード保持のその他の特性に応じて異なるOracle GoldenGateのメンテナンス・オーバーヘッドも含まれるため、実際のサイズ制限は概算です。
Oracle GoldenGateは、グローバル一時表(GTT) DDL操作をレプリケートできるように、Extractへのこの操作の表示をサポートしています。この操作はデフォルトでは設定されていないため、有効にするにはDDLOPTIONSパラメータを設定する必要があります。
Oracle GoldenGateは、NOUSERIDおよびTRANLOGOPTIONS GETCTASDMLとともに使用する統合ディクショナリをサポートしています。これは、ExtractはDDLトリガーのかわりに、ディクショナリ・オブジェクトに問い合せずにLogMinerディクショナリからオブジェクト・メタデータ取得することを意味しています。Oracle GoldenGateは、ソース・データベース互換性パラメータが11.2.0.4以上で、統合Extractが使用されているときには、自動的に統合ディクショナリを使用します。
統合ディクショナリの機能は、クラシックExtractではサポートされていません。
Oracle GoldenGate release 12.2.xで統合ディクショナリおよび証跡フォーマットを使用するときには、Oracle Databaseのリリースが12.1.0.2よりも前の場合、統合キャプチャではLogminerパッチがマイニング・データベース上で適用されることが必要になります。
Oracle GoldenGateでは、統合キャプチャ・モードでの非表示列のレプリケーションがサポートされます。証跡フォーマット・リリース12.2が必要です。ReplicatではMAPINVISIBLECOLUMNSパラメータを指定するか、MAPパラメータのCOLMAP句で非表示列に明示的にマップする必要があります。
SOURCEDEFSまたはTARGETDEFSを使用する場合、Oracle表の定義ファイルのメタデータ・フォーマットは証跡フォーマットと互換性があることが必要です。メタデータ・フォーマット12.2は証跡フォーマット12.2と互換性があり、12.2より前のメタデータ・フォーマットは12.2より前の証跡フォーマットと互換性があります。定義ファイルのメタデータ・フォーマットを指定するには、DEFGENで定義ファイルが生成される際にDEFSFILEパラメータのFORMAT RELEASEオプションを使用します。
ネームスペース・コンテキストを作成するDDL文(CREATE CONTEXT)は、Extractによってキャプチャされ、Replicatによって適用されます。
ポンプ・モードのExtractは、次のDDLオプションをサポートしています。
DDL INCLUDE ALL
DDL EXCLUDE ALL
DDL EXCLUDE OBJNAME
DDL EXCLUDEのSOURCECATALOGおよびALLCATALOGオプションもサポートされています。
DDLパラメータが指定されていない場合、すべてのDDLが証跡に書き込まれます。DDL EXCLUDE OBJNAMEが指定されている場合は、オブジェクト所有者が除外ルールに一致しないと証跡に書き込まれます。
親トピック: Oracle DDLのオブジェクトと操作のサポートの詳細
次の文は、統合キャプチャ・モードとクラシック・キャプチャ・モードに適用されます。
次の名前または名前の接頭辞はOracle予約済とみなされ、Oracle GoldenGate DDL構成から除外する必要があります。これらの名前を含むオブジェクトはOracle GoldenGateによって無視されます。
除外されるスキーマ:
"ANONYMOUS", // HTTP access to XDB "APPQOSSYS", // QOS system user "AUDSYS", // audit super user "BI", // Business Intelligence "CTXSYS", // Text "DBSNMP", // SNMP agent for OEM "DIP", // Directory Integration Platform "DMSYS", // Data Mining "DVF", // Database Vault "DVSYS", // Database Vault "EXDSYS", // External ODCI System User "EXFSYS", // Expression Filter "GSMADMIN_INTERNAL", // Global Service Manager "GSMCATUSER", // Global Service Manager "GSMUSER", // Global Service Manager "LBACSYS", // Label Security "MDSYS", // Spatial "MGMT_VIEW", // OEM Database Control "MDDATA", "MTSSYS", // MS Transaction Server "ODM", // Data Mining "ODM_MTR", // Data Mining Repository "OJVMSYS", // Java Policy SRO Schema "OLAPSYS", // OLAP catalogs "ORACLE_OCM", // Oracle Configuration Manager User "ORDDATA", // Intermedia "ORDPLUGINS", // Intermedia "ORDSYS", // Intermedia "OUTLN", // Outlines (Plan Stability) "SI_INFORMTN_SCHEMA", // SQL/MM Still Image "SPATIAL_CSW_ADMIN", // Spatial Catalog Services for Web "SPATIAL_CSW_ADMIN_USR", "SPATIAL_WFS_ADMIN", // Spatial Web Feature Service "SPATIAL_WFS_ADMIN_USR", "SYS", "SYSBACKUP", "SYSDG", "SYSKM", "SYSMAN", // Adminstrator OEM "SYSTEM", "TSMSYS", // Transparent Session Migration "WKPROXY", // Ultrasearch "WKSYS", // Ultrasearch "WK_TEST", "WMSYS", // Workspace Manager "XDB", // XML DB "XS$NULL", "XTISYS", // Time Index
特別なスキーマ:
"AURORA$JIS$UTILITY$", // JSERV "AURORA$ORB$UNAUTHENTICATED", // JSERV "DSSYS", // Dynamic Services Secured Web Service "OSE$HTTP$ADMIN", // JSERV "PERFSTAT", // STATSPACK "REPADMIN", "TRACESVR" // Trace server for OEM
除外される表は次のとおりです(*ワイルドカードは任意のスキーマまたは文字を示します)。
"*.AQ$*", // advanced queues "*.DR$*$*", // oracle text "*.M*_*$$", // Spatial index "*.MLOG$*", // materialized views "*.OGGQT$*", "*.OGG$*", // AQ OGG queue table "*.ET$*", // Data Pump external tables "*.RUPD$*", // materialized views "*.SYS_C*", // constraints "*.MDR*_*$", // Spatial Sequence and Table "*.SYS_IMPORT_TABLE*", "*.CMP*$*", // space management, rdbms >= 12.1 "*.DBMS_TABCOMP_TEMP_*", // space management, rdbms < 12.1 "*.MDXT_*$*" // Spatial extended statistics tables
Oracle GoldenGateでは次のものはサポートされていません。
ネストされた表に対するDDL。
IDENTITY列に対するDDL。
ALTER DATABASEおよび ALTER SYSTEM (これらはDDLとはみなされません)。統合ディクショナリを使用している場合は、ALTER DATABASE DEFAULT EDITIONおよびALTER PLUGGABLE DATABASE DEFAULT EDITIONをレプリケートできます。その他のALTER [PLUGABLE] DATABASEコマンドはすべて無視されます。
スタンバイ・データベースに対するDDL。
データベース・リンクDDL。
FLASHBACK ARCHIVE句を含む表を作成するDDL、またはフラッシュバック・データ・アーカイブ自身を作成、変更または削除するDDL。FLASHBACK ARCHIVEを含む表に対するDMLはサポートされません。
クラシック・キャプチャ・モードでは、次のようなパスワード・ベースの列の暗号化を含むDDLはサポートされません。
CREATE TABLE t1 ( a number, b varchar2(32) ENCRYPT IDENTIFIED BY my_password);
ALTER TABLE t1 ADD COLUMN c varchar2(64) ENCRYPT IDENTIFIED BY my_password;
Oracle GoldenGateをクラスタにインストールした場合、次の手順を実行してOracle GoldenGateをクラスタ・ソリューション内に統合します。
クラスタでOracle GoldenGateをインストールして使用する方法については、Oracle GoldenGate with Oracle Real Application Clusters Configurationのホワイトペーパー(http://www.oracle.com/technetwork/database/features/availability/maa-goldengate-rac-2007111.pdf)を参照してください。
AUTOSTARTおよびAUTORESTARTパラメータを使用してOracle GoldenGate Managerプロセスを構成し、Managerでレプリケーション・プロセスを自動的に起動するようにします。COMPATIBLEパラメータの設定が同じことを確認します。親トピック: クラスタへのOracle GoldenGateの統合
Oracle GoldenGateをWindowsクラスタにインストールした場合は、次の手順に従ってOracle GoldenGateをクラスタ・リソースとして設定し、すべてのノード上にManagerサービスを正しく設定します。
クラスタ・アドミニストレータで、Oracle GoldenGateの接続先のデータベース・インスタンスを含むグループにManagerプロセスを追加します。
Oracle GoldenGateが稼働するすべてのノードが、リソースの実行可能な所有者として選択されていることを確認します。
Manager Windowsサービスに次の依存関係(「サービス」コントロール・パネルから構成可能)があることを確認します。
データベース・リソース
Oracle GoldenGateディレクトリが含まれているディスク・リソース
データベース・トランザクション・ログ・ファイルを含むディスク・リソース
データベースのトランザクション・ログ・バックアップ・ファイルを含むディスク・リソース
親トピック: クラスタへのOracle GoldenGateの統合