메뉴
Amazon Relational Database Service
사용 설명서 (API Version 2014-10-31)

Amazon RDS와 함께 Oracle GoldenGate 사용하기

Oracle GoldenGate는 데이터베이스 간에 트랜잭션 데이터를 수집, 복제 및 관리하는 데 사용됩니다. 온라인 트랜잭션 처리(OLTP) 시스템에 Oracle 데이터베이스와 함께 사용되는 로그 기반 변경 데이터 캡처(CDC) 및 복제 소프트웨어 패키지입니다. GoldenGate는 원본 데이터베이스에서 가장 최근에 변경된 데이터를 포함하는 추적 파일을 생성한 후 이 파일을 대상 데이터베이스로 푸시합니다. 활성/활성 데이터베이스 복제, 제로 중단 시간 마이그레이션 및 업그레이드, 재해 복구, 데이터 보호, 리전 내/리전 간 복제를 위해 Amazon RDS에서 Oracle GoldenGate를 사용할 수 있습니다.

다음은 Amazon RDS에서 Oracle GoldenGate로 작업할 때 알아 두어야 할 중요한 사항입니다.

  • Amazon RDS에서의 GoldenGate 설치 및 관리 작업은 사용자가 수행해야 합니다.

  • Amazon RDS는 모든 AWS 리전의 기존 보유 라이선스 사용 모델에서 Oracle GoldenGate를 지원합니다. 자세한 내용은 Oracle 라이선싱을(를) 참조하십시오.

  • Amazon RDS는 Oracle Database Standard Edition Two(SE2), Standard Edition One(SE1), Standard Edition(SE), Enterprise Edition(EE)에서 Oracle GoldenGate를 지원합니다.

  • Amazon RDS는 Oracle GoldenGate 데이터베이스 버전 11.2.0.4, 12.1.0.1 또는 12.1.0.2를 지원합니다.

  • Amazon RDS는 Oracle GoldenGate 버전 11.2.1 및 12.1.x를 지원합니다.

  • Amazon RDS는 Oracle GoldenGate를 사용하여 Oracle 데이터베이스 간 마이그레이션 및 복제를 지원합니다. Amazon에서는 이기종 데이터베이스 간의 마이그레이션이나 복제를 지원하거나 억제하지 않습니다.

  • Oracle Transparent Data Encryption(TDE)을 사용하는 Amazon RDS Oracle DB 인스턴스에서 GoldenGate를 사용할 수 있습니다. 기본적으로 트레일 데이터에 암호화되지 않은 데이터가 저장되므로 sqlnet.ora 암호화를 사용하여 원본 인스턴스, GoldenGate 허브 및 대상 인스턴스 간의 파이프라인을 암호화해야 합니다. sqlnet.ora 암호화에 대한 자세한 내용은 Oracle 설명서을(를) 참조하십시오.

  • Oracle GoldenGate DDL은 현재 지원되지 않습니다.

개요

Amazon RDS용 Oracle GoldenGate 아키텍처는 세 가지 개별 모듈로 구성됩니다. 원본 데이터베이스는 온프레미스 Oracle 데이터베이스, EC2 인스턴스의 Oracle 데이터베이스 또는 Amazon RDS DB 인스턴스의 Oracle 데이터베이스입니다. 이어서, 원본 데이터베이스에서 대상 데이터베이스로 트랜잭션 정보를 이동하는 GoldenGate 허브는 Oracle Database 11.2.0.4, GoldenGate 11.2.1 또는 온프레미스 Oracle 제품이 설치된 EC2 인스턴스입니다. 두 개 이상의 EC2 허브가 있을 수 있으며, 리전 간 복제 시 GoldenGate를 사용하는 경우 허브를 두 개 사용하는 것이 좋습니다. 마지막으로, 대상 데이터베이스는 Amazon RDS DB 인스턴스, EC2 인스턴스 또는 온프레미스 위치에 있습니다.

Amazon RDS용 Oracle GoldenGate는 다음 일반 시나리오를 지원합니다.

시나리오 1: 대상 Amazon RDS DB 인스턴스에 데이터를 제공하는 온프레미스 Oracle 원본 데이터베이스 및 온프레미스 Oracle GoldenGate 허브.

 Amazon RDS를 사용하는 GoldenGate 구성 0

시나리오 2: 대상 Amazon RDS DB 인스턴스에 데이터를 제공하는 Amazon EC2 인스턴스 허브에 연결된 원본 데이터베이스 역할을 하는 온프레미스 Oracle 데이터베이스.

 Amazon RDS를 사용하는 GoldenGate 구성 1

시나리오 3: 대상 Amazon RDS DB 인스턴스에 데이터를 제공하는 Amazon EC2 인스턴스 허브에 연결된 원본 데이터베이스 역할을 하는 Amazon RDS DB 인스턴스의 Oracle 데이터베이스.

 Amazon RDS를 사용하는 GoldenGate 구성 2

시나리오 4: 대상 Amazon RDS DB 인스턴스에 데이터를 제공하는 Amazon EC2 인스턴스 허브에 연결된 원본 데이터베이스 역할을 하는 Amazon EC2 인스턴스의 Oracle 데이터베이스.

 Amazon RDS를 사용하는 GoldenGate 구성 3

시나리오 5: 두 번째 EC2 인스턴스 허브와 같은 리전의 대상 Amazon RDS DB 인스턴스에 데이터를 제공하는 같은 리전의 Amazon EC2 인스턴스 허브에 연결되거나 다른 리전의 Amazon EC2 인스턴스 허브에 연결된 Amazon RDS DB 인스턴스의 Oracle 데이터베이스

 Amazon RDS를 사용하는 GoldenGate 구성 4

참고

온프레미스 환경의 Oracle GoldenGate 실행에 영향을 미치는 문제가 AWS에서 GoldenGate를 실행하는 데도 영향을 미칩니다. GoldenGate 허브를 모니터링하여 장애 조치가 발생하는 경우 EXTRACTREPLICAT가 재개되는지 확인하는 것이 좋습니다. GoldenGate 허브가 Amazon EC2 인스턴스에서 실행되어 Amazon RDS에서 GoldenGate 허브를 관리하지 않으므로 이 허브가 실행 중인지 확인할 수 없습니다.

Amazon RDS에서 GoldenGate를 사용하여 Oracle의 메이저 버전으로 업그레이드할 수 있습니다. 예를 들어, Amazon RDS에서 GoldenGate를 사용하여 Oracle 버전 8 온프레미스 데이터베이스를 Amazon RDS DB 인스턴스에서 버전 11.2.0.4를 실행하는 Oracle 데이터베이스로 업그레이드할 수 있습니다.

Amazon RDS을 사용하는 Oracle GoldenGate를 설치하려면 EC2 인스턴스에서 허브를 구성한 후 원본 및 대상 데이터베이스를 구성합니다. 다음 단계에서는 Amazon RDS용으로 GoldenGate를 설치하는 방법을 보여 줍니다. 각 단계는 다음 섹션에서 자세히 설명합니다.

EC2에 Oracle GoldenGate 허브 설치

Amazon EC2 인스턴스에서 Oracle GoldenGate 허브를 생성하는 몇 가지 단계가 있습니다. 먼저, Oracle DBMS 11g 버전 11.2.0.4 전체가 설치된 EC2 인스턴스를 생성합니다. 이 EC2 인스턴스에는 Oracle GoldenGate 11.2.1 소프트웨어와 Oracle 패치 13328193도 설치해야 합니다. GoldenGate 설치에 대한 자세한 내용은 Oracle 설명서을(를) 참조하십시오.

GoldenGate 허브 역할을 하는 EC2 인스턴스가 원본 데이터베이스의 트랜잭션 정보를 트레일 파일에 저장하고 처리하므로 트레일 파일을 저장할 수 있는 충분한 스토리지를 할당해야 합니다. 또한 EC2에는 처리되는 데이터의 양을 관리할 수 있는 충분한 처리 용량과 트레일 파일에 기록되기 전 트랜잭션 정보를 저장할 수 있는 충분한 메모리도 할당해야 합니다.

다음 작업에서는 Amazon EC2 인스턴스에 GoldenGate 허브를 설치합니다. 각 작업은 이 단원에서 자세히 설명합니다. 작업은 다음과 같습니다.

  • tnsname.ora 파일에 별칭 추가

  • GoldenGate 하위 디렉터리 생성

  • GLOBALS 파라미터 파일 업데이트

  • mgr.prm 파일 구성 및 관리자 시작

다음 항목을 tnsname.ora 파일에 추가하여 별칭을 생성합니다. tnsname.ora 파일에 대한 자세한 내용은 Oracle 설명서을(를) 참조하십시오.

Copy
$ cat /example/config/tnsnames.ora TEST= (DESCRIPTION=  (ENABLE=BROKEN) (ADDRESS_LIST=    (ADDRESS=(PROTOCOL=TCP)(HOST=goldengate-test.abcdef12345.us-west-2.rds.amazonaws.com)(PORT=8200)) ) (CONNECT_DATA=    (SID=ORCL) ) )

다음으로 EC2 명령줄 셸과 ggsci(GoldenGate 명령 인터프리터)를 사용하여 GoldenGate 디렉터리에서 하위 디렉터리를 생성합니다. gg 디렉터리 아래에 하위 디렉터리가 생성되며 이러한 하위 디렉터리에는 파라미터, 보고서 및 체크포인트 파일에 대한 디렉터리가 포함됩니다.

Copy
prompt$ cd /gg prompt$ ./ggsci GGSCI> CREATE SUBDIRS

EC2 명령줄 셸을 사용하여 GLOBALS 파라미터 파일을 생성합니다. 모든 GoldenGate 프로세스에 영향을 주는 파라미터는 GLOBALS 파라미터 파일에 정의되어 있습니다. 다음 예에서는 필요한 파일을 생성합니다.

Copy
prompt$ cd $GGHOME prompt$ vi GLOBALS CheckpointTable oggadm1.oggchkpt

GoldenGate 허브 설치 및 구성의 마지막 단계는 관리자를 구성하는 것입니다. 다음 줄을 mgr.prm 파일에 추가하고 ggsci를 사용하여 관리자를 시작합니다.

Copy
PORT 8199 PurgeOldExtracts ./dirdat/*, UseCheckpoints, MINKEEPDAYS 5
Copy
GGSCI> start mgr

이러한 단계를 완료했으면 GoldenGate 허브를 사용할 수 있습니다. 다음으로 원본 및 대상 데이터베이스를 설치합니다.

Amazon RDS에서 GoldenGate와 함께 사용할 원본 데이터베이스 설치

원본 데이터베이스에서 버전 11.2.0.4 이상을 실행 중인 경우 GoldenGate에 사용할 원본 데이터베이스를 설치하기 위해 수행할 작업에는 세 가지가 있습니다.

  • compatible 파라미터를 11.2.0.4 이상으로 설정합니다.

  • ENABLE_GOLDENGATE_REPLICATION 파라미터를 True로 설정합니다. 이 파라미터는 원본 데이터베이스에 대한 보충 로깅을 사용하도록 설정합니다. 원본 데이터베이스가 Amazon RDS DB 인스턴스에 있는 경우 파라미터 그룹을 DB 인스턴스에 배정하고 ENABLE_GOLDENGATE_REPLICATION 파라미터를 true로 설정해야 합니다. ENABLE_GOLDENGATE_REPLICATION 파라미터에 대한 자세한 내용은 Oracle 설명서을(를) 참조하십시오.

  • GoldenGate 원본 데이터베이스에 대한 보관된 다시 실행 로그의 보존 기간을 설정합니다.

  • 원본 데이터베이스에서 GoldenGate 사용자 계정을 생성합니다.

  • GoldenGate 사용자에게 필요한 권한을 부여합니다.

원본 데이터베이스에서 compatible 파라미터를 11.2.0.4 이상으로 설정해야 합니다. Amazon RDS DB 인스턴스의 Oracle 데이터베이스를 원본 데이터베이스로 사용하려는 경우 compatible 파라미터가 11.2.0.4 이상으로 설정된 파라미터 그룹을 DB 인스턴스와 연결해야 합니다. DB 인스턴스와 연결된 파라미터 그룹에서 compatible 파라미터를 변경하는 경우 변경 내용이 적용되려면 인스턴스를 재부팅해야 합니다. 다음과 같은 Amazon RDS CLI 명령을 사용하여 새 파라미터 그룹을 생성하고 compatible 파라미터를 설정할 수 있습니다. 원본 DB 인스턴스와 새 파라미터 그룹을 연결해야 합니다.

Linux, OS X, Unix의 경우:

Copy
aws rds create-db-parameter-group \ --db-parameter-group-name example-goldengate \ --description "Parameters to allow GoldenGate" \ --db-parameter-group-family oracle-ee-11.2 aws rds modify-db-parameter-group \ --db-parameter-group-name example-goldengate \ --parameters "name=compatible, value=11.2.0.4, method=pending-reboot" aws rds modify-db-instance \ --db-instance-identifier example-test \ --db-parameter-group-name example-goldengate \ --apply-immediately aws rds reboot-db-instance \ --db-instance-identifier example-test

Windows의 경우:

Copy
aws rds create-db-parameter-group ^ --db-parameter-group-name example-goldengate ^ --description "Parameters to allow GoldenGate" ^ --db-parameter-group-family oracle-ee-11.2 aws rds modify-db-parameter-group ^ --db-parameter-group-name example-goldengate ^ --parameters "name=compatible, value=11.2.0.4, method=pending-reboot" aws rds modify-db-instance ^ --db-instance-identifier example-test ^ --db-parameter-group-name example-goldengate ^ --apply-immediately aws rds reboot-db-instance ^ --db-instance-identifier example-test

항상 파라미터 그룹을 compatible 파라미터와 함께 유지하십시오. DB 스냅샷에서 인스턴스를 복원하는 경우 compatible 파라미터 값 이상의 지정된 파라미터 그룹을 사용하도록 복원된 인스턴스를 수정해야 합니다. 이 작업은 복원 작업 후 가능한 빨리 수행해야 하며 인스턴스를 재부팅해야 합니다.

ENABLE_GOLDENGATE_REPLICATION 파라미터를 True로 설정하는 경우 원본 데이터베이스에 대한 보충 로깅이 사용되며 필요한 GoldenGate 권한이 구성됩니다. 원본 데이터베이스가 Amazon RDS DB 인스턴스에 있는 경우 파라미터 그룹을 DB 인스턴스에 배정하고 ENABLE_GOLDENGATE_REPLICATION 파라미터를 true로 설정해야 합니다. ENABLE_GOLDENGATE_REPLICATION 파라미터에 대한 자세한 내용은 Oracle 설명서을(를) 참조하십시오.

또한 원본 데이터베이스에서 보관된 다시 실행 로그가 유지되어야 합니다. 예를 들어, 다음 명령은 보관된 다시 실행 로그의 보존 기간을 24시간으로 설정합니다.

Copy
exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',24);

로그 보존 기간은 시간 단위로 지정됩니다. Oracle GoldenGate가 필요에 따라 원본 인스턴스에서 로그를 복구할 수 있도록, 이 기간은 원본 인스턴스에 대한 잠재적 중단 시간이나 잠재적 통신/네트워킹 문제가 발생할 가능성이 있는 기간보다 길어야 합니다. 로그 보존 기간으로 필요한 절대 최소값은 1시간입니다.

  로그 보존 설정이 너무 작으면 다음 메시지가 발생합니다.

Copy
ERROR OGG-02028 Failed to attach to logmining server OGG$<extract_name> error 26927 - ORA-26927: altering an outbound server with a remote capture is not allowed.

이러한 로그는 DB 인스턴스에 보존되기 때문에, 로그 파일을 수용하기 위해 인스턴스에서 충분한 스토리지를 사용할 수 있는지 확인해야 합니다. 지난 "X"시간 동안 사용한 공간의 양을 확인하려면 다음 쿼리를 사용하고 "X"는 시간으로 바꾸십시오.

Copy
select sum(blocks * block_size) bytes from v$archived_log where next_time>=sysdate-X/24 and dest_id=1;

GoldenGate는 데이터베이스 사용자로 실행되며 원본 데이터베이스에 대한 다시 실행 및 보관 로그에 액세스하려면 GoldenGate에 적절한 데이터베이스 권한이 있어야 하므로, 원본 데이터베이스에서 GoldenGate 사용자 계정을 생성해야 합니다. GoldenGate 사용자 계정 권한에 대한 자세한 내용은 Oracle 설명서의 섹션 4, 섹션 4.4 및 표 4.1을(를) 참조하십시오.

다음 문은 oggadm1이라는 사용자 계정을 생성합니다.

Copy
CREATE tablespace administrator; CREATE USER oggadm1  IDENTIFIED BY "XXXXXX"   default tablespace ADMINISTRATOR temporary tablespace TEMP;

마지막으로 필요한 권한을 GoldenGate 사용자 계정에 부여합니다. 다음 문은 oggadm1이라는 사용자에게 권한을 부여합니다.

Copy
grant create session, alter session to oggadm1; grant resource to oggadm1; grant select any dictionary to oggadm1; grant flashback any table to oggadm1; grant select any table to oggadm1; grant select_catalog_role to <RDS instance master username> with admin option; exec RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT ('DBA_CLUSTERS', 'OGGADM1'); grant execute on dbms_flashback to oggadm1; grant select on SYS.v_$database to oggadm1; grant alter any table to oggadm1; EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE (grantee=>'OGGADM1', privilege_type=>'capture', grant_select_privileges=>true, do_grants=>TRUE);

Amazon RDS에서 GoldenGate와 함께 사용할 대상 데이터베이스 설치

다음 작업은 GoldenGate를 사용할 대상 DB 인스턴스를 설정합니다.

  • compatible 파라미터를 11.2.0.4 이상으로 설정합니다.

  • ENABLE_GOLDENGATE_REPLICATION 파라미터를 True로 설정합니다. 대상 데이터베이스가 Amazon RDS DB 인스턴스에 있을 경우 ENABLE_GOLDENGATE_REPLICATION 파라미터가 true로 설정된 DB 인스턴스에 지정된 파라미터 그룹이 있어야 합니다. ENABLE_GOLDENGATE_REPLICATION 파라미터에 대한 자세한 내용은 Oracle 설명서을(를) 참조하십시오.

  • 대상 데이터베이스에서 GoldenGate 사용자 계정 생성 및 관리

  • GoldenGate 사용자에게 필요한 권한 부여

GoldenGate는 데이터베이스 사용자로 실행되며 적절한 데이터베이스 권한이 부여되어야 하므로, 대상 데이터베이스에서 GoldenGate 사용자 계정을 생성해야 합니다. 다음 문은 oggadm1이라는 사용자를 생성합니다.

Copy
create tablespace administrator; create tablespace administrator_idx; CREATE USER oggadm1  IDENTIFIED BY "XXXXXX" default tablespace ADMINISTRATOR temporary tablespace TEMP; alter user oggadm1 quota unlimited on ADMINISTRATOR; alter user oggadm1 quota unlimited on ADMINISTRATOR_IDX;

마지막으로 필요한 권한을 GoldenGate 사용자 계정에 부여합니다. 다음 문은 oggadm1이라는 사용자에게 권한을 부여합니다.

Copy
grant create session        to oggadm1; grant alter session         to oggadm1; grant CREATE CLUSTER        to oggadm1; grant CREATE INDEXTYPE      to oggadm1; grant CREATE OPERATOR       to oggadm1; grant CREATE PROCEDURE      to oggadm1; grant CREATE SEQUENCE       to oggadm1; grant CREATE TABLE          to oggadm1; grant CREATE TRIGGER        to oggadm1; grant CREATE TYPE           to oggadm1; grant select any dictionary to oggadm1; grant create any table      to oggadm1; grant alter any table       to oggadm1; grant lock any table        to oggadm1; grant select any table      to oggadm1; grant insert any table      to oggadm1; grant update any table      to oggadm1; grant delete any table      to oggadm1; EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE (grantee=>'OGGADM1',privilege_type=>'apply', grant_select_privileges=>true, do_grants=>TRUE);

Oracle GoldenGate EXTRACTREPLICAT 유틸리티 작업

Oracle GoldenGate 유틸리티인 EXTRACTREPLICAT는 함께 작동하여 트레일 파일을 사용한 증분형 트랜잭션 복제를 통해 원본 및 대상 데이터베이스의 동기 상태를 유지합니다. 원본 데이터베이스에 대해 발생하는 모든 변경 내용은 EXTRACT에 의해 자동으로 감지되고 서식이 지정되어 GoldenGate 온프레미스 또는 EC2 인스턴스 허브의 트레일 파일로 전송됩니다. 초기 로드가 완료된 후에는 REPLICAT 유틸리티에서 이러한 파일의 데이터를 읽어 대상 데이터베이스로 복제합니다.

Oracle GoldenGate의 EXTRACT 유틸리티 실행

EXTRACT 유틸리티는 원본 데이터베이스에서 데이터를 검색 및 변환하고 트레일 파일로 출력합니다. EXTRACT는 트랜잭션 세부 정보를 메모리나 임시 디스크 스토리지의 대기열에 저장합니다. 트랜잭션이 원본 데이터베이스로 커밋되는 경우, EXTRACT는 라우팅을 위해 모든 트랜잭션 세부 정보를 GoldenGate 온프레미스 또는 EC2 인스턴스 허브로 플러시하고 대상 데이터베이스로 플러시합니다.

다음 작업에서는 EXTRACT 유틸리티를 활성화하고 시작합니다.

  • GoldenGate 허브(온프레미스 또는 EC2 인스턴스)에서 EXTRACT 파라미터 파일을 구성합니다. 다음 목록은 예제 EXTRACT 파라미터 파일을 보여 줍니다.

    Copy
    EXTRACT EABC SETENV (ORACLE_SID=ORCL) SETENV (NLSLANG=AL32UTF8)   USERID oggadm1@TEST, PASSWORD XXXXXX EXTTRAIL /path/to/goldengate/dirdat/ab   IGNOREREPLICATES GETAPPLOPS TRANLOGOPTIONS EXCLUDEUSER OGGADM1   TABLE EXAMPLE.TABLE;
  • GoldenGate 허브에서 GoldenGate 명령줄 인터페이스(ggsci)를 시작합니다. 원본 데이터베이스에 로그인합니다. 다음 예에서는 로그인 형식을 보여 줍니다.

    Copy
    dblogin userid <user>@<db tnsname>
  • 데이터베이스의 체크포인트 테이블을 추가합니다.

    Copy
    add checkpointtable
  • 데이터베이스 테이블에 대한 보충 로깅을 사용하기 위해 트랜잭션 데이터를 추가합니다.

    Copy
    add trandata <user>.<table>

    또는 데이터베이스의 모든 테이블에 대해 보충 로깅을 사용하기 위해 트랜잭션 데이터를 추가할 수도 있습니다.

    Copy
    add trandata <user>.*
  • ggsci 명령줄에서 다음 명령을 사용하여 EXTRACT 유틸리티를 활성화합니다.

    Copy
    add extract <extract name> tranlog, INTEGRATED tranlog, begin now add exttrail <path-to-trail-from-the param-file> extract <extractname-from-paramfile>, MEGABYTES Xm
  • EXTRACT 유틸리티를 데이터베이스에 등록하여 보관 로그가 삭제되지 않도록 합니다. 이렇게 하면 필요할 경우 이전의 커밋되지 않은 트랜잭션을 복구할 수 있습니다. EXTRACT 유틸리티를 데이터베이스에 등록하려면 다음 명령을 사용합니다.

    Copy
    register EXTRACT <extract process name>, DATABASE
  • EXTRACT 유틸리티를 시작하려면 다음 명령을 사용합니다.

    Copy
    start <extract process name>

Oracle GoldenGate의 REPLICAT 유틸리티 실행

REPLICAT 유틸리티는 트레일 파일의 트랜잭션 정보를 대상 데이터베이스로 "푸시"하는 데 사용됩니다.

다음 작업에서는 REPLICAT 유틸리티를 활성화하고 시작합니다.

  • GoldenGate 허브(온프레미스 또는 EC2 인스턴스)에서 REPLICAT 파라미터 파일을 구성합니다. 다음 목록은 예제 REPLICAT 파라미터 파일을 보여 줍니다.

    Copy
    REPLICAT RABC SETENV (ORACLE_SID=ORCL) SETENV (NLSLANG=AL32UTF8)   USERID oggadm1@TARGET, password XXXXXX   ASSUMETARGETDEFS MAP EXAMPLE.TABLE, TARGET EXAMPLE.TABLE;
  • GoldenGate 명령줄 인터페이스(ggsci)를 시작합니다. 대상 데이터베이스에 로그인합니다. 다음 예에서는 로그인 형식을 보여 줍니다.

    Copy
    dblogin userid <user>@<db tnsname>
  • ggsci 명령줄을 사용하여 체크포인트 테이블을 추가합니다. 표시된 사용자는 대상 테이블 스키마 소유자가 아니라 GoldenGate 사용자 계정이어야 합니다. 다음 예에서는 gg_checkpoint라는 체크포인트 테이블을 생성합니다.

    Copy
    add checkpointtable <user>.gg_checkpoint 
  • REPLICAT 유틸리티를 활성화하려면 다음 명령을 사용합니다.

    Copy
    add replicat <replicat name> EXTTRAIL <extract trail file> CHECKPOINTTABLE <user>.gg_checkpoint 
  • REPLICAT 유틸리티를 시작하려면 다음 명령을 사용합니다.

    Copy
    start <replicat name>

Amazon RDS에 Oracle GoldenGate 사용 시 문제 해결

이 단원에서는 Amazon RDS에 GoldenGate를 사용할 때 가장 일반적으로 발생하는 문제를 설명합니다.

로그 보존

로그 보존 기능을 활성화해야 합니다. 로그 보존 기능을 활성화하지 않거나 보존 값이 너무 작은 경우에는 다음 메시지가 나타납니다.

Copy
2014-03-06 06:17:27 ERROR OGG-00446 error 2 (No such file or directory) opening redo log /rdsdbdata/db/GGTEST3_A/onlinelog/o1_mf_2_9k4bp1n6_.log for sequence 1306Not able to establish initial position for begin time 2014-03-06 06:16:55.

GoldenGate는 제대로 구성된 것으로 보이나 복제가 작동하지 않음

기존 테이블의 경우 GoldenGate가 작업을 수행할 SCN을 GoldenGate에 알려 주어야 합니다. 이 문제를 해결하려면 다음과 같이 하십시오.

  • GoldenGate 명령줄 인터페이스(ggsci)를 시작합니다. 원본 데이터베이스에 로그인합니다. 다음 예에서는 로그인 형식을 보여 줍니다.

    Copy
    dblogin userid <user>@<db tnsname>
  • ggsci 명령줄을 사용하여 EXTRACT 프로세스에 대한 시작 SCN을 설정합니다. 다음 예는 추출을 위한 SCN을 223274로 설정합니다.

    Copy
    ALTER EXTRACT <extract process name> SCN 223274 start <extract process name>
  • 대상 데이터베이스에 로그인합니다. 다음 예에서는 로그인 형식을 보여 줍니다.

    Copy
    dblogin userid <user>@<db tnsname>
  • ggsci 명령줄을 사용하여 REPLICAT 프로세스에 대한 시작 SCN을 설정합니다. 다음 예제에서는 REPLICAT을 위한 SCN을 223274로 설정합니다.

    Copy
    start <replicat process name> atcsn 223274