この章では、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_GEOMETRY
SDO_GEORASTER
これらのオブジェクトは、Oracle GoldenGate 12.2.xと互換性がある場合のみフェッチされます。
CREATE TABLE as SELECT
(CTAS)文で作成されたオブジェクト表を完全にサポートするには、CTAS文からDMLをキャプチャするように統合キャプチャを構成する必要があります。CTASの詳細は、「CREATE TABLE AS SELECT」
を参照してください。
Oracleのオブジェクト表は、サポートされているターゲット・データベースのOracle以外のオブジェクト表にマップできます。
クラシックおよび統合キャプチャ(フェッチベース)
フェッチベースは、リーフレベルのすべての属性、ルートレベルLOB
、XML
、UDT、ANYDATA
、およびコレクションの属性をフェッチします。
フェッチベースは、次のリーフレベルの属性を含むオブジェクト表をサポートしません。
ANYDATA
TIMESTAMP WITH TIMEZONE
TIMESTAMP WITH LOCAL TIMEZONE
INTERVAL YEAR TO MONTH
INTERVAL DAY TO SECOND
BINARY FLOAT
BINARY DOUBLE
Oracle 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の統合