Oracle용 Amazon RDS에서 Oracle Object Storage로 데이터 복제

Oracle Cloud Infrastructure GoldenGate를 사용하여 Oracle용 Amazon RDS에서 Oracle Object Storage로 데이터를 복제하는 방법을 알아봅니다.

시작하기 전에

이 빠른 시작을 성공적으로 완료하려면 다음이 있어야 합니다.

환경 설정: Oracle용 Amazon RDS

Oracle 인스턴스용 Amazon RDS를 프로비전한 후 다음 단계에 따라 Oracle GoldenGate와 함께 사용할 소스 데이터베이스를 설정합니다.

  1. 소스 데이터베이스에서 보완 로깅을 설정합니다.

  2. ENABLE_GOLDENGATE_REPLICATION 초기화 매개변수를 true로 설정합니다.

  3. Source Database의 아카이브를 활성화하고 아카이브된 리두 로그를 보존합니다.

  4. 소스 데이터베이스에서 Oracle GoldenGate 사용자 계정을 생성합니다.

  5. 소스 데이터베이스에 대한 사용자 계정 권한을 부여합니다.

    GRANT CREATE SESSION, ALTER SESSION TO GGADMIN;
    GRANT RESOURCE TO GGADMIN;
    GRANT SELECT ANY DICTIONARY TO GGADMIN;
    GRANT FLASHBACK ANY TABLE TO GGADMIN;
    GRANT SELECT ANY TABLE TO GGADMIN;
    GRANT EXECUTE ON DBMS_FLASHBACK TO GGADMIN;
    GRANT SELECT ON SYS.V_$DATABASE TO GGADMIN;
    GRANT ALTER ANY TABLE TO GGADMIN;
    EXEC rdsadmin.rdsadmin_dbms_goldengate_auth.grant_admin_privilege (
    grantee                 => 'GGADMIN',
    privilege_type          => 'capture',
    grant_select_privileges => true,
    do_grants               => TRUE);
  6. 샘플 데이터베이스 스키마를 다운로드하고 압축을 풉니다.

  7. 소스 샘플 스키마 및 데이터를 로드합니다.

    1. SQL Developer에서 Amazon RDS for Oracle 인스턴스에 SRC_OCIGGLL 사용자로 연결합니다.

    2. OCIGGLL_OCIGGS_SETUP_USERS_ATP.sql에서 스크립트를 복사하여 SQL Worksheet에 붙여 넣습니다.

    3. 스크립트 실행을 선택합니다. 스크립트 출력 탭에는 확인 메시지가 표시됩니다.

    4. SQL Worksheet를 지운 다음 OCIGGLL_OCIGGS_SRC_USER_SEED_DATA.sql에서 SQL 스크립트를 복사하여 붙여 넣습니다.

      참고: SQL 도구가 스크립트를 성공적으로 실행하려면 각 명령문을 별도로 실행해야 할 수 있습니다.

    5. 테이블이 성공적으로 생성되었는지 확인하려면 SQL window를 닫고 다시 여십시오. Navigator 탭에서 SRC_OCIGGLL 스키마를 찾은 다음 해당 드롭다운 목록에서 테이블을 선택합니다.

작업 1: OCI GoldenGate 리소스 생성

  1. Oracle 인스턴스용 소스 Amazon RDS에 대한 Oracle 배치를 생성합니다.

  2. 빅데이터 배포를 생성하여 대상 Oracle Object Storage 버킷을 생성합니다.

  3. Oracle 인스턴스용 소스 Amazon RDS에 대한 접속을 생성합니다.

  4. 대상 Oracle Object Storage에 대한 접속을 생성합니다.

  5. Big Data 배치에 퍼블릭 끝점이 없는 경우 GoldenGate에 대한 접속을 생성하고 이 접속을 소스 Oracle 배치에 지정합니다.

  6. Amazon RDS for Oracle 접속을 소스 Oracle 배치에 지정합니다.

  7. 대상 Big Data 배치에 Oracle Object Storage 접속을 지정합니다.

  8. 소스 Oracle 배치에 GoldenGate 접속을 지정합니다.

작업 2: Extract 추가 및 실행

  1. Deployments 페이지에서 Oracle 배치용 소스 Amazon RDS를 선택합니다.

  2. 배포 세부정보 페이지에서 콘솔 실행을 선택합니다.

  3. 소스 배포의 관리자 사용자 이름 및 비밀번호로 로그인합니다.

  4. 추출 추가.

작업 3: 배포 경로 추가 및 실행

  1. GoldenGate 인증서 저장소를 사용하는 경우 대상 Big Data 배치에서 배포 경로에 대한 사용자를 생성하고, 그렇지 않은 경우 3단계로 건너뜁니다.

  2. 소스 GoldenGate 배치 콘솔에서 1단계에서 생성한 사용자에 대한 경로 접속을 추가합니다.

    1. 소스 GoldenGate 배치 콘솔의 왼쪽 탐색에서 경로 접속을 선택합니다.

    2. Add Path Connection(더하기 아이콘)을 선택한 후 다음을 완료합니다.

      1. 자격 증명 별칭GGSNetwork을 입력합니다.

      2. 사용자 ID의 경우 1단계에서 만든 사용자의 이름을 입력합니다.

      3. 확인을 위해 사용자 암호를 두 번 입력합니다.

    3. 제출을 선택합니다.

      경로 연결이 경로 연결 목록에 나타납니다.

  3. source 배치 콘솔에서 다음 값을 사용하여 배포 경로를 추가합니다.

    1. 소스 옵션 페이지에서 다음을 수행합니다.

      • 소스 추출의 경우 태스크 2에서 생성된 추출을 선택합니다.

      • 트레일 이름에 2자 이름(예: E1)을 입력합니다.

    2. 대상 옵션 페이지에서 다음을 수행합니다.

      • 대상 호스트에 대상 배치의 호스트 도메인을 입력합니다.

      • 포트 번호에서 443을 입력합니다.

      • 트레일 이름에 2자 이름(예: E1)을 입력합니다.

      • 별칭의 경우 단계 2에서 생성된 인증서 별칭을 입력합니다.

  4. 대상 Big Data 배치 콘솔에서 배포 경로의 결과로 생성된 수신기 경로를 검토합니다.

    1. 대상 Big Data 배치 콘솔에서 수신기 서비스를 선택합니다.

    2. 경로 세부정보를 검토합니다. 이 경로는 이전 단계에서 생성된 배포 경로의 결과로 생성되었습니다.

작업 4: Replicat 추가 및 실행

  1. 대상 Big Data 배치 콘솔 탐색 메뉴에서 복제를 선택합니다.

  2. [복제] 페이지에서 복제 추가(더하기 아이콘)를 선택한 후 다음과 같이 양식을 완성합니다.

    1. Replicat Information 페이지에서 다음을 수행합니다.

      1. 복제 유형에 대해 클래식 복제를 선택합니다.

      2. 프로세스 이름REP과 같은 이름을 입력합니다.

    2. Replicat Options 페이지에서 다음을 수행합니다.

      1. 복제 추적 이름에 2자 이름(예: E1)을 입력합니다.

      2. 대상의 경우 Oracle Object Storage를 선택합니다.

    3. Parameter File 페이지에서 MAP *.*, TARGET *.*;를 다음으로 바꿉니다.

      MAP SRC_OCIGGLL.*, TARGET *.*;
    4. Properties File 페이지에서 필요에 따라 OCI 이벤트 처리기 속성을 구성합니다.

      필수 속성:

      • gg.eventhandler.oci.compartmentID: Oracle Object Storage 버킷이 상주하는 컴파트먼트 OCID입니다.

      • gg.handler.oci.fileNameMappingTemplate: 템플리트 키워드를 사용하여 파일 이름을 동적으로 생성합니다.

      수정할 수 있는 등록 정보는 다음과 같습니다.

      • gg.handler.oci.format: 출력의 형식을 지정하는 방법을 선택합니다. 기본 설정은 json_row입니다. 사용 가능한 옵션은 다음과 같습니다.

      • gg.handler.oci.inactivityRollInterval: GoldenGate가 파일을 생성하고 쓰기 위해 열린 상태로 유지합니다. 이 속성은 지정된 비활동 기간(수신 트랜잭션 없음) 후에 파일을 닫은 다음 Oracle Object Storage로 로드합니다. 기본적으로 5초로 설정됩니다. 밀리초(밀리초), 초(초), 분(m) 또는 시간(h)으로 시간을 지정할 수 있습니다. 예: gg.handler.oci.inactivityRollInterval=10m.

      • gg.handler.oci.maxFileSize: 파일 작성기 처리기는 파일을 열고 메타 데이터 변경 사항이 없다고 가정하여 최대 파일 크기에 도달할 때까지 파일을 열린 상태로 유지합니다. 기본적으로 최대 파일 크기는 1GB이지만 이 등록 정보를 사용하여 변경할 수 있습니다. 크기에 도달하면 파일이 닫히고 새 파일이 생성됩니다. 예: gg.handler.oci.maxFileSize=500m.

      • gg.handler.oci.rollOnShutdown: 기본값은 true입니다. true로 설정하면 Replicat 프로세스를 정지할 때 GoldenGate가 열린 파일을 종료합니다. 기본적으로 파일 작성기 처리기는 Replicat가 다시 시작될 때 Replicat가 중지되고 동일한 파일에 계속 쓰는 경우에도 파일을 열린 상태로 유지합니다. 예: gg.handler.oci.rollOnShutdown=false

      • gg.handler.oci.fileRollInterval: 파일을 닫고 새 파일로 롤오버하기 전에 해당 파일을 열린 상태로 유지하는 시간을 지정합니다. 기본적으로 7분으로 설정됩니다. 밀리초(밀리초), 초(초), 분(m) 또는 시간(h)으로 시간을 지정할 수 있습니다. 예: gg.handler.oci.fileRollInterval=10m.

      • gg.eventhandler.oci.bucketMappingTemplate: Oracle Object Storage 버킷 이름을 입력합니다.

    5. 생성 및 실행을 선택합니다.

작업 5: 복제 확인

Oracle 인스턴스용 소스 Amazon RDS에 대한 일부 업데이트를 수행하여 Oracle Object Storage에 대한 복제를 확인합니다.

  1. SQL Developer에서 Amazon RDS for Oracle 인스턴스에 SRC_OCIGGLL 사용자로 연결합니다.

  2. 워크시트에 다음을 입력하고 스크립트 실행을 선택합니다.

    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1000,'Houston',20,743113);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1001,'Dallas',20,822416);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1002,'San Francisco',21,157574);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1003,'Los Angeles',21,743878);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1004,'San Diego',21,840689);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1005,'Chicago',23,616472);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1006,'Memphis',23,580075);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1007,'New York City',22,124434);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1008,'Boston',22,275581);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1009,'Washington D.C.',22,688002);
  3. 소스 GoldenGate OCI GoldenGate 배치 콘솔에서 추출 이름을 선택한 다음 통계를 선택합니다. SRC_OCIGGLL.SRC_CITY에 10개의 삽입이 있는지 확인합니다.

  4. 대상 Big Data OCI GoldenGate 배치 콘솔에서 Replicat 이름을 선택한 다음 통계를 선택합니다. SRC_OCIGGLL.SRC_CITY에 10개의 삽입이 있는지 확인합니다.

작업 6: 프로세스 모니터 및 유지 관리

  1. 복제 프로세스를 모니터합니다.

  2. 추적 파일 관리.