

# Oracle GoldenGate の EXTRACT ユーティリティと REPLICAT ユーティリティを使用する
<a name="Appendix.OracleGoldenGate.ExtractReplicat"></a>

Oracle GoldenGate のユーティリティである `EXTRACT` と `REPLICAT` は連携して動作し、トレイルファイルを使った増分トランザクションのレプリケーションを利用して、出典データベースとターゲットデータベースの同期を維持します。ソースデータベースで行われたすべての変更は `EXTRACT` によって自動的に検出され、その後整形されて、オンプレミスの Oracle GoldenGate または Amazon EC2 インスタンスハブ上のトレイルファイルに転送されます。トレイルファイルの初回の読み取りが完了すると、`REPLICAT` ユーティリティによってデータがこれらのファイルから読み取られ、ターゲットデータベースにレプリケートされます。

## Oracle GoldenGate の EXTRACT ユーティリティの実行
<a name="Appendix.OracleGoldenGate.Extract"></a>

`EXTRACT` ユーティリティは、ソースデータベースのデータを取得し、変換して、トレイルファイルに出力します。基本的なプロセスは、次のとおりです。

1. `EXTRACT` は、トランザクションの詳細をメモリまたは一時ディスクストレージ上のキューに入れます。

1. ソースデータベースがトランザクションをコミットします。

1. `EXTRACT` は、トランザクションの詳細をトレイルファイルに書き込みます。

1. トレイルファイルは、これらの詳細を Oracle GoldenGate オンプレミスまたは Amazon EC2 インスタンスハブにルーティングしてから、ターゲットデータベースにルーティングします。

次の手順では、`EXTRACT` ユーティリティを起動し、ソースデータベース `OGGSOURCE` で `EXAMPLE.TABLE` からデータをキャプチャして、トレイルファイルを作成します。

**EXTRACT ユーティリティを実行するには**

1. Oracle GoldenGate ハブ (オンプレミスまたは Amazon EC2 インスタンス) にある `EXTRACT` パラメータファイルを設定します。`$GGHOME/dirprm/eabc.prm` という名前のサンプルの `EXTRACT` パラメータファイルを次に示します。

   ```
   EXTRACT EABC
    
   USERID oggadm1@OGGSOURCE, PASSWORD "my-password"
   EXTTRAIL /path/to/goldengate/dirdat/ab 
    
   IGNOREREPLICATES
   GETAPPLOPS
   TRANLOGOPTIONS EXCLUDEUSER OGGADM1
   	 
   TABLE EXAMPLE.TABLE;
   ```

1. Oracle GoldenGate ハブで、ソースデータベースにログインし、Oracle GoldenGate コマンドラインインターフェイス `ggsci` を起動します。次の例は、ログインの形式を示しています。

   ```
   dblogin oggadm1@OGGSOURCE
   ```

1. トランザクションデータを追加して、データベーステーブルの補足的なログ記録を有効にします。

   ```
   add trandata EXAMPLE.TABLE
   ```

1. `ggsci` コマンドラインを使用する場合、次のコマンドを使用して、`EXTRACT` ユーティリティを有効にします。

   ```
   add extract EABC tranlog, INTEGRATED tranlog, begin now
   add exttrail /path/to/goldengate/dirdat/ab 
      extract EABC, 
      MEGABYTES 100
   ```

1. アーカイブログが削除されないように、データベースに `EXTRACT` ユーティリティを登録します。このタスクにより、以前のコミットされていないトランザクションを必要に応じて復旧できます。データベースに `EXTRACT` ユーティリティを登録するには、次のコマンドを使用します。

   ```
   register EXTRACT EABC, DATABASE
   ```

1. 次のコマンドを使用して `EXTRACT` ユーティリティを起動します。

   ```
   start EABC
   ```

## Oracle GoldenGate の REPLICAT ユーティリティの実行
<a name="Appendix.OracleGoldenGate.Replicat"></a>

`REPLICAT` ユーティリティは、トレイルファイルのトランザクション情報をターゲットデータベースに「プッシュ」します。

次のステップでは、`REPLICAT` ユーティリティを有効にして起動し、キャプチャしたデータをターゲットデータベース `OGGTARGET` のテーブル `EXAMPLE.TABLE` にレプリケートできるようにします。

**REPLICATE ユーティリティを実行するには**

1. Oracle GoldenGate ハブ (オンプレミスまたは EC2 インスタンス) にある `REPLICAT` パラメータファイルを設定します。`$GGHOME/dirprm/rabc.prm` という名前のサンプルの `REPLICAT` パラメータファイルを次に示します。

   ```
   REPLICAT RABC
    
   USERID oggadm1@OGGTARGET, password "my-password"
    
   ASSUMETARGETDEFS
   MAP EXAMPLE.TABLE, TARGET EXAMPLE.TABLE;
   ```
**注記**  
セキュリティ上のベストプラクティスとして、ここに示されているプロンプト以外のパスワードを指定してください。

1. ターゲットデータベースにログインし、Oracle GoldenGate コマンドラインインターフェイス (`ggsci`) を起動します。次の例は、ログインの形式を示しています。

   ```
   dblogin userid oggadm1@OGGTARGET
   ```

1. `ggsci` コマンドラインを使用して、チェックポイントテーブルを追加します。ここで指定するユーザーは、ターゲットテーブルスキーマの所有者ではなく、Oracle GoldenGate のユーザーアカウントであることが必要です。次の例では、`gg_checkpoint` という名前のチェックポイントテーブルを作成します。

   ```
   add checkpointtable oggadm1.oggchkpt
   ```

1. `REPLICAT` ユーティリティを有効にするには、次のコマンドを使用します。

   ```
   add replicat RABC EXTTRAIL /path/to/goldengate/dirdat/ab CHECKPOINTTABLE oggadm1.oggchkpt 
   ```

1. 次のコマンドを使用して、`REPLICAT` ユーティリティを起動します。

   ```
   start RABC
   ```