Oracle® Fusion Middleware Oracle DatabaseのためのOracle GoldenGateのインストールおよび構成 12c (12.2.0.1) E70107-04 |
|
![]() 前 |
![]() 次 |
Oracle GoldenGateでは、レプリケートされた更新および削除に対して正しいターゲット行を見つけるために、ソース表とターゲット表に一意の行識別子が必要です。TABLE
文またはMAP
文で、KEYCOLS
句を使用しない場合には、ロギングされる制約数およびタイプに応じて、Oracle GoldenGateにより、使用される行識別子が次の優先順位で選択されます(「ロギング・プロパティの構成」を参照)。
拡張(32K) VARCHAR2/NVARCHAR2
列が含まれない場合は、主キー。非表示列を含まない主キー。
一意キー。非表示列を含まない一意キー。
非統合Replicatの場合、一意キーの選択は次のとおりです。
仮想列、UDT、ファンクション・ベース列、NULL値可能列、および拡張(32K) VARCHAR2/NVARCHAR2
列がない英数字順で最初の一意キー。表示されない索引の一部である列を含むキーをサポートするには、Oracle GoldenGate GLOBALS
ファイルでALLOWINVISIBLEINDEXKEYS
パラメータを使用する必要があります。
仮想列、UDT、拡張(32K) VARCHAR2/NVARCHAR2
列、ファンクション・ベース列はないが、Null値可能列がある英数字順で最初の一意キー。表示されない索引の一部である列を含むキーをサポートするには、Oracle GoldenGate GLOBALS
ファイルでALLOWINVISIBLEINDEXKEYS
パラメータを使用する必要があります。
前のどのキー型も存在しない場合(表に定義されているその他のキー型が存在する可能性があっても)、Oracle GoldenGateによって、一意なキーでデータベースを使用できるすべての列の擬似キー(仮想列、UDT、ファンクション・ベース列、拡張(32K) VARCHAR2/NVARCHAR2
列、およびOracle GoldenGateユーザーによって、Oracle GoldenGate構成から明示的に除外されている列を除く)が作成されます。
前述の制限事項によって除外されないかぎり、非表示列は擬似キーで使用できます。
注意:
表に使用可能な他のキーがない場合や、表にキーがまったくない場合、Oracle GoldenGateは該当するメッセージをレポート・ファイルに記録します。すべての列からキーを作成すると、ソース・システムのOracle GoldenGateのパフォーマンスが低下します。ターゲットでは、このキーはReplicatであまり効率的でないより大きいWHERE
句が使用される原因となります。
表に適切なキーがない場合、あるいは既存のキーを使用しない場合は、表に一意の値が常に含まれる列があれば、代替キーを定義できます。この代替キーは、ExtractのTABLE
パラメータおよびReplicatのMAP
パラメータにKEYCOLS
句を指定して定義します。指定したキーにより、Oracle GoldenGateで検出される既存の主キーまたは一意キーはオーバーライドされます。詳細は、『Oracle GoldenGate for Windows and UNIXリファレンス』を参照してください。