Oracle® Fusion Middleware Oracle DatabaseのためのOracle GoldenGateのインストールおよび構成 12c (12.2.0.1) E70107-04 |
|
![]() 前 |
![]() 次 |
Oracle GoldenGateは、REDOログを使用して、ソース・トランザクションのレプリケートに必要なデータをキャプチャします。Oracle GoldenGateの処理を始める前に、Oracle REDOログをソース・システムに適切に構成する必要があります。
注意:
この必要なロギングによってREDOの量が増えます。Oracle GoldenGate処理を開始してログが有効化されるまで待つ場合があります。
この項では、Oracle GoldenGateに適用される次のロギング・レベルについて説明します。使用するロギング・レベルは、Oracle GoldenGate機能または使用している機能によって異なります。
表3-1に、様々なロギング・プロパティのOracle GoldenGateユースケースを示します。詳細な情報は次のとおりです。
表3-1 ユースケース別のサプリメンタル・ロギングのオプション
ロギング・オプション | GGSCIコマンド | 機能 | ユースケース |
---|---|---|---|
強制ロギング・モード |
なし: データベースを通じて有効化します。 |
すべてのトランザクションおよびロードのロギングを強制します。 |
すべてのOracle GoldenGateユースケースで強くお薦めします。 |
最小のデータベース・レベルのサプリメンタル・ロギング |
なし: データベースを通じて有効化します。 |
最小サプリメンタル・ロギングで行連鎖情報をREDOログに追加できるようにします。 |
すべてのOracle GoldenGateユースケースに必要です。 |
スキーマ・レベルのサプリメンタル・ロギング、デフォルト設定 「スキーマ・レベルのサプリメンタル・ロギングの有効化」を参照してください。 |
|
主キーの無条件のサプリメンタル・ロギングを有効化し、スキーマのすべての表の一意キーおよび外部キーの条件付きのサプリメンタル・ロギングを有効化します。これらのキーは、すべてスケジューリング列と呼ばれます。 |
スキーマの現在および将来のすべての表でロギングを有効化します。主キー、一意キーおよび外部キーの列がソースとターゲットの両方で同じでない場合は、 |
サポートされるすべての列で無条件のロギングを使用したスキーマ・レベルのサプリメンタル・ロギング。(サポートされない列タイプの場合は、「スキーマ・レベルのサプリメンタル・ロギングの有効化」を参照してください。) |
|
スキーマのすべての表で、表のすべての列の無条件のサプリメンタル・ロギングを有効化します。 |
双方向およびアクティブ/アクティブ構成で使用され、そこでは更新または削除の実行時に、変更された列だけでなくすべての列値がチェックされます。より多くのリソースが消費されますが、最高レベルのリアルタイム・データ検証と競合検出が可能になります。 ソースおよびターゲットの主キー、一意キーおよび外部キーがソースとターゲット間で同一でないか、定期的に変更される場合にも使用できます。 |
スキーマ・レベルのサプリメンタル・ロギング、最小設定 |
|
スキーマのすべての表の主キーおよび有効なすべての一意索引の無条件のサプリメンタル・ロギングを有効化します。 |
非統合Replicatでのみ使用します。これは、最低限必要なスキーマ・レベルのロギングです。 |
統合Replicatの組込みサポートを使用した表レベルのサプリメンタル・ロギング 「表レベルのサプリメンタル・ロギングの有効化」を参照してください。 |
|
主キーの無条件のサプリメンタル・ロギングを有効化し、表の一意キーおよび外部キーの条件付きのサプリメンタル・ロギングを有効化します。これらのキーは、すべてスケジューリング列と呼ばれます。 |
スキーマ・レベルのサプリメンタル・ロギングが使用されていないかぎり、すべてのOracle GoldenGateユースケースで必要です。主キー、一意キーおよび外部キーの列がソースとターゲットの両方で同じでない場合は、 |
サポートされるすべての列で無条件のロギングを使用した表レベルのサプリメンタル・ロギング。(サポートされない列タイプの場合は、「表レベルのサプリメンタル・ロギングの有効化」を参照してください。) |
|
表のすべての列の無条件のサプリメンタル・ロギングを有効化します。 |
双方向およびアクティブ/アクティブ構成で使用され、そこでは更新または削除の実行時に、変更された列だけでなくすべての列値がチェックされます。より多くのリソースが消費されますが、最高レベルのリアルタイム・データ検証と競合検出が可能になります。 ソースおよびターゲットの主キー、一意キーおよび外部キーがソースとターゲット間で同一でないか、定期的に変更される場合にも使用できます。 |
表レベルのサプリメンタル・ロギング、最小設定 |
|
表の主キーおよび有効なすべての一意索引の無条件のサプリメンタル・ロギングを有効化します。 |
非統合Replicatでのみ使用します。これは、最低限必要な表レベルのロギングです。 |
Oracleソース・データベースを強制ロギング・モードにすることを強くお薦めします。強制ロギング・モードでは、すべてのトランザクションおよびロードのロギングを強制し、反対にユーザーまたは記憶域の設定をオーバーライドします。これにより、Extract構成のソース・データが失われることがなくなります。
また、最小サプリメンタル・ロギング、データベース・レベル・オプションは、Oracle GoldenGateを使用する場合にOracleソース・データベースに必要です。これは、連鎖行の情報(存在する場合)を更新操作用のREDOログに追加します。
注意:
レプリケーションの外部の表に過剰なオーバーヘッドが発生するため、データベース・レベルの主キー(PK)および一意索引(UI)ロギングはあまりお薦めしません。これらのロギング・オプションがビジネス用途に必要でないかぎり、必要な操作は、最小サプリメンタル・ロギングをデータベース・レベルで有効化し、Oracle GoldenGateのロギングを強制するだけです。
次の手順を実行し、必要に応じて最小サプリメンタル・ロギングおよび強制ロギングを確認して有効化します。
Oracle GoldenGateでは、スキーマ・レベルのサプリメンタル・ロギングをサポートしています。スキーマ・レベルのロギングは、Oracle GoldenGate DDLレプリケーション機能を使用する場合に、Oracleソース・データベースで必要です。その他すべてのユースケースではオプションですが、表レベルのロギングをかわりに使用する必要があります(「表レベルのサプリメンタル・ロギングの有効化」を参照してください)。
スキーマ・レベルのロギングでは、デフォルトで主キーの無条件のサプリメンタル・ロギングを自動的に有効化し、スキーマのすべての表の一意キーおよび外部キーの条件付きのサプリメンタル・ロギングを自動的に有効化します。必要に応じて、オプションでロギングを変更できます。
注意:
ワイルドカード指定を満たす場合に、スキーマに追加される新しい表がキャプチャされるため、表レベルのロギングよりもスキーマ・レベルのロギングを使用することを強くお薦めします。
次の手順をソース・システムで実行して、スキーマ・レベルのサプリメンタル・ロギングを有効化します。
表レベルのサプリメンタル・ロギングは、次の場合にソース・システムで有効化します。
スキーマ・レベルのロギングを使用しない場合に、必要なレベルのロギングを有効にする場合(「スキーマ・レベルのサプリメンタル・ロギングの有効化」を参照)。スキーマ・レベルまたは表レベルのロギングを使用する必要があります。表レベルのロギングでは、デフォルトで主キーの無条件のサプリメンタル・ロギングを自動的に有効化し、表の一意キーおよび外部キーの条件付きのサプリメンタル・ロギングを自動的に有効化します。必要に応じて、オプションでロギングを変更できます。
指定した表で主キーのロギングを回避する場合。
キー以外の列の値を表レベルで記録し、Oracle GoldenGateの特定の機能(フィルタリング、競合検出および解決ロジックなど)をサポートする場合。
次の手順をソース・システムで実行して、表レベルのサプリメンタル・ロギングを有効化するか、コマンドのオプションの機能を使用します。
ソース・システムでGGSCIを実行します。
資格証明ストア内の、表レベルのサプリメンタル・ロギングを有効にする権限を持つユーザーの別名を使用してDBLOGIN
コマンドを発行します。
DBLOGIN USERIDALIAS alias
DBLOGIN
および追加オプションの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
ADD TRANDATA
コマンドを発行します。
ADD TRANDATA [container
.]schema.
table
[, COLS (columns)
] [, NOKEY] [, ALLCOLS | NOSCHEDULINGCOLS]
説明:
container
は、表がマルチテナント・コンテナ・データベースにある場合、ルート・コンテナまたはプラガブル・データベースの名前です。
schema
は、表を含むソース・スキーマです。
table
は、表の名前です。オブジェクト名を指定する手順は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。
ADD TRANDATA
で他のオプションを指定しない場合は、主キーの無条件のサプリメンタル・ロギングを自動的に有効化し、表の一意キーおよび外部キーの条件付きのサプリメンタル・ロギングを自動的に有効化します。無条件ロギングでは、主キーの値を、キーが現在の操作で変更されたかどうかにかかわらず、強制的にログに記録します。条件付きロギングは、外部キーまたは一意キーの列のすべての値を、それらのうちの少なくとも1つが現在の操作で変更された場合に、ログに記録します。デフォルトは、非統合Replicat (NOSCHEDULINGCOLS
も参照)をオプションでサポートしますが、依存関係を計算するために、主キー、一意キーおよび外部キーをすべてインバウンド・サーバーで使用できるようにする必要があるため、統合Replicatをサポートする必要があります。統合Replicatの詳細は、「使用する適用方法の決定」を参照してください。
ALLCOLS
では、表のすべての列の無条件のサプリメンタル・ロギングを有効化します。ソース表とターゲット表に異なるスケジューリング列が含まれる場合に、統合Replicatをサポートするために使用します。(スケジューリング列は、主キー、一意キーおよび外部キーです。)
NOSCHEDULINGCOLS
は、非統合モードのReplicatプロセスでのみ有効です。これは、表に対して定義されている一意制約のタイプ、または一意制約のないすべての列に適した、ADD SUPPLEMENTAL LOG DATA ALWAYS
句を含むALTER TABLE
コマンドを発行します。このコマンドは、スキーマ・レベルのロギングが使用されていない場合に、Oracle GoldenGateの表レベルのロギングの基本要件を満たします。Oracle GoldenGateがキーまたは索引をどのように選択するかについては、「ソース表とターゲット表での行の一意性の保証」を参照してください。
COLS
columns
は、KEYCOLS
句またはフィルタリングおよび操作に必要なキー以外の列を記録します。パラメータが必要です。NOKEY
オプションが存在しないかぎり、主キーに加えてこれらの列もログに記録されます。
NOKEY
によって、主キーまたは一意なキーのロギングが回避されます。TABLE
パラメータおよびMAP
パラメータにKEYCOLS
句が必要で、ADD TRANDATA
コマンドでCOLS
句を使用して代替のKEYCOLS
列を記録する必要があります。
ADD TRANDATA
にCOLS
オプションを使用する場合、ターゲットでそれらの列に一意の索引を作成して行の取得を最適化します。KEYCOLS
句の代替キーとしてこれらの列を記録する場合は、Oracle GoldenGateプロセスを構成するときにKEYCOLS
句をTABLE
およびMAP
文に追加する必要があります。
ADD TRANDATA
の詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。