HeatWave에서 Autonomous Data Warehouse로 데이터 복제

OCI GoldenGate를 사용해 HeatWave에서 Autonomous Data Warehouse로 데이터를 복제하는 방법을 확인해 보세요.

시작하기 전에

이 퀵타트를 성공적으로 완료하려면 다음이 있어야 합니다.

  • OCI Bastion - HeatWave에 연결하고, 샘플 데이터베이스를 로드하고, 삽입을 수행합니다.
  • 소스 데이터베이스로 사용할 HeatWave 데이터베이스
  • 대상 데이터베이스 역할을 하는 Autonomous Data Warehouse 인스턴스

환경 설정: HeatWave

이 Quickstart에 대한 환경을 설정하려면 다음과 같이 하십시오.
  1. 샘플 데이터 스크립트를 다운로드한 다음 HeatWave 데이터베이스에서 스크립트를 실행하여 데이터베이스를 생성하고 데이터를 로드합니다.
  2. 다음 스크립트를 사용하여 ggadmin 사용자를 생성합니다. <ggadmin-password>을 적합한 비밀번호로 바꿔야 합니다.
    CREATE USER 'ggadmin' IDENTIFIED BY '<ggadmin-password>';
    GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT, CREATE,CREATE VIEW, EVENT, INSERT, UPDATE, DROP,EXECUTE, DELETE ON *.* TO 'ggadmin';
  3. OCI GoldenGate가 연결할 수 있는 port 3306를 엽니다.
    1. Oracle Cloud 콘솔에서 HeatWave 데이터베이스가 사용하는 서브넷을 찾습니다.
    2. 서브넷의 보안 목록에서 port TCP/3306에 대한 수신 규칙을 생성합니다.
  4. 대상 스키마 스크립트를 다운로드한 다음 Autonomous Data Warehouse 인스턴스에서 스크립트를 실행하여 스키마 및 테이블을 생성합니다. Autonomous Data Warehouse Database Actions SQL 툴을 사용하여 스크립트를 실행할 수 있습니다.
    1. Oracle Cloud 콘솔에서 Autonomous Data Warehouse 데이터베이스 세부정보 페이지를 연 다음 Database Actions를 누릅니다.
    2. Database Actions의 Development에서 SQL을 누릅니다.
    3. SQL 툴에서 OCIGGLL_OCIGGS_SETUP_USERS_ADW.sql의 스크립트를 복사하여 SQL 워크시트에 붙여 넣은 다음 스크립트 실행을 누릅니다. 성공하면 Script Output 탭에 확인 메시지가 표시됩니다.
    4. SQL Worksheet를 지운 다음 OCIGGLL_OCIGGS_SRC_MIRROR_USER_SEED_DATA.sql에서 Create Table 스크립트만 복사하여 붙여 넣습니다. 데이터는 이후 작업으로 로드됩니다.

      참고:

      SQL 툴이 스크립트를 성공적으로 실행하려면 각 Create Table 문을 별도로 실행해야 할 수도 있습니다.
    5. 테이블이 성공적으로 생성되었는지 확인하려면 SQL 창을 닫고 다시 여십시오. Navigator 탭에서 SRC_OCIGGLL 스키마를 찾은 다음 각 드롭다운에서 테이블을 선택합니다.

작업 1: OCI GoldenGate 리소스 만들기

이 빠른 시작 예에서는 소스 및 대상에 대한 배치 및 접속이 필요합니다.
  1. 배포를 생성하여 소스 HeatWave 데이터베이스에 대한 배치를 생성합니다.
  2. 대상 Autonomous Data Warehouse에 대한 배포를 생성합니다.
  3. 소스 HeatWave 데이터베이스에 대한 접속을 생성합니다.
  4. 대상 Autonomous Data Warehouse에 대한 접속을 생성합니다.
  5. GoldenGate에 대한 접속을 생성한 다음 이 접속을 소스 MySQL 배치에 지정합니다.
  6. 소스 MySQL 배치에 소스 접속을 지정합니다.
  7. 대상 Oracle 배치에 대상 접속을 지정합니다.

작업 2: 추출 생성

  1. Deployments 페이지에서 Task 1에서 생성한 MySQL 배치를 선택합니다.
  2. 배포 세부정보 페이지에서 콘솔 실행을 누릅니다.
  3. 작업 1에서 배치를 생성할 때 지정된 관리자 인증서를 사용하여 소스 MySQL 배치 콘솔에 사인인합니다.
  4. 탐색 메뉴에서 DB 접속을 선택합니다.
  5. HeatWave 연결에 대한 자격 증명을 검토합니다. 도메인 및 별칭을 기록해 둡니다.
  6. 다음 값을 사용하여 Change Data Capture Extract를 추가하고 실행합니다.
    • Extract 유형에 대해 Change Data Capture을 선택합니다.
    • 프로세스 이름Extract 프로세스의 이름을 입력합니다.
    • 도메인의 경우 도메인을 선택합니다.
    • 별칭의 경우 별칭을 선택합니다.
    • Extract 추적 이름에 추적 파일의 이름을 입력합니다.
    • Parameter File 페이지에서 다음을 추가합니다.
      TABLE SRC_OCIGGLL.*;
  7. 다음 값을 사용하여 초기 로드 추출 추가 및 실행:
    • Extract 유형에 대해 Initial Load Extract을 선택합니다.
    • 프로세스 이름에 이름을 입력합니다.
    • Parameter File 페이지에서 다음을 추가합니다.
      TABLE SRC_OCIGGLL.*;

작업 3: Initial Load Extract에 대한 Distribution Path 생성

  1. Deployments 페이지에서 대상 Autonomous Database 배치를 선택합니다.
  2. 배포 세부정보 페이지에서 콘솔 실행을 누른 다음 관리 사용자로 로그인합니다.
  3. IAM 인증서 저장소를 사용하는 경우 Distribution Path 생성 단계로 이동합니다. GoldenGate 인증서 저장소를 사용하는 경우 소스 GoldenGate에서 대상 GoldenGate에 접속하는 데 사용할 사용자를 생성합니다.
    1. 탐색 메뉴에서 사용자 관리를 누릅니다.
    2. 새 사용자 추가(더하기 아이콘)를 누르고 다음과 같이 필드에 정보를 입력한 다음 제출을 누릅니다.
      • 사용자 이름에 대해 ggsnet을 입력합니다.
      • 역할에 대해 연산자를 선택합니다.
      • 확인을 위해 비밀번호를 두 번 입력합니다.
  4. source PostgreSQL 배치 콘솔에서 이전 단계에서 생성한 사용자에 대한 경로 접속을 생성합니다.
    1. 탐색 메뉴에서 경로 접속을 누릅니다.
    2. Add Path Connection(더하기 아이콘)을 누르고 다음과 같이 필드에 정보를 입력한 다음 Submit을 누릅니다.
      • Credential Alias에 dpuser을 입력합니다.
      • 사용자 ID에 ggsnet를 입력합니다.
      • Password에 이전 단계에서 사용한 것과 동일한 암호를 입력합니다.
  5. Distribution Path를 생성합니다.
    1. 서비스 메뉴 모음에서 Distribution Service을 누른 다음 Distribution Path 추가(더하기 아이콘)를 누릅니다.
    2. 다음과 같이 Add Path Form을 완료합니다.
      • [경로 정보] 페이지에서 다음을 수행합니다.
        1. 경로 이름에서 이 경로의 이름을 입력합니다.
        2. 다음을 누르십시오.
      • Source Options 페이지에서 다음을 수행하십시오.
        1. Source Extract의 경우 비워 둡니다.
        2. 추적 이름Initial Load Extract 추적 이름(I1)을 입력합니다.
        3. 다음을 누르십시오.
      • Target Options 페이지에서 다음을 수행하십시오.
        1. 타겟의 경우 wss를 선택합니다.
        2. 대상 호스트의 경우 https:// 또는 후행 슬래시 없이 대상 배치 URL을 입력합니다.
        3. 포트 번호에서 443을 입력합니다.
        4. Trail NameI1을 입력합니다.
        5. 대상 인증 방법에 대해 UserID 별칭을 선택합니다.
        6. 도메인에 대해 이전 단계에서 생성한 도메인 이름을 입력합니다.
        7. 별칭에 대해 이전 단계에서 생성한 별칭(dpuser)을 입력합니다.
        8. 다음을 누르십시오.
    3. 생성 및 실행을 누릅니다.
    생성된 경로를 검토할 수 있는 Distribution Service 페이지로 돌아갑니다.
  6. Distribution Path를 검토하십시오.
    1. Receiver Service을 누릅니다.
    2. Distribution Path 세부 정보를 검토합니다.

작업 4: Initial Load Extract에 대한 Replicat 추가

  1. 대상 OCI GoldenGate 배치 콘솔에서 체크포인트 테이블을 추가합니다.
    1. 탐색 메뉴를 열고 DB 접속을 누릅니다.
    2. 데이터베이스에 접속 SourceATP을 누릅니다.
    3. 탐색 메뉴에서 체크포인트를 누릅니다.
    4. 체크포인트 페이지에서 체크포인트 추가(더하기 아이콘)를 누릅니다.
    5. 체크포인트 테이블SRCMIRROR_OCIGGLL.CHECKTABLE을 입력합니다.
    6. 제출을 누릅니다.

      참고:

      제출 시 화면이 새로 고쳐지지 않습니다. 체크포인트 테이블이 추가되었는지 확인하려면 검색 필드에 SRCMIRROR_OCIGGLL.CHECKTABLE을 입력한 다음 검색을 누릅니다.
  2. Replicat를 추가합니다.
    1. Administrator Service을 누른 다음 Replicat 추가(더하기 아이콘)를 누릅니다.
    2. Replicat 추가 페이지에서 다음 폼 필드에 정보를 입력한 후 다음을 누릅니다.
      • Replicat 유형에 대해 Nonintegrated Replicat를 선택합니다.
      • 프로세스 이름에서 RIL과 같은 이름을 입력합니다.
    3. Replicat 옵션 페이지에서 다음 폼 필드에 정보를 입력하고 다음을 누릅니다.
      • 이름에 태스크 2의 추적 이름(I1)을 입력합니다.
      • 도메인의 경우 Autonomous Database 접속에 대한 도메인을 선택합니다.
      • 별칭에 대해 Autonomous Database 연결의 별칭을 선택합니다.
      • 체크포인트 테이블의 경우 1단계에서 생성한 체크포인트 테이블을 선택합니다.
    4. [관리 옵션] 페이지에서 필드를 그대로 두고 다음을 누릅니다.
    5. Replicat [매개변수] 페이지에서 다음 매핑을 추가하고 생성 및 실행을 누릅니다.
      MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
    Replicat 세부정보를 검토할 수 있는 [개요] 페이지로 돌아갑니다.
  3. Replicat(RIL)을 선택하고 해당 세부정보를 확인합니다.
  4. 통계를 누르고 삽입 수를 검토합니다. 페이지를 새로고침하십시오.
    • 삽입 수가 변경되지 않으면 Initial Load의 모든 레코드가 로드되고 Replicat(RIL)을 중지할 수 있습니다.
    • 삽입 수가 계속 증가하면 계속하기 전에 초기 로드 레코드가 모두 로드될 때까지 페이지 새로 고침을 계속합니다.

작업 5: 초기 로드 확인

  1. Oracle Cloud 콘솔의 Autonomous Data Warehouse 데이터베이스 세부정보 페이지에서 Database Actions를 엽니다.
  2. Database Actions의 Development에서 SQL을 누릅니다.
  3. SQL 툴에서 다음 각 명령문을 워크시트에 입력하고 명령문 실행을 누릅니다.
    SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CITY;
    SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CUSTOMER;
Initial Load의 결과로 Target Database 테이블에 로드된 데이터가 출력되어야 합니다.

작업 6: Change Data Capture에 대한 Distribution Path 생성

  1. 소스 배치 콘솔에서 Distribution Service을 누릅니다.
  2. Distribution Path 추가를 누릅니다.
  3. 다음과 같이 Add Path Form을 완료합니다.
    1. [경로 정보] 페이지에서 다음을 수행합니다.
      1. 경로 이름에서 이름을 입력합니다.
      2. 다음을 누르십시오.
    2. Source Options 페이지에서 다음을 수행하십시오.
      1. 소스 Extract에 대해 Change Data Capture Extract(ECDC))을 선택합니다.
      2. 추적 이름에 대해 Change Data Capture 추적 파일(C1)을 선택합니다.
      3. 다음을 누르십시오.
    3. Target Options 페이지에서 다음을 수행하십시오.
      1. 타겟의 경우 wss를 선택합니다.
      2. 대상 호스트의 경우 대상 배치 콘솔 URL을 입력합니다. 이 URL은 배포 세부정보 페이지에서 https:// 또는 후행 슬래시 없이 찾을 수 있습니다.
      3. 포트 번호에서 443을 입력합니다.
      4. Trail NameC1을 입력합니다.
      5. 대상 인증 방법에 대해 UserID 별칭을 선택합니다.
      6. 도메인에 도메인 이름을 입력합니다.
      7. 별칭에서 별칭을 입력합니다.
    4. 경로 생성 및 실행을 누릅니다.
  4. 대상 배치 콘솔에서 Receiver Service을 누르고 생성된 Receiver path를 검토합니다.

작업 7: Change Data Capture에 대한 Replicat 추가

  1. 다음 값을 사용하여 Replicat를 추가합니다.
    1. Replicat 정보 페이지에서 다음을 수행합니다.
      • Replicat 유형에 대해 Coordinated Replicat을 선택합니다.
      • 프로세스 이름에서 RCDC과 같은 이름을 입력합니다.
    2. Replicat 옵션 페이지에서 다음을 수행합니다.
      • Replicat 추적에 태스크 2의 추적 이름(C1)을 입력합니다.
      • 도메인의 경우 Autonomous Database 접속에 대한 도메인을 선택합니다.
      • Alias에 대해 Credential Alias를 입력합니다.
      • 체크포인트 테이블의 경우 생성한 체크포인트 테이블을 선택합니다.
    3. Replicat [매개변수] 페이지에서 다음 매핑을 추가하고 생성 및 실행을 누릅니다.
      MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
  2. Administration Service [개요] 페이지에서 Initial Load(RIL)에 대한 Replicat을 선택하고 해당 세부정보를 봅니다.
  3. 통계를 누르고 삽입 수를 검토합니다. 페이지를 새로고침하십시오.
    • 삽입 수가 변경되지 않으면 초기 로드에서 모든 레코드가 로드되고 Replicat(RIL)을 중지할 수 있습니다.
    • 삽입 수가 계속 증가하면 계속하기 전에 초기 로드 레코드가 모두 로드될 때까지 페이지 새로 고침을 계속합니다.
  4. Administration Service Overview 페이지로 돌아가서 Coordinated Replicat(RCDC)를 시작합니다.
  5. Coordinated Replicat를 시작한 후 세부정보통계를 검토하여 삽입 수를 확인합니다.

작업 8: Change Data Capture 확인

소스 HeatWave 데이터베이스에 대한 업데이트를 수행하여 Autonomous Data Warehouse에 대한 복제를 확인합니다.
  1. OCI Bastion에서 MySQL IP 및 포트 3306을 사용하여 SSH 포트 전달 세션을 생성합니다. 공용 SSH 키를 추가합니다.
  2. 전용(private) 키와 포트 3306을 사용하여 Cloud Shell에서 MySQL에 연결합니다.
  3. 성공적으로 연결한 후 다음 명령을 실행합니다.
    mysqlsh admin@localhost:3306 --sql
  4. 다음 스크립트를 실행하여 HeatWave 데이터베이스에 삽입을 수행합니다.
    use SRC_OCIGGLL;
    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);
    commit;
  5. 소스 MySQL 배치 콘솔에서 Change Data Capture Extract 이름을 선택한 다음 통계를 누릅니다. SRC_OCIGGLL.SRC_CITY에 10개의 삽입이 있는지 확인합니다.

    주:

    Extract가 삽입을 캡처하지 않은 경우 Extract를 재시작합니다.

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

  1. 성능 모니터.
  2. 추적 파일 관리.