Oracle® Fusion Middleware Oracle DatabaseのためのOracle GoldenGateのインストールおよび構成 12c (12.2.0.1) E70107-04 |
|
前 |
次 |
次に、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
次の文字データ型がサポートされます。
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
列の実際のサイズによっても異なります。
次のマルチバイト文字型がサポートされます。
NCHAR
およびNVARCHAR2
のマルチバイト文字データ型
CHAR
列およびVARCHAR2
列に保存されるマルチバイト・データ
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
Oracle GoldenGateでは、4Kより大きいラージ・オブジェクトのフィルタリング、列マッピングまたは操作はサポートされません。
DDLサポートが有効な場合、Oracle GoldenGateでCTAS文をレプリケートし、基となるターゲット表からのデータの選択を可能にします。これはGET_CTAS_DMLS
パラメータを使用して制御され、すべての型付き表に適用されます。このパラメータが使用されると、OIDが保持されます。
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
列をサポートします。
次のものはサポートされません。
フィルタリングと操作はサポートされていません。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 OR
およびXML Binary
。XMLバイナリ/ORは、11.2.0.3より上のリリースと互換性がある場合にフェッチされます。
XML CLOB
では、ソース・データベース互換性はリリース11.0.0.0.0より上です。
XMLType
を更新するSET
全体の長さは、新しいコンテンツと他の操作、XQuery
バインド値を含めて最大32Kです。
XMLバイナリ
の場合、Oracle GoldenGateによってソース・データベースから追加の行データがフェッチされます。フェッチされたデータは元のトランザクションの一部ではない場合があるため、不整合が発生する可能性があります。
XML Object Relational
は、クラシック・キャプチャ・モードでサポートされません。
XMLのレプリケートの詳細は、「特別なデータ型の処理」を参照してください。
ソースおよびターゲットの構造が同一である場合、Oracle GoldenGateでユーザー定義型(UDT)または抽象データ型(ADT)がサポートされます。スキーマ名は別々にすることができます。
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の一部である、ネストされた表の列/属性はサポートされません。
その他の設定要件については、「特別なデータ型の処理」を参照してください。
ネストされた表のデータを更新する際には、ネストされた表が含まれている行を同時に更新する必要があります。
VARRAYS
とネストされた表をフェッチすると、変更箇所のみでなく、毎回、列の内容全体がフェッチされます。
統合キャプチャのみ(REDOベース)
REDOベースは、REDOからオブジェクト表をキャプチャしますが、オブジェクト表に次の属性が含まれている場合は、ソース表からフェッチにフォールバックします。
SDO_TOPO_GEOMETRY
SDO_GEORASTER
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 SECIND
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では、次のデータ型はサポートされません。
これらのデータ型内に埋め込まれた名前付きコレクションおよびVARRAYS
を含まないVARRAYS
を指定したデータ型に対する、ANYDATA
フェッチベースの列サポート
最上位のVARRAY
列
ANYDATASET
ANYTYPE
MLSLABEL
ORDDICOM
REF
TIMEZONE_ABBR
URITYPE
サポートされていないOracleデータ型を含むUDT
Oracle GoldenGateでは、ID列データまたはValid Time Temporal列データのレプリケーションをサポートしていません。
その他の除外については、「各キャプチャ・モードでサポートされるOracleデータ型とオブジェクトのサマリー」を参照してください。