主コンテンツへ
Oracle® Fusion Middleware Oracle GoldenGateの管理for Windows and UNIX
12c (12.2.0.1)
E70111-04
目次へ移動
目次

前
次

14 オンライン変更同期の構成

この章では、オンライン変更同期を構成する方法について説明します。

この章の内容は次のとおりです。

14.1 オンライン変更同期の概要

オンライン変更同期では、データ変更を継続的に抽出およびレプリケートして、ほぼリアルタイムな状態にターゲット・データベースを維持します。必要なExtractおよびReplicatのプロセスおよび証跡の数は、デプロイするレプリケーション・トポロジと、使用しているプロセス・モードによって異なります。

特定のレプリケーション・トポロジのデプロイの詳細は、次のものを参照してください。

複数のカタログを含むOracleマルチテナント・コンテナ・データベース間またはSQL/MXデータベース間でレプリケートする場合、複数のReplicatプロセスを構成する必要がある場合があります。1つのReplicatプロセスは1つのコンテナまたはカタログにのみ適用できます。この場合、各ターゲット・コンテナまたはカタログに対してReplicatプロセスを構成する必要があります。その場合、各Replicatパラメータ・ファイルで、TARGETDBパラメータを使用して適切なターゲット・コンテナまたはカタログを指定します。これらのデータベースに対して取得または適用を行う場合のガイドラインは、Oracle DatabaseのためのOracle GoldenGateのインストールおよび構成およびNonStop SQL/MXのためのOracle GoldenGateのインストールおよび構成を参照してください。

特定のパフォーマンス・レベルを達成するために、複数のプロセス・グループを構成する必要がある場合があります。たとえば、ラグを特定のしきい値未満に抑えたい場合などです。ラグとは、ソース・アプリケーション内で変更が発生した時点と、それらの変更がターゲット・データベースに適用される時点との間の時間差です。

Oracle GoldenGateは、Oracle GoldenGate Managerインスタンス当たり、最大で5,000の同時ExtractおよびReplicatグループをサポートします。サポートされているレベルで、INFOSTATUSなどのGGSCIコマンドですべてのグループを完全に制御および表示できます。Oracle GoldenGateでは、環境を効果的に管理するために、ExtractおよびReplicatグループの数(合計)をデフォルト・レベルの300以下に保つことが推奨されます。

最高のパフォーマンスを得るためのOracle GoldenGate構成の詳細は、「Oracle GoldenGateのパフォーマンスのチューニング」を参照してください。

14.1.1 初期同期

この章の手順に従って変更同期グループおよび証跡を構成したら、初期ロードによるOracle GoldenGateのインスタンス化を参照して同期用のターゲット表を準備します。初期ロードによって、ソース表全体がコピーされ、必要に応じてデータが変換され、トランザクション・データの移動が同期状態から開始されるようにデータがターゲット表に適用されます。変更同期を最初に開始するのは、初期同期プロセス中である必要があります。変更同期によって、ロードが適用されている間、進行中のトランザクション変更が追跡されます。

14.2 プロセスとファイルの名前の選択

構成手順を開始する前に、Oracle GoldenGateのプロセスとファイルの一貫したネーミング規則を作成すると便利です。意味のある名前を選択すると、ディスプレイ、エラー・ログおよび外部監視プログラムで複数のプロセスやファイルを区別するのに役立ちます。また、環境の変更や拡張に応じて後でプロセスやファイルを追加する際の命名にも対応します。この項では、次の点について説明します。

14.2.1 プロセスのネーミング規則

プロセス名またはグループ名を指定する場合、次のルールに従います。

  • 次のタイプのプロセスでは最大8文字を使用できます。アンダースコア(_)などの英数字以外の文字も含めることができます。

    • オンラインExtractグループ

    • 初期ロードExtract

    • クラシック(未調整)モードで作成されたオンラインReplicatグループ

    • 統合モードで作成されたオンラインReplicatグループ(Oracleのみ)

  • 調整Replicatプロセス・グループでは最大5文字を使用できます。アンダースコア(_)などの英数字以外の文字も含めることができます。内部的には、ADD REPLICATコマンドのMAXTHREADSオプションに基づいて作成される各スレッドのベース名に、3文字のスレッドIDが追加されます。作成される名前は、他のReplicatグループに対して重複させることはできません。たとえば、名前がfinで、MAXTHREADSが50スレッドである調整Replicatグループが作成された場合、作成されるスレッド名はfin000からfin050になります(MAP文で指定されたIDであるとします)。この場合、fin000からfin0050までの名前を他のReplicatグループは使用できません。詳細は、次のルールを参照してください。

  • グループ名には数値を含めることができますが、数字で終わる名前はお薦めできません。レポート生成時に書込みプロセスによってグループ名の末尾に数値が追加されるため、グループ名の末尾に数値を使用すると(fin1など)、レポート・ファイル名の重複やエラーの原因になります。また、Replicatを調整モードで実行している場合、数値で終わるグループ名はお薦めできません。内部的に数値のスレッドIDがグループ名に追加されるため、ベース・グループ名も数字で終わる場合、情報コマンドの出力の解析が困難になります。数字を付加した結果がワイルドカードに適合すると、スレッド名を他のReplicatグループの名前と混同する可能性があります。レポート・ファイル名の重複が起こる可能性もあります。グループ名の始めに数値を配置する方が(たとえば1_fin1finなど)、より実際的です。

  • ローカル・オペレーティング・システムのキャラクタ・セットでサポートされ、オペレーティング・システムでファイル名での使用が許可されているかぎり、プロセスの名前には任意の文字を使用できます。この理由は、グループがその関連するチェックポイント・ファイルとパラメータ・ファイルで識別されるためです。

  • 次の文字は、グループ名に使用できません。

    {\ / : * ? " < > | }
    
  • HP UX、LinuxおよびSolarisでは、コロン(:)またはアスタリスク(*)を使用してファイル名を指定できますが、推奨はされません。

  • 一般的に、Oracle GoldenGate内では、プロセス名とパラメータ・ファイル名の大/小文字は区別されません。たとえば、financeFinanceおよびFINANCEは、すべて同じであるとみなされます。ただし、Linuxでは、プロセス名(およびADDコマンドで明示的に定義される場合はそのパラメータ・ファイル名)はすべて大文字またはすべて小文字である必要があります。プロセスおよびパラメータ・ファイルに指定された名前に大文字と小文字が混在していると、プロセスの起動時にエラーが発生します。

  • 名前には、1語のみ使用してください。

  • プロセスまたはパラメータ・ファイルのフル・ネームにportという語は使用しないでください。ただし、名前の一部にportという文字列があってもかまいません。

14.2.2 ファイル名の選択

キャプチャされたデータは、次のOracle GoldenGateプロセス・ダウンストリームによって処理されるための格納場所である、証跡と呼ばれる一連のファイルへと格納される必要があります。基本的な構成は次のとおりです。

  • ソース・システムのローカル証跡

  • ターゲット・システムのリモート証跡

実際の証跡名には、./dirdat/trのように2文字のみが含まれます。新規ファイルが作成される際、Oracle GoldenGateによってこの名前に9桁の順序番号が付加され、./dirdat/aa000000002のようになります。証跡はOracle GoldenGateプロセスにリンクされており、トラブルシューティングの目的で識別が必要になる場合があるので、そのネーミング規則を確立しておくことをお薦めします。

Windowsシステムでは、証跡パス名のディレクトリの名前が数字で始まる場合、パラメータ・ファイル内に証跡をリストするときに、そのパスをバックスラッシュでなくスラッシュで指定する必要があります。詳細は、「Windowsシステムでのパラメータ・ファイルでのファイルシステム・パス名の指定」を参照してください

Oracle GoldenGate証跡の詳細は、「証跡の概要」を参照してください。

14.3 チェックポイント表の作成

Replicatは、予期される停止または予期されない停止の後に処理を開始する基準となる証跡内の既知の位置を指定するチェックポイントを管理します。チェックポイントのレコードを格納するために、Replicatはターゲット・データベースのチェックポイント表を使用します。これにより、ReplicatのチェックポイントをReplicatトランザクション自体に含めることができるため、Replicatプロセスまたはデータベース・プロセスに障害が発生した場合でも、トランザクションは一度しか適用されません。不要になった行は削除されるため、チェックポイント表のサイズは小さく抑えられ、データベース・パフォーマンスには影響しません。チェックポイント表の詳細は、チェックポイントについてを参照してください。

14.3.1 チェックポイント表作成のオプション

チェックポイント表は任意のスキーマに配置できます。可能であれば、Oracle GoldenGate専用のものを使用してください。

Oracle GoldenGateの複数のインスタンス(複数インストール)は同じチェックポイント表を使用できます。Oracle GoldenGateは、異なるインスタンスでReplicatグループの名前が同じであっても、チェックポイントを追跡します。

必要に応じて複数のチェックポイント表を使用できます。たとえば、Replicatグループごとに異なるものを使用できます。

チェックポイント表は次の方法でインストールできます。

  • GLOBALSファイルにデフォルトのチェックポイント表を指定できます。ADD REPLICATコマンドを使用して作成された新規Replicatグループは、特別な指示がなくてもこの表を自動的に使用します。手順は、GLOBALSファイルにデフォルトのチェックポイント表を指定する手順を参照してください。

  • 任意のReplicatグループを作成する際に、ADD REPLICATコマンドで、次のように特定のチェックポイント表の指示を指定できます。

    • グループで特定のチェックポイント表を使用するには、ADD REPLICATCHECKPOINTTABLE引数を使用します。このチェックポイント表は、GLOBALSファイルのすべてのデフォルトの指定よりも優先されます。ただ1つのReplicatグループを使用する場合、このコマンドを使用して、GLOBALSファイルの作成を完全に省略できます。

    • グループでチェックポイント表の使用を省略するには、ADD REPLICATNODBCHECKPOINT引数を使用します。チェックポイント表がない場合でも、チェックポイントはReplicatによりディスク上のチェックポイント・ファイルに保持されますが、データの一貫性を失うリスクが生じます。

チェックポイント表の実装方法にかかわらず、ADD REPLICATコマンドを使用する前に、ターゲット・データベースにチェックポイント表を作成しておく必要があります。

ターゲット・データベースにチェックポイント表を追加する手順

GGSCIを通じてチェックポイント表を作成する次の手順は、かわりにchkpt_db_create.sqlスクリプト(dbはデータベース・タイプの略称)を実行することで省略できます。このスクリプトを使用することで、カスタム記憶域または他の属性を指定できます。この表の列の名前または属性は変更しないでください。

  1. Oracle GoldenGateディレクトリから、GGSCIを実行してDBLOGINコマンドを発行し、データベースにログインします。このコマンドを発行するユーザーは、CREATE TABLE権限を持っている必要があります。データベースで使用する正しい構文の詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。

  2. GGSCIで、次のコマンドを発行してデータベースにチェックポイント表を追加します。

    ADD CHECKPOINTTABLE [container | catalog] owner.table
    

    説明:

    owner.tableは表の所有者と名前、containerはOracleにマルチテナント・コンテナ・データベースをインストールする場合のPDBの名前、catalogはSQL/MXデータベースにインストールする場合のカタログの名前です。この表をデフォルトのチェックポイント表として使用し、GLOBALSファイルのCHECKPOINTTABLEで指定する場合、所有者および名前は省略できます。この表の名前は、データベースでオブジェクト名に対して許容される最大長を超えてはなりません。チェックポイント表の名前には、引用符、バックスラッシュ、番号記号などの特殊文字を含めることはできません。

GLOBALSファイルにデフォルトのチェックポイント表を指定する手順

この手順は、Oracle GoldenGateインスタンスにおけるすべてのチェックポイント表のグローバル名を指定します。Replicatグループの作成時に異なるチェックポイント表を指定することによって、任意のReplicatグループに対してこの名前をオーバーライドできます。

  1. GLOBALSファイルを作成します(または、既存のファイルがある場合はこれを編集します)。UNIXまたはLinuxシステムでは、ファイル名はすべて大文字とし、ファイル拡張子を付けずにOracle GoldenGateのルート・ディレクトリに配置する必要があります。ASCIIテキスト・エディタを使用して、前述のネーミング規則に従ってファイルを作成します。または、GGSCIを使用してファイルを作成すると、自動的に正しい名前と場所を使用して保存されます。GGSCIを使用する場合、次のコマンドを使用します(GLOBALSは大文字で入力します)。
    EDIT PARAMS ./GLOBALS
    
  2. 次のパラメータを入力します。
    CHECKPOINTTABLE [container. | catalog.]owner.table
    

    説明:

    [catalog. | container.]owner.tableはデフォルト・チェックポイント表の完全修飾名です。データベースがOracleマルチテナント・コンテナ・データベース(CDB)の場合はコンテナの名前を、データベースがSQL/MXの場合はカタログの名前を含みます。

  3. 表の名前を書き留め、GLOBALSファイルを保存して閉じます。ファイルがOracle GoldenGateのルート・ディレクトリに作成されたことを確認します。ファイル拡張子がある場合は、拡張子を削除します。

14.3.2 Oracle RACにおける調整Replicatへの対応

チェックポイント表の作成対象のReplicatがOracle RAC構成で実行される場合、Replicatチェックポイント表のPCTFREE属性をできるだけ高い値、可能なら90に増やすことをお薦めします。これにより、調整処理で必要になる、頻繁なチェックポイント化に対応できます。この変更は、Replicatグループを初めて開始する前に行う必要があります。調整Replicatの詳細は、「オンラインReplicatグループの作成」を参照してください。

14.4 オンラインExtractグループの作成

オンラインExtractグループを作成するには、ソース・システムでGGSCIを実行し、ADD EXTRACTコマンドを発行します。コマンド引数はすべてカンマで区切ります。構文には、次の2つの形態があります。

標準、パッシブまたはデータ・ポンプExtractグループを作成するための構文

ADD EXTRACT group
{, datasource}
{, BEGIN start_point} | {position_point}
[, PASSIVE]
[, THREADS n]
[, PARAMS pathname]
[, REPORT pathname]
[, DESC 'description']

説明:

  • groupは、Extractグループの名前です。グループ名は必須です。ネーミング規則の詳細は、「プロセスのネーミング規則」を参照してください。

  • datasourceは、抽出するデータのソースを指定する場合に必要です。次のいずれかを使用します。

    • TRANLOGでは、データソースとしてトランザクション・ログを指定します。Teradata以外のすべてのデータベースで使用します。Oracle Enterprise Editionでこのオプションを使用する場合は、ADD EXTRACTを使用する前に(かつ、DELETE EXTRACTを発行してExtractグループを削除する前に)、Extractデータベース・ユーザー(または同じ権限を持つユーザー)としてDBLOGINコマンドを発行する必要があります。

      z/OS上で稼働するDB2では、bsdsオプションを使用して、トランザクション・ログのブートストラップ・データセットのファイル名を指定します。データベースで使用する正しい構文の詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。

    • INTEGRATED TRANLOGでは、このExtractが統合キャプチャ・モードで動作して、Oracleデータベース・ログマイニング・サーバーから論理変更レコード(LCR)を受信することを指定します。このパラメータは、Oracleデータベースにのみ適用されます。その他のオプションと統合キャプチャの使用の詳細は、Oracle DatabaseのためのOracle GoldenGateのインストールおよび構成を参照してください。

    • VAMでは、ベンダー・アクセス・モジュール(VAM)と呼ばれるExtract APIを指定します。Teradataの場合は、Teradata Access Module (TAM)とのインタフェースになります。InformixおよびTeradataデータベースで使用します。詳細は、Oracle GoldenGate Oracle GoldenGate for Informixのインストールおよび構成またはTeradataのためのOracle GoldenGateのインストールおよび構成を参照してください。

    • VAMTRAILSOURCE VAM trail nameでは、VAM証跡を指定します。最大保護モードのTeradata抽出でVAMソートExtractグループを作成する場合に使用します。詳細は、TeradataのためのOracle GoldenGateのインストールおよび構成を参照してください。

    • EXTTRAILSOURCE trail nameでは、ローカル証跡の相対名または完全修飾名を指定します。データ・ポンプを作成する場合に使用します。データ・ポンプは、Oracle GoldenGateの任意の抽出方法と組み合せて使用できます。

  • BEGIN start_pointでは、処理のための初期チェックポイントおよび開始ポイントを確定してオンラインExtractグループを定義します。このポイントより前に開始されたトランザクションは、破棄されます。次のいずれかを使用します。

    • NOWは、グループを作成するためにADD EXTRACTコマンドが実行された時点(統合モードのOracle Extractの場合は、REGISTER EXTRACTコマンドでグループが登録された時点から)のタイムスタンプが指定された変更の抽出を開始します。ADD EXTRACT文よりも前にOracle GoldenGateの証跡に取得されたデータを回避しない場合は、データ・ポンプExtractにNOWを使用しないでください。

      この開始ポイントはInformixでサポートされておらず、使用されている場合、ポジショニングはトランザクション・ログのEOFから開始するため、LSNポジショニングをInformix Extractに使用することをお薦めします。

    • YYYY-MM-DD HH:MM[:SS[.CCCCCC ]]は、開始ポイントとして正確なタイムスタンプを指定するための書式です。レプリケーションまたはロギングが有効化された時点より後の開始ポイントを使用してください。

      注意:

      TeradataソースにはBEGINパラメータを使用しないでください。

  • position_pointでは、特定のトランザクション・ログ・ファイル内で処理を開始する特定の位置を指定します。データベースで使用する特定の構文は、Oracle GoldenGateリファレンスfor Windows and UNIXADD EXTRACTの説明を参照してください。

  • PASSIVEでは、グループがパッシブExtractであることを示します。PASSIVEを使用する場合、別名Extractも使用する必要があります。詳細は、「Oracle GoldenGateのセキュリティの構成」を参照してください。このオプションは、他のADD EXTRACTオプション内に任意の順序で配置できます。

  • THREADS nは、ExtractがOracle Real Application Cluster (RAC)におけるクラシック・キャプチャ・モードで動作している場合に必要です。クラスタで使用するREDOログ・スレッドの数を指定します。

  • PARAMS pathnameは、このグループのパラメータ・ファイルをOracle GoldenGateディレクトリのdirprmサブディレクトリ以外の場所に格納する場合に必要です。完全修飾名を指定します。デフォルトの場所をお薦めします。

  • REPORT pathnameは、このグループのプロセス・レポートをOracle GoldenGateディレクトリのdirrptサブディレクトリ以外の場所に格納する場合に必要です。完全修飾名を指定します。デフォルトの場所をお薦めします。

  • DESC 'description'では、グループの説明を指定します。

別名Extractグループを作成するための構文

ADD EXTRACT group
, RMTHOST {host | IP address}
, {MGRPORT port} | {PORT port}
[, RMTNAME name]
[, DESC 'description']

説明:

  • RMTHOSTでは、このグループをエイリアスExtractとして識別し、リモート・ホストのDNS名またはそのIPアドレスを指定します。

  • MGRPORTでは、Managerが稼働しているリモート・システムのポートを指定します。動的Collectorを使用する場合、このオプションを使用します。

  • PORTでは、静的Collectorのポートを指定します。静的Collectorを実行する場合にのみ、MGRPORTのかわりに使用します。

  • RMTNAMEでは、パッシブExtractの名前を指定します(別名Extractの名前と異なる場合)。

  • DESC 'description'では、グループの説明を指定します。

例14-1 ログベース取得のためのExtractグループの追加

この例では、financeというExtractグループを作成します。抽出は、グループの作成時点に生成されたレコードから開始します。

ADD EXTRACT finance, TRANLOG, BEGIN NOW

例14-2 TeradataのためのプライマリExtractグループの追加

この例では、Teradata最大パフォーマンス・モードまたはTeradata最大保護モードで実行されるfinanceというExtractグループを作成します。Teradataソースには、BEGINポイントを使用しません。

ADD EXTRACT finance, VAM

例14-3 TeradataのためのVAMソートExtractグループの追加

この例では、financeというVAMソートExtractグループを作成します。プロセスは、VAM証跡の/ggs/dirdat/vtから読取りを行います。

ADD EXTRACT finance, VAMTRAILSOURCE /ggs/dirdat/vt

例14-4 データ・ポンプExtractグループの追加

この例では、financeというデータ・ポンプExtractグループを作成します。このグループは、Oracle GoldenGate証跡のc:\ggs\dirdat\ltから読取りを行います。

ADD EXTRACT finance, EXTTRAILSOURCE c:\ggs\dirdat\lt

例14-5 パッシブExtractグループの追加

この例では、financeというパッシブExtractグループを作成します。抽出は、グループの作成時点に生成されたレコードから開始します。このグループはパッシブとしてマークされるため、ターゲットの別名ExtractがこのExtractへの接続を開始します。

ADD EXTRACT finance, TRANLOG, BEGIN NOW, PASSIVE

例14-6 パッシブ・データ・ポンプExtractグループの追加

この例では、financeというデータ・ポンプExtractグループを作成します。これは、Oracle GoldenGate証跡のc:\ggs\dirdat\ltから読取りを行うパッシブ・データ・ポンプExtractです。このデータ・ポンプはパッシブとしてマークされるため、ターゲットの別名Extractがこのデータ・ポンプへの接続を開始します。

ADD EXTRACT finance, EXTTRAILSOURCE c:\ggs\dirdat\lt, PASSIVE

例14-7 別名Extractグループの追加

この例では、aliasという別名Extractグループを作成します。

ADD EXTRACT alias, RMTHOST sysA, MGRPORT 7800, RMTNAME finance

例14-8 Oracleのための統合モードでのプライマリExtractの追加

この例では、Oracleソース・データベース用に統合キャプチャ・モードでExtractを作成し、開始ポイントを、ExtractグループがREGISTER EXTRACTコマンドによってOracleデータベースに登録された時刻に設定します。統合キャプチャは、Oracleデータベースに対してのみ使用できます。

ADD EXTRACT finance INTEGRATED TRANLOG, BEGIN NOW 

14.5 証跡の作成

データを抽出したら、処理して1つ以上の証跡に格納する必要があります。証跡では、別のOracle GoldenGateプロセスによって処理するためにデータが格納されます。証跡は、必要に応じて作成およびエージングされる一連のファイルです。証跡を読み取るプロセスには、次のものがあります。

  • VAMソートExtract: VAM証跡として作成されたローカル証跡から抽出します(Teradataソース・データベース用)。詳細は、TeradataのためのOracle GoldenGateのインストールおよび構成を参照してください。

  • データ・ポンプExtract: 後続の処理のために必要に応じてローカル証跡からデータを抽出し、そのデータをターゲット・システムに転送します。

  • Replicat: 証跡を読み取って変更データをターゲット・データベースに適用します。

複数の証跡を作成し、異なる表またはアプリケーションのデータを分けたり、カスケード・トポロジなどの特定のレプリケーション・トポロジの要件に適合させることができます。TABLE文で指定した表を、Extractパラメータ・ファイルのEXTTRAILまたはRMTTRAILパラメータ文で指定した証跡にリンクします。Oracle GoldenGate証跡の概念の詳細は、「証跡の概要」を参照してください。

14.5.1 Oracle GoldenGate証跡の記憶域の割当て

通常の構成では、少なくともソース・システムに1つ、ターゲット・システムに1つの証跡があります。次の点を考慮に入れ、十分なディスク領域を割り当てます。

  • プライマリExtractプロセスは、ソース・データベースからトランザクション・データを取得し、ローカル証跡に書き込みます。データ・ポンプExtractは、その証跡を読み取り、データをネットワーク経由でターゲットのリモート証跡に転送します。ネットワークに障害があると、データ・ポンプは失敗しますが、プライマリExtractによるローカル証跡へのデータの処理は続けられます。累積していくデータを格納するのに十分なディスク領域がある必要があります。そうでないと、プライマリExtractが異常終了します。

  • ターゲットの場所にある証跡の場合、PURGEOLDEXTRACTSパラメータで設定された消去ルールに従ってデータの累積を処理するのに十分なディスク領域を用意します。PURGEOLDEXTRACTSを使用しても、ターゲット・データベースへの適用よりもネットワーク経由の転送の方が速いため、データはターゲットに常に累積します。

証跡アクティビティがビジネス・アプリケーションによって干渉されないようにするには、別個のディスクまたはファイル・システムを割り当てて証跡ファイルを含めます。証跡ファイルは、Oracle GoldenGateインストールのローカル・ドライブに配置することも、NASまたはSANデバイスに配置することもできます。Oracleクラスタでは、ASMまたはDBFS記憶域に配置できます。

14.5.2 証跡用の領域の見積り

Oracle GoldenGate証跡データの格納に必要になるディスク領域を見積もるためのガイドラインを次に示します。

  1. ネットワークが使用できない可能性のある最長の時間を見積もります。考えられる最長の停止時間に対応するのに十分なデータを格納するよう計画します。そうしないと、停止時間がディスク容量より長くなった場合にソースとターゲットのデータを再同期化する必要があります。
  2. ビジネス・アプリケーションで1時間に生成されるトランザクション・ログのボリュームを見積もります。
  3. 次の式を使用して、必要なディスク領域を計算します。

    [1時間当たりのログ・ボリューム] x [停止時間] x .4 = 証跡のディスク領域

    Oracle GoldenGateで必要なトランザクション・ログのデータは40パーセントのみのため、この式では40パーセントという乗数を使用します。

    注意:

    この式は控えめな見積りです。Oracle GoldenGateの構成後、テストを実行し、必要な領域を正確に割り出します。

14.5.3 証跡の追加

証跡を作成または追加する際、ディスクにファイルを物理的に作成しません。ファイルはExtractプロセスによって自動的に作成されます。証跡の名前を指定し、その証跡に書き込むExtractグループに割り当てます。

証跡を追加するには、ソース・システムのGGSCIで、次のコマンドを発行します。

ADD {RMTTRAIL | EXTTRAIL} pathname, EXTRACT group
[, MEGABYTES n]

説明:

  • RMTTRAILでは、リモート・システムの証跡を指定します。

  • EXTTRAILでは、ローカル・システムの証跡を指定します。

    • EXTTRAILは、PASSIVEモードのExtractには使用できません。

    • EXTTRAILは、データ・ポンプによって読み取られるローカル証跡を指定する場合、またはTeradataアクセス・モジュール(TAM)と相互作用するプライマリExtractにリンクされたVAM証跡を指定する場合に使用する必要があります。Teradata構成の詳細は、TeradataのためのOracle GoldenGateのインストールおよび構成を参照してください。

  • pathnameは、2文字の名前(任意の2つの英数字)を含む証跡の相対名または完全修飾名です(c:\ggs\dirdat\rtなど)。Oracle GoldenGateでは、処理時の作成順に、各証跡ファイルにシリアル番号が追加されます。通常、証跡は、Oracle GoldenGateディレクトリのdirdatサブディレクトリに格納されます。

  • EXTRACT groupは、この証跡に書込みを行うExtractグループの名前です。1つのExtractグループのみが、証跡に書き込むことができます。

  • MEGABYTES nは、各証跡ファイルのサイズをMB単位で設定できるオプション引数です(デフォルトは100です)。

例14-9 VAM証跡

この例では、Extractグループのextvamに対して/ggs/dirdat/vtというVAM証跡を作成します。

ADD EXTTRAIL /ggs/dirdat/vt, EXTRACT extvam

例14-10 ローカル証跡

この例では、Extractグループのextに対して/ggs/dirdat/ltというローカル証跡を作成します。

ADD EXTTRAIL /ggs/dirdat/lt, EXTRACT ext

例14-11 証跡の作成

この例では、Extractグループのfinanceに対して、各ファイル・サイズを約50MBとしてc:\ggs\dirdat\rtという証跡を作成します。

ADD RMTTRAIL c:\ggs\dirdat\rt, EXTRACT finance, MEGABYTES 200

14.6 オンライン抽出用のパラメータ・ファイルの作成

次の手順に従って、オンラインExtractグループのパラメータ・ファイルを作成します。パラメータ・ファイルは、別名Extractグループには必要ありません。別名Extractグループの使用方法の詳細は、Oracle GoldenGateのセキュリティの構成を参照してください。

  1. ソース・システムのGGSCIで、次のコマンドを発行します。
    EDIT PARAMS name
    

    説明:

    nameは、ADD EXTRACTコマンドで作成したExtractグループの名前です。または、グループの作成時に代替の場所を定義した場合は、パラメータ・ファイルの完全修飾名です。

  2. 表14-1にリストされている順序でパラメータを入力します。パラメータ文ごとに新規行を開始します。一部のパラメータは、特定の構成にのみ適用されます。

    表14-1 オンライン変更抽出のパラメータ

    パラメータ 説明
    EXTRACT group
    • groupは、ADD EXTRACTコマンドで作成したExtractグループの名前です。

    Extractは、チェックポイント付きのオンライン・プロセスとして構成します。

    [SOURCEDB dsn | container | catalog]
    [, USERIDALIAS alias options |
    , USERID user, options]

    データベース接続情報を指定します。

    SOURCEDBには、ソースのデータソース名(DSN)またはSQL/MXカタログを指定します。詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。

    USERIDUSERIDALIASで、必要に応じてデータベース資格証明を指定します。セキュリティ・オプションの詳細は、Oracle GoldenGateのセキュリティの構成を参照してください。

    データベース接続は、グループがデータベースの存在しない中間システム上のデータ・ポンプである場合には省略できます。この場合、列マッピングまたは変換は実行されません。

    RMTHOSTOPTIONS host,
    MGRPORT port,
    [, ENCRYPT algorithm KEYNAME key_name]

    ターゲット・システム、Managerが稼働しているポート、およびTCP/IP経由でのデータ暗号化(オプション)を指定します。IPを通じてリモート・システムにデータを送信する場合にのみ必要です(ADD RMTTRAILを使用して証跡を作成した場合)。証跡がローカル・システムに存在する場合には、必要ありません(ADD EXTTRAILを使用した場合)。セキュリティ・オプションの詳細は、Oracle GoldenGateのセキュリティの構成を参照してください。

    Teradataアクセス・モジュールとのインタフェースになり、VAM証跡に書込みを行うプライマリExtractグループには無効です。詳細は、TeradataのためのOracle GoldenGateのインストールおよび構成を参照してください。

    パッシブExtractグループにも無効です。

    ENCRYPTTRAIL algorithm

    このエントリの後に指定した証跡がすべて暗号化されます。セキュリティ・オプションの詳細は、Oracle GoldenGateのセキュリティの構成を参照してください。

    DECRYPTTRAIL

    (データ・ポンプの場合)入力証跡のデータを復号化します。出力証跡へ書き込む前にデータ・ポンプがデータを処理する必要がある場合にのみ使用します。セキュリティ・オプションの詳細は、Oracle GoldenGateのセキュリティの構成を参照してください。

    RMTTRAIL pathname |
    EXTTRAIL pathname
    • RMTTRAILを使用して、ADD RMTTRAILコマンドで作成されたリモート証跡の相対名または完全修飾名を指定します。

    • EXTTRAILを使用して、ADD EXTTRAILコマンドで作成された(データ・ポンプまたはVAMソートExtractによって読み取られる)ローカル証跡の相対名または完全修飾名を指定します。

    証跡を指定します。複数の証跡を指定する場合、適切なTABLE文を各指定の後に続けます。

    EXTTRAILは、パッシブExtractグループには無効です。

    証跡またはファイルのバージョンが異なる場合、RMTTRAILまたはEXTTRAILFORMATオプションを使用します。詳細は、『Oracle GoldenGate for Windows and UNIXリファレンス』を参照してください。

    DSOPTIONS {
    COMMITTEDTRANLOG, RESTARTAPPEND |
    CREATETRANLOG |
    SORTTRANLOG
    }

    Teradata抽出にのみ有効です。

    • COMMITTEDTRANLOG、RESTART APPENDを使用して、ExtractによってTeradata最大パフォーマンス・モードで完全コミット済データを受信することを示します。RESTARTAPPENDでは、以前の実行からデータを再書込みするのではなく、Oracle GoldenGate証跡の最後にデータを追加します。

    • CREATETRANLOGを使用して、ローカルVAM証跡を作成してTeradata最大保護モードでそこに書き込むことをExtractに指示します。Teradataアクセス・モジュールとのインタフェースになるプライマリExtractグループで使用します。

    • SORTTRANLOGを使用して、ExtractによってローカルVAM証跡から読取りを行い、最大保護モードでコミット順にデータをソートします。VAMソートExtractグループにのみ使用します。

    Teradata構成の詳細は、TeradataのためのOracle GoldenGateのインストールおよび構成を参照してください。

    LOGALLSUPCOLS

    Oracleターゲットに対して統合Replicatを使用する場合、または競合検出および解決(CDR)のサポートを使用する場合に使用します。スケジューリング列のビフォア・イメージを証跡に書き込みます。(スケジューリング列は、主キー、一意索引および外部キー列です。)統合Replicatの構成の詳細は、Oracle DatabaseのためのOracle GoldenGateのインストールおよび構成を参照してください。LOGALLSUPCOLSの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。

    VAM library,
    PARAMS ('param'
    [, 'param'] [, ...])

    Teradataアクセス・モジュールとのインタフェースになるExtractグループにのみ有効です。Oracle GoldenGate APIに渡す必要のあるライブラリの名前およびパラメータを指定します。たとえば、TAM初期化ファイルの名前や、コールバック・ライブラリとして使用するライブラリとのインタフェースになるプログラムなどです。

    例:

    VAM vam.dll, PARAMS ('inifile', 'vamerge1.ini', 'callbacklib', 'extract.exe')

    Teradata VAMおよびTAMの詳細は、TeradataのためのOracle GoldenGateのインストールおよび構成を参照してください。

    SOURCECATALOG

    以降のTABLE文またはSEQUENCE文に対して、Oracleマルチテナント・コンテナ・データベースまたはデフォルトSQL/MXカタログ内のデフォルト・コンテナを指定します。それらのデータベースに対して3つの部分からなる名前が必要とされる場合に、2つの部分からなる名前(schema.object)を使用できるようにします。このパラメータのインスタンスを複数使用すると、TABLEまたはSEQUENCEのパラメータの異なる組合せに対して、異なるデフォルト・コンテナまたはカタログを指定できます。

    SEQUENCE [container.]owner.sequence;

    取得するOracleシーケンスの完全修飾名を指定します。データベースがマルチテナント・コンテナ・データベース(CDB)の場合は、コンテナ名を含めます。

    TABLE [container. | catalog.]owner.object;

    オブジェクトの完全修飾名(複数オブジェクトの場合は完全修飾ワイルドカード表記)を指定します。データベースがOracleマルチテナント・コンテナ・データベースまたはSQL/MXである場合は、SOURCECATALOGが使用されていないかぎり、オブジェクト名にコンテナまたはカタログの名前を含める必要があります。パラメータ・ファイル内のオブジェクト名指定のガイドラインは、「Oracle GoldenGateの入力におけるオブジェクト名の指定」を参照してください。

    CATALOGEXCLUDE

    SCHEMAEXCLUDE

    TABLEEXCLUDE

    EXCLUDEWILDCARDOBJECTSONLY

    関連付けられたTABLE文のワイルドカード表記から特定のオブジェクトを除外するために、互いに組み合せて使用できるパラメータ。詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。


  3. Oracle GoldenGateリファレンスfor Windows and UNIXにリストされているExtractの適切なオプション・パラメータを入力します。
  4. パラメータ・ファイルを保存して閉じます。

14.7 オンラインReplicatグループの作成

Replicatグループを作成する前に、クラシック・モード(Oracle環境では非統合モードとも呼ばれます)、調整モードおよび統合モードのうち、どのReplicatモードが使用環境に適切かを評価する必要があります。

クラシックReplicatモードについて

調整Replicatモードについて

統合Replicatモードについて

14.7.1 クラシックReplicatモードについて

クラシック・モードでは、Replicatは標準SQLを使用してデータをターゲット表に適用する単一スレッド・プロセスです。このモードでは、Replicatは次のように動作します。

  • Oracle GoldenGate証跡を読み取ります。

  • データのフィルタリング、マッピング、および変換を実行します。

  • ソース・データベースのDMLまたはDDLトランザクションを表すSQL文を作成します(コミット順)。

  • 指定のターゲット・データベース(たとえばODBCまたはネイティブのデータベース・インタフェース)に対してサポートされているSQLインタフェースを介して、SQLをターゲットに適用します。

図14-1 クラシックReplicat

図14-1の説明が続きます
「図14-1 クラシックReplicat」の説明

図14-1に示すように、クラシックReplicatを使用してトランザクションをパラレルに適用できますが、複数のReplicatプロセスにわたってワークロードをパーティション化する必要があります。各Replicatに対してパラメータ・ファイルを作成する必要があります。

任意のオブジェクトに対してクラシック・モードを使用すべきか判断するためには、1つのReplicatグループのオブジェクトが他のいずれかのReplicatグループのオブジェクトに対して、トランザクショナルまたはそれ以外の依存関係を持つことがあるかどうかを判断する必要があります。すべてのワークロードが、複数のReplicatグループにパーティション化されても元のトランザクション原子性を維持できるというわけではありません。たとえば、ワークロードが主キーを定期的に更新する表は、この方法で簡単にパーティション化することはできません。このモードでは、DDLレプリケーション(データベースに対してサポートされている場合)も、アクションが特定のレコードに基づいているような一部のSQLEXECまたはEVENTACTIONS機能の使用も、有効ではありません。

表に外部キーへの依存関係や、主キーに対する更新がない場合は、クラシック・モードが適切である可能性があります。クラシック・モードには、調整モードより少ないオーバーヘッドしか必要ありません。

パラレルReplicatグループの使用方法の詳細は、Oracle GoldenGateのパフォーマンスのチューニングを参照してください。

14.7.2 調整Replicatモードについて

調整モードでは、Replicatは次のように動作します。

  • Oracle GoldenGate証跡を読み取ります。

  • データのフィルタリング、マッピング、および変換を実行します。

  • ソース・データベースのDMLまたはDDLトランザクションを表すSQL文を作成します(コミット順)。

  • 指定のターゲット・データベース(たとえばODBCまたはネイティブのデータベース・インタフェース)に対してサポートされているSQLインタフェースを介して、SQLをターゲットに適用します。

クラシック・モードと調整モードの相違点は、調整モードではReplicatがマルチスレッドである点です。単一のReplicatインスタンス内で複数のスレッドが独立に証跡を読み取り、パラレルにトランザクションを適用します。個々のスレッドは割り当てられたワークロードに対するフィルタリング、マッピング、変換、SQL構築およびエラー処理をすべて扱います。coordinatorスレッドは、トランザクションをスレッド間で調整して、スレッド間の依存関係を処理します。

調整Replicatでは、ワークロードのユーザー定義のパーティション化が可能で、大量のトランザクションを同時に適用できます。また、DDLやTHREADRANGEパーティション化を使用した主キー更新などの調整の必要なトランザクションの実行が自動的に調整されます。そのようなトランザクションは、ターゲットでは1つのトランザクションとして完全に同期化されて実行されます。まず、それより前のトランザクションがすべて適用されるのを待機し、このバリア・トランザクションより後のトランザクションはすべて、このバリア・トランザクションが適用されるまで待機します。

1つの調整Replicatに必要なパラメータ・ファイルは、スレッドの数に関係なく1つのみです。MAP文でTHREADまたはTHREADRANGEオプションを使用して、それらのオブジェクトのトランザクションをどのスレッドが処理するかを指定し、Replicatグループを作成するときに、スレッド数の最大値を指定します。

14.7.2.1 バリア・トランザクションについて

バリア・トランザクションは、調整Replicat構成で自動的に管理されます。バリア・トランザクションは、スレッド間での調整を必要とするトランザクションです。たとえば、DDL文、主キーに対する更新を含むトランザクションおよび一部のEVENTACTIONSアクションなどです。

オプションで、MAP文でCOORDINATEDキーワードを使用することで、他のトランザクションを強制的にバリア・トランザクションのように処理できます。この使用例の1つは、SQLEXECを、強制的にシリアル実行に類似した方法で実行する場合です。これは、ターゲットの状態がすべてのトランザクションにわたって整合的でないと結果が一意にならない可能性がある場合に有益です。

14.7.2.2 バリア・トランザクションの処理方式

バリア・トランザクションの開始時点で、すべてのスレッドが収束し、待機します。他のスレッドが開始位置に達するまで、バリア・トランザクションは一時停止されます。いずれかのスレッドがバリア・トランザクションの一部をすでに処理中であった場合、それらのスレッドはロールバックを実行します。グループ化トランザクション(BATCHSQLまたはGROUPTRANSOPSパラメータによって制御されているものなど)も、バリア・トランザクションの開始位置に到達するまでロールバックされ、再適用されます。

バリア・トランザクションの後も、すべてのスレッドが収束し、次のトランザクションの開始を待機します。バリア・トランザクションの前と後の2つの同期ポイントにより、メタデータ操作とEVENTACTIONSアクションがすべて、データ操作に関連する適切な順序で行われることが保証されます。

バリア・トランザクションの開始時点でスレッドが同期すると、バリア・トランザクションは、MAP文で指定されたすべてのスレッドのうちで最も低いスレッドIDを持つスレッドによってシリアルに処理され、複数スレッドにわたるパラレル処理が再開されます。Replicatパラメータ・ファイルでUSEDEDICATEDCOORDINATIONTHREADパラメータを指定することによって、バリア・トランザクションが特定のスレッド(常にスレッド0)を介して処理されるように強制することができます。

14.7.2.3 グローバル水位標について

調整Replicatが正常に停止すると、すべてのスレッドが、グローバル水位標と呼ばれる証跡内の同じトランザクション境界で停止することが保証されます。これは、その位置の前のすべてのレコードがそれぞれのスレッドすべてによりコミットまたは無視される、同期ポイントとして定義されます。正常に停止しない場合は、SYNCHRONIZE REPLICATコマンドを使用すると、すべてのスレッドを、最後のチェックポイントを作成したスレッドの位置に戻すことができます。調整Replicatグループのリカバリの詳細は、異常停止後のスレッドの同期を参照してください。

注意:

調整Replicatは、オンライン・プロセスでしかありません。初期ロードを実行するためには使用しないでください。

14.7.3 統合Replicatモードについて

Replicatは、リリース11.2.0.4以降のOracleデータベースで利用できる統合モードでは、ターゲットOracleデータベース内で利用できる適用処理機能を活用します。このモードでは、Replicatは、証跡を読み取り、ソースのDMLまたはDDLトランザクションを表す論理変更レコードを作成し、それらのレコードをOracleターゲット・データベースのインバウンド・サーバーに送信します。インバウンド・サーバーは、データをターゲット・データベースに適用します。

統合Replicatの使用方法の詳細は、Oracle DatabaseのためのOracle GoldenGateのインストールおよび構成を参照してください。

注意:

統合Replicatは、オンライン・プロセスでしかありません。初期ロードを実行するためには使用しないでください。

14.7.4 パラメータ変更との関係で見たReplicat処理の理解

Replicat構成におけるオブジェクト指定の変更は、すでに適用されたトランザクションではなく、未適用のものにのみ影響が及びます。これは調整Replicatや統合Replicatを使用する場合の重要な考慮事項です。

クラシック・モードのReplicatでは、トランザクションがシリアルに適用されるため、適用済トランザクションと未適用のトランザクションの境界は明瞭です。しかし調整Replicatや統合Replicatでは、トランザクションが非同期でパラレルに適用されるため、証跡内に、適用済トランザクションと未適用のトランザクションを分ける単一のポイントが存在しません。

調整モードや統合モードには、最低水位標(それを下回るトランザクションはすべて適用されます)と、最高水位標(それを上回るトランザクションは適用されません)があります。それらの境界の間に、個々のスレッドの進捗に応じて、適用されている可能性もされていない可能性もあるトランザクションが存在します。その結果、Replicatが強制される場合、Replicatの構成におけるオブジェクト指定の変更が、Replicatの再開後、ターゲット上に不均等に反映される場合があります。これが適用されるパラメータ変更の例は、MAPマッピング、FILTER句およびEXCLUDEのパラメータに対する変更です。

Replicatの構成は、Replicatが異常終了または強制終了された後には変更しないでください。Replicatは、起動の後、最後のチェックポイントにリカバリできるようにしておきます。調整Replicatの場合は、調整Replicat構成の管理の管理手順に従うことができます。リカバリが完了するとSTOP REPLICATコマンドでReplicatを正常に停止できるため、その後でオブジェクト指定を変更できます。

14.7.5 Replicatグループの作成

オンラインReplicatグループを作成するには、ターゲット・システムでGGSCIを実行し、ADD REPLICATコマンドを発行します。コマンド引数はすべてカンマで区切ります。

ADD REPLICAT group, EXTTRAIL path
[, {INTEGRATED | COORDINATED [MAXTHREADS number]}]
[, BEGIN start_point | , EXTSEQNO seqno, EXTRBA rba]
[, CHECKPOINTTABLE owner.table]
[, NODBCHECKPOINT]
[, PARAMS path]
[, REPORT path]

説明:

  • groupは、Replicatグループの名前です。グループ名は必須です。Oracle GoldenGateのネーミング規則の詳細は、「プロセスのネーミング規則」を参照してください。

  • EXTTRAIL pathは、ADD RMTTRAILコマンドで定義した証跡の相対名または完全修飾名です。

  • INTEGRATEDは、このReplicatグループが統合モードで動作することを示しています。このモードは、Oracleデータベースにのみ有効です。統合モードでのReplicatの使用方法の詳細は、Oracle DatabaseのためのOracle GoldenGateのインストールおよび構成を参照してください。

  • COORDINATEDは、このReplicatグループが調整モードで動作することを示しています。MAXTHREADSは、このグループで許容されるスレッドの最大数を指定します。有効な値は1から500です。MAXTHREADSはオプションです。MAXTHREADSがない場合のデフォルトのスレッド数は25です。

    注意:

    各Replicatスレッドは、MAXGROUPSパラメータのコンテキストでは1つのReplicatグループとみなされます。MAXGROUPSでは、Oracle GoldenGateのインスタンスで許容されるプロセス・グループの最大数が制御されます。MAXTHREADSにOracle GoldenGateインスタンス内の他のプロセス・グループの数を加えた値は、MAXGROUPSで設定された値(デフォルトは1000)を超えることはできません。

  • BEGIN start_pointでは、処理のための初期チェックポイントおよび開始ポイントを確定してオンラインReplicatグループを定義します。次のいずれかを使用します。

    • NOWでは、グループを作成するためにADD REPLICATコマンドが実行された時点のタイムスタンプが指定された変更からレプリケートを開始します。

    • YYYY-MM-DD HH:MM[:SS[.CCCCCC]]は、開始ポイントの正確なタイムスタンプを指定する形式です。

  • EXTSEQNO seqno, EXTRBA rbaでは、データの読取りを開始する証跡内のファイルの順序番号と、そのファイル内の相対バイト・アドレスを指定します。このオプションを使用しない場合、処理はデフォルトで証跡の最初から開始されます。順序番号には数値を指定しますが、埋込み用の0(ゼロ)は使用しません。たとえば、証跡ファイルがc:\ggs\dirdat\aa000026の場合は、EXTSEQNO 26と指定します。このオプションを使用する前に、Oracleサポートに連絡してください。

  • CHECKPOINTTABLE owner.tableでは、GLOBALSファイルで指定されたデフォルト以外のチェックポイント表の所有者および名前を指定します。この引数を使用するには、ADD CHECKPOINTTABLEコマンドを使用してデータベースにチェックポイント表を追加する必要があります(「チェックポイント表の作成」を参照)。

  • NODBCHECKPOINTでは、このReplicatグループでチェックポイント表を使用しないことを指定します。

  • PARAMS pathは、このグループのパラメータ・ファイルをOracle GoldenGateディレクトリのdirprmサブディレクトリ以外の場所に格納する場合に必要です。完全修飾名を指定します。デフォルトの場所をお薦めします。

  • REPORT pathは、このグループのプロセス・レポートをOracle GoldenGateディレクトリのdirrptサブディレクトリ以外の場所に格納する場合に必要です。完全修飾名を指定します。デフォルトの場所をお薦めします。

例14-12 オンラインReplicatグループの作成

この例では、financeという名前のオンラインReplicatグループを作成し、c:\ggs\dirdat\rtという証跡を指定します。このパラメータ・ファイルは、代替場所である\ggs\paramsに格納され、レポート・ファイルはデフォルトの場所に格納されます。

ADD REPLICAT finance, EXTTRAIL c:\ggs\dirdat\rt, PARAMS \ggs\params

14.8 オンライン・レプリケーション用のパラメータ・ファイルの作成

次の手順に従って、オンラインReplicatグループのパラメータ・ファイルを作成します。

  1. ターゲット・システムのGGSCIで、次のコマンドを発行します。

    EDIT PARAMS name
    

    説明:

    nameは、ADD REPLICATコマンドで作成したReplicatグループの名前です。または、グループの作成時に代替の場所を定義した場合は、パラメータ・ファイルの完全修飾名です。

  2. 表14-2にリストされている順序でパラメータを入力します。パラメータ文ごとに新規行を開始します。


表14-2 オンライン変更レプリケーションのパラメータ

パラメータ 説明
REPLICAT group
  • groupは、ADD REPLICATコマンドで作成したReplicatグループの名前です。

Replicatは、チェックポイント付きのオンライン・プロセスとして構成します。

{SOURCEDEFS path} |
ASSUMETARGETDEFS
  • SOURCEDEFSは、ソース表とターゲット表に異なる定義が含まれる場合に使用します。DEFGENによって生成されたソースのデータ定義ファイルを指定します。詳細は、メタデータへのレプリケートされたデータの関連付け,を参照してください。

  • ASSUMETARGETDEFSは、ソース表とターゲット表に同じ定義が含まれる場合に使用します。

データ定義の解釈方法を指定します。

マルチバイト・キャラクタ・セットを使用するOracle Databaseでは、ソースのセマンティクス設定がバイトでターゲットの設定が文字の場合、(DEFGENで生成された定義ファイルとともに)SOURCEDEFSを使用する必要があります。これは、ソースとターゲットのデータ定義が同一である場合でも必要です。詳細は、メタデータへのレプリケートされたデータの関連付け,を参照してください。

[DEFERAPPLYINTERVAL n unit]
  • nは、トランザクション適用前の遅延時間を示す数値です。最小値は、EOFDELAYパラメータによって設定されます。最大値は7日です。

  • unitは次のように指定できます。

    S | SEC | SECS | SECOND | SECONDS | MIN | MINS | MINUTE | MINUTES | HOUR | HOURS | DAY | DAYS

オプションです。Replicatがターゲット・システムにトランザクションを適用するまでに待機する時間を指定します。

[TARGETDB dsn | container | catalog]
[, USERIDALIAS alias options |
, USERID user, options]

データベース接続情報を指定します。

TARGETDBには、ターゲットのデータソース名(DSN)またはSQL/MXカタログを指定します。詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。

USERIDUSERIDALIASで、必要に応じてデータベース資格証明を指定します。セキュリティ・オプションの詳細は、Oracle GoldenGateのセキュリティの構成を参照してください。

HANDLECOLLISIONS

コリジョン処理の指定。開始しているオンライン処理と同時に初期ロードを実行しており、ロード中にソース・データベースがアクティブな状態にとどまる場合にのみ使用します。HANDLECOLLISIONSは、進行中のレプリケート済トランザクション変更を使用して、コピーの結果を解決します。このパラメータは、行がすでに存在する場合の挿入操作や、行が存在しない場合の更新操作および削除操作を解決します。パラメータ・ファイル内のすべてのMAP文に対してグローバルに使用することも、MAP文内で使用することも、その両方で使用することもできます。

SOURCECATALOG

以降のMAP文に対して、ソースOracleマルチテナント・コンテナ・データベースまたはソースSQL/MXカタログ内のデフォルト・コンテナを指定します。それらのデータベースに対して3つの部分からなる名前が必要とされる場合に、2つの部分からなる名前(schema.object)を使用できるようにします。このパラメータのインスタンスを複数使用すると、MAPのパラメータの異なる組合せに対して、異なるデフォルト・コンテナまたはカタログを指定できます。

MAP [container. | catalog.]owner.object,
TARGET owner.object[, DEF template]
[THREAD (thread_ID)]
[THREADRANGE (thread_range[, column_list])]
[COORDINATED]
;

単一または複数のソース・オブジェクトと、単一または複数のターゲット・オブジェクトの関係を指定します。MAPにはソース・オブジェクトを指定し、TARGETにはターゲット・オブジェクトを指定します。

ソース・オブジェクトに対して、オブジェクトの完全修飾名(複数オブジェクトの場合は完全修飾ワイルドカード表記)を指定します。Oracleマルチテナント・コンテナ・データベースまたはSQL/MXデータベースの場合、SOURCECATALOGが使用されていないかぎり、ソース・オブジェクト名にコンテナまたはカタログの名前を含める必要があります。

ターゲット・オブジェクトに対しては、データベースのタイプに関係なく、名前のowner.objectコンポーネントだけを指定します。Replicatは1つのOracleコンテナまたはSQL/MXカタログにのみ接続できます。データを適用する各コンテナまたはカタログごとに、別々のReplicatプロセスを使用してください。

パラメータ・ファイル内のオブジェクト名指定のガイドラインは、Oracle GoldenGateの入力におけるオブジェクト名の指定を参照してください。

調整モードでは、THREADTHREADRANGEおよびCOORDINATEDの各オプションがReplicatに対して有効です。それにより、1つ以上の特定のReplicatスレッドにワークロードをパーティション化できるようになります。構文と使用方法の詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。

DEFオプションは、定義テンプレートを指定します。データ定義の詳細は、「メタデータへのレプリケートされたデータの関連付け」を参照してください。MAPパラメータの追加情報とオプションの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。

CATALOGEXCLUDE

SCHEMAEXCLUDE

MAPEXCLUDE

EXCLUDEWILDCARDOBJECTSONLY

関連付けられたMAP文のワイルドカード表記から特定のソース・オブジェクトを除外するために、互いに組み合せて使用できるパラメータ。詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。


  1. Oracle GoldenGateリファレンスfor Windows and UNIXにリストされているReplicatの適切なオプション・パラメータを入力します。
  2. ファイルを保存して閉じます。

注意:

Oracleに対して統合Replicatを使用する場合は、処理開始後のReplicatへの構成変更に関する重要情報を、「パラメータ変更との関係で見たReplicat処理の理解」で確認してください。