

# Trabalhar com os utilitários EXTRACT e REPLICAT do Oracle GoldenGate
<a name="Appendix.OracleGoldenGate.ExtractReplicat"></a>

Os utilitários `EXTRACT` e `REPLICAT` do Oracle GoldenGate trabalham juntos para manter os bancos de dados de origem e destino sincronizados via replicação de transações incrementais usando arquivos de trilha. Todas as alterações que ocorrem no banco de dados de origem são automaticamente detectadas por `EXTRACT`, depois formatadas e transferidas para arquivos de trilha no Oracle GoldenGate on-premises ou no hub de instâncias do Amazon EC2. Após a conclusão da carga inicial, os dados são lidos desses arquivos e replicados para o banco de dados de destino pelo utilitário `REPLICAT`.

## Executar o utilitário EXTRACT do Oracle GoldenGate
<a name="Appendix.OracleGoldenGate.Extract"></a>

O utilitário `EXTRACT` recupera, converte e gera dados do banco de dados de origem para arquivos de trilha. O processo básico é o seguinte:

1. `EXTRACT` coloca os detalhes da transação em fila na memória ou em armazenamento de disco temporário.

1. O banco de dados de origem confirma a transação.

1. `EXTRACT` grava os detalhes da transação em um arquivo de trilha.

1. O arquivo de trilha roteia esses detalhes para o Oracle GoldenGate on-premises ou o hub da instância do Amazon EC2 e depois para o banco de dados de destino.

As etapas a seguir iniciam o utilitário `EXTRACT`, capturam os dados do `EXAMPLE.TABLE` no banco de dados de origem `OGGSOURCE` e criam os arquivos de trilha. 

**Como executar o utilitário EXTRACT**

1. Configure o arquivo de parâmetro `EXTRACT` no hub do Oracle GoldenGate (on-premises ou na instância do Amazon EC2). A listagem a seguir mostra um exemplo do arquivo de parâmetro `EXTRACT` denominado `$GGHOME/dirprm/eabc.prm`.

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

1. No hub do Oracle GoldenGate, faça login no banco de dados de origem e execute a interface de linha de comando do Oracle GoldenGate `ggsci`. O exemplo a seguir mostra o formato para login.

   ```
   dblogin oggadm1@OGGSOURCE
   ```

1. Adicione dados de transação para ativar o registro em log complementar para a tabela de banco de dados.

   ```
   add trandata EXAMPLE.TABLE
   ```

1. Usando a linha de comando `ggsci`, ative o utilitário `EXTRACT` usando os comandos a seguir.

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

1. Registre o utilitário `EXTRACT` no banco de dados para que os logs de arquivamento não sejam excluídos. Essa tarefa permite que você recupere transações antigas, não confirmadas, se necessário. Para registrar o utilitário `EXTRACT` no banco de dados, use o comando a seguir.

   ```
   register EXTRACT EABC, DATABASE
   ```

1. Inicie o utilitário `EXTRACT` com o comando a seguir.

   ```
   start EABC
   ```

## Executar o utilitário REPLICAT do Oracle GoldenGate
<a name="Appendix.OracleGoldenGate.Replicat"></a>

O utilitário `REPLICAT` “envia por push” informações de transação nos arquivos de trilha ao banco de dados de destino.

As etapas a seguir ativam e iniciam o utilitário `REPLICAT` para que ele possa replicar os dados capturados na tabela `EXAMPLE.TABLE` no banco de dados de destino `OGGTARGET`.

**Como executar o utilitário REPLICATE**

1. Configure o arquivo de parâmetro `REPLICAT` no hub do Oracle GoldenGate (on-premises ou na instância do EC2). A listagem a seguir mostra um exemplo do arquivo de parâmetro `REPLICAT` denominado `$GGHOME/dirprm/rabc.prm`.

   ```
   REPLICAT RABC
    
   USERID oggadm1@OGGTARGET, password "my-password"
    
   ASSUMETARGETDEFS
   MAP EXAMPLE.TABLE, TARGET EXAMPLE.TABLE;
   ```
**nota**  
Especifique uma senha diferente do prompt mostrado aqui como prática recomendada de segurança.

1. Faça login no banco de dados de destino e execute a interface de linha de comando do Oracle GoldenGate (`ggsci`). O exemplo a seguir mostra o formato para login.

   ```
   dblogin userid oggadm1@OGGTARGET
   ```

1. Usando a linha de comando `ggsci`, adicione uma tabela de verificação. O usuário indicado deve ser a conta de usuário do Oracle GoldenGate, e não o proprietário do esquema da tabela de destino. O exemplo a seguir cria um ponto de verificação denominado `gg_checkpoint`.

   ```
   add checkpointtable oggadm1.oggchkpt
   ```

1. Para habilitar o utilitário `REPLICAT`, use o seguinte comando:

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

1. Inicie o utilitário `REPLICAT` usando o comando a seguir.

   ```
   start RABC
   ```