Oracle® Fusion Middleware Oracle GoldenGateリファレンスfor Windows and UNIX 12c (12.2.0.1) E70112-04 |
|
前 |
次 |
Oracleに有効です。ADD SCHEMATRANDATA
では、表のスキーマレベルのサプリメンタル・ロギングを有効化します。ADD SCHEMATRANDATA
は、行の識別にOracle GoldenGateが必要とする使用可能なキーのスーパーセットを自動的に記録するために指定したスキーマの、現在および将来のすべての表で機能します。
ADD SCHEMATRANDATA
は、統合キャプチャおよびクラシック・キャプチャの両方で有効で、次を実行します。
CREATE TABLE
で作成された新しい表にOracleサプリメンタル・ロギングを有効化する。
列を追加または削除するALTER TABLE
の影響を受けた表のサプリメンタル・ロギングを更新する。
名前が変更された表のサプリメンタル・ロギングを更新する。
一意キーまたは主キーが追加または削除された表のサプリメンタル・ロギングを更新する。
デフォルトで、ADD SCHEMATRANDATA
は、次に示す優先順位で、表のキー列を記録します。
主キー
主キーがない場合、無効、使用不可または非表示のキーを含む、表のすべての一意キー。ADTメンバー列を含む一意キーも記録されます。仮想列(ファンクションベース索引)の一意キーのみ記録されません。
前述のいずれも存在しない場合、表のすべてのスカラー列が記録されます。(システム生成の行OIDは常に記録されます。)
ADD SCHEMATRANDATA
は、統合Replicatを使用するための条件または無条件のロギング要件もサポートします。
注意:
Oracle11.2.0.2より前のバージョンの場合、ソース・データベースにOracle Patch 10423000を適用します。
ADD SCHEMATRANDATAを使用するタイミング
ADD SCHEMATRANDATA
は、次の場合に使用する必要があります。
統合キャプチャ用に構成するExtractグループの一部であるすべての表に対して。ADD SCHEMATRANDATA
は、すべてのキーを記録することにより、適切なキーが記録されていることを保証します。
統合Replicatグループで処理されるすべてのソース表に対して。主キー、一意キーおよび外部キーのロギングを有効にするオプションが提供され、様々な適用サーバーを介して処理されているリレーショナル表間の依存関係の計算をサポートします。
DDLレプリケーションがアクティブで、DMLが新しい表を作成するかキー列を変更するDDLと同時である場合。DDLがオブジェクトで発行された直後にDMLをオブジェクトに適用できるシナリオを最適に処理します。ADD SCHEMATRANDATA
により、各DDL操作で適切なキー値がREDOログにアトミックに記録されるため、Extract処理でのラグに関係なく、ログからキャプチャされる際のDMLのメタデータの継続性が保証されます。
ADD SCHEMATRANDATAを使用するためのデータベース・レベルのロギング要件
Oracle GoldenGateを使用するときに、ソース・データベースを強制ロギング・モードにし、データベース・レベルで最小サプリメンタル・ロギングを有効にすることを強くお薦めします。これは、連鎖行の情報(存在する場合)を更新操作用のREDOログに追加します。Oracle GoldenGateをサポートするロギングの構成の詳細は、Oracle DatabaseのためのOracle GoldenGateのインストールおよび構成を参照してください。
ADD SCHEMATRANDATAを使用する場合の追加の考慮事項
ADD SCHEMATRANDATA
を使用する前に、DBLOGIN
コマンドを発行します。このコマンドを発行するユーザーは、Oracle Streams管理者権限が付与されている必要があります。
SQL> exec dbms_streams_auth.grant_admin_privilege('user')
DDLレプリケーションが有効化されていない場合、ADD TRANDATA
コマンドのかわりにADD SCHEMATRANDATA
を使用できます。ただし、表に主キーがなく、複数の一意キーがある場合、ADD SCHEMATRANDATA
によって、データベースはすべての一意キーを記録することに注意してください。このような場合、ADD SCHEMATRANDATA
によって、データベースはADD TRANDATA
の場合よりも多くのREDOデータを記録します。余分なロギングを回避するには、可能な場合、一意キーのうちの1つを主キーとして指定します。
1つの主キーがあるか、1つの一意キーがあるか、キーがない表の場合、ADD SCHEMATRANDATA
では、ADD TRANDATA
と比較して、追加のロギング・オーバーヘッドはありません。詳細は、ADD TRANDATAを参照してください。
FILTER
文、およびTABLE
パラメータとMAP
パラメータのKEYCOLS
句に必要な列など、Oracle GoldenGateで使用するために特定の表の追加の非キー列を記録する必要がある場合、これらの列に対して ADD TRANDATA
コマンドを発行します。このコマンドには、列の表レベルのサプリメンタル・ロギングを発行するためのCOLS
オプションがあり、ADD SCHEMATRANDATA
とともに使用できます。
構文
ADD SCHEMATRANDATA schema { [ALLOWNONVALIDATEDKEYS] [NOSCHEDULINGCOLS | ALLCOLS]} [PREPARECSN {WAIT | LOCK | NOWAIT | NONE}]
schema
キーの追加情報を記録するスキーマ。ワイルドカードは使用しないでください。マルチテナント・コンテナ・データベースの複数のプラガブル・データベースのスキーマにADD SCHEMATRANDATA
を発行するには、DBLOGIN
を使用して各プラガブル・データベースに個別にログインしてから、ADD SCHEMATRANDATA
を発行します。詳細は、「DBLOGIN」を参照してください。
ALLOWNONVALIDATEDKEYS
このオプションは、Oracle 11.2.0.4以降の11gバージョンおよびOracle 12.1.0.2以降の12cバージョンに有効です。(Oracle 11.2.0.3または12.1.0.1では有効ではありません。)サプリメンタル・ロギングのNON VALIDATED
およびNOT VALID
主キーが含まれます。これらのキーは、Oracle GoldenGateによって使用される標準キー選択基準より優先されます。GLOBALS
のパラメータALLOWNONVALIDATEDKEYS
が使用されている場合、ADD SCHEMATRANDATA
は、指定されているかどうかにかかわらず、ALLOWNONVALIDATEDKEYS
を使用して実行されます。デフォルトでは、NON VALIDATED
およびNOT VALID
主キーは記録されません。詳細は、GLOBALS
のALLOWNONVALIDATEDKEYSパラメータを参照してください。
NOSCHEDULINGCOLS | ALLCOLS
これらのオプションは、Oracleターゲット・データベースのサプリメンタル・ロギングを制御します。これらのオプションは一緒に使用できますが、後者のオプションが使用されます。たとえば、ADD SCHEMATRANDATA oggadm_ext ALLCOL NOSCHEDULINGCOLS
コマンドでは、NOSCHEDULINGCOLS
オプションが使用されます。
NOSCHEDULINGCOLS
スケジュール列のロギングを無効にします。デフォルトで、ADD SCHEMATRANDATA
は、主キーの無条件ロギング、指定したスキーマの現在および今後のすべての表の、一意キーおよび外部キーのすべての条件付きサプリメンタル・ロギングを有効にします。無条件ロギングでは、主キーの値を、キーが現在の操作で変更されたかどうかにかかわらず、強制的にログに記録します。条件付きロギングは、外部キーまたは一意キーの列のすべての値を、それらのうちの少なくとも1つが現在の操作で変更された場合に、ログに記録します。統合Replicatの主キー、一意キーおよび外部キーはすべて、依存関係を計算するインバウンド・サーバーから利用できる必要があります。統合Replicatの詳細は、Oracle DatabaseのためのOracle GoldenGateのインストールおよび構成を参照してください。
ALLCOLS
指定したスキーマの現在および将来のすべての表の、すべてのサポートされるキーおよびキーではない列の無条件サプリメンタル・ロギングを有効にします。このオプションは、依存関係の計算に必要なキーと、フィルタリング、競合の解決またはその他の目的で必要な列のロギングを有効にします。LOB、LONG、ADTなどの列は含まれません。
PREPARECSN {WAIT | LOCK | NOWAIT | NONE}
DMLとDDLの両方に有効です。Oracle Datapump Exportのダンプ・ファイルにインスタンス化CSNが設定されるよう、ソースの表を自動的に準備します。Replicatは、(インポート時に) Oracle Datapumpによって設定された表ごとのインスタンス化CSNを使用して、証跡レコードをフィルタ処理で除外します。ターゲット上では、データ・ポンプ・インポートがDBOPTIONS ENABLE_INSTANTIATION_FILTERING
パラメータを使用して、システム表とビューにインスタンス化SCNを移入し、表レベルのインスタンス化フィルタリングを有効にします。