

# 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` 유틸리티는 트레일 파일의 트랜잭션 정보를 대상 데이터베이스로 "푸시"합니다.

다음 단계는 캡처된 데이터를 대상 데이터베이스 `OGGTARGET`의 `EXAMPLE.TABLE` 테이블에 복제할 수 있도록 `REPLICAT` 유틸리티를 활성화하고 시작합니다.

**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
   ```