OCI의 HeatWave에서 자율운영 AI 레이크하우스로 데이터 복제

OCI GoldenGate를 사용하여 OCI의 HeatWave에서 자율운영 AI 레이크하우스로 데이터를 복제하는 방법을 알아봅니다.

시작하기 전에

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

환경 설정: OCI 기반 HeatWave

이 Quickstart에 대한 환경을 설정하려면 다음을 수행합니다.

  1. 샘플 데이터 스크립트 다운로드를 수행한 다음 OCI 데이터베이스의 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 콘솔에서 OCI 데이터베이스의 HeatWave에서 사용하는 서브넷을 찾습니다.

    2. 서브넷의 보안 목록에서 port TCP/3306에 대한 수신 규칙을 만듭니다.

  4. 대상 스키마 스크립트를 다운로드한 다음 자율운영 AI 레이크하우스 인스턴스에서 스크립트를 실행하여 스키마 및 테이블을 생성합니다. 자율운영 AI 레이크하우스 데이터베이스 작업 SQL 툴을 사용하여 스크립트를 실행할 수 있습니다.

    1. Oracle Cloud 콘솔에서 자율운영 AI 레이크하우스(ADL) 데이터베이스 세부정보 페이지를 연 다음 데이터베이스 작업을 선택합니다.

    2. [데이터베이스 작업]의 개발에서 SQL을 선택합니다.

    3. SQL 도구에서 OCIGGLL_OCIGGS_SETUP_USERS_ADW.sql의 스크립트를 복사하여 SQL 워크시트에 붙여 넣은 다음 스크립트 실행을 선택합니다. 성공하면 [스크립트 출력] 탭에 확인 메시지가 표시됩니다.

    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. OCI 데이터베이스의 소스 HeatWave에 대한 배포를 생성합니다.

  2. 대상 자율운영 AI 레이크하우스에 대한 배포를 생성합니다.

  3. OCI 데이터베이스의 소스 HeatWave에 대한 연결을 생성합니다.

  4. 대상 자율운영 AI 레이크하우스에 대한 접속을 생성합니다.

  5. GoldenGate에 대한 접속을 생성한 다음 소스 MySQL 배치에 이 접속을 지정합니다.

  6. 소스 접속을 소스 MySQL 배치에 지정합니다.

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

작업 2: 추출 생성

  1. Deployments 페이지에서 Task 1에서 생성한 MySQL 배치를 선택합니다.

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

  3. 작업 1에서 배치를 생성할 때 지정된 관리자 인증서를 사용하여 소스 MySQL 배치 콘솔에 사인인합니다.

  4. 탐색 메뉴에서 DB 접속을 선택합니다.

  5. OCI 접속 시 HeatWave에 대한 인증서를 검토합니다. 도메인 및 별칭을 기록합니다.

  6. 다음 값을 사용하여 변경 데이터 수집 추출 추가 및 실행:

    • 추출 유형에 대해 데이터 캡처 변경을 선택합니다.

    • 프로세스 이름에 추출 프로세스의 이름을 입력합니다.

    • 도메인에서 도메인을 선택합니다.

    • 별칭에서 별칭을 선택합니다.

    • 추출 추적 이름에 추적 파일의 이름을 입력합니다.

    • Parameter File 페이지에서 다음을 추가합니다.

      TABLE SRC_OCIGGLL.*;
  7. 다음 값을 사용하여 초기 로드 추출 추가 및 실행:

    • 추출 유형에 대해 초기 로드 추출을 선택합니다.

    • 프로세스 이름에 이름을 입력합니다.

    • Parameter File 페이지에서 다음을 추가합니다.

      TABLE SRC_OCIGGLL.*;

작업 3: 초기 로드 추출에 대한 분배 경로 생성

  1. 배치 페이지에서 대상 자율운영 AI 데이터베이스 배치를 선택합니다.

  2. 배치 세부정보 페이지에서 콘솔 실행을 선택한 다음 관리 사용자로 로그인합니다.

  3. IAM 인증서 저장소를 사용하는 경우 배포 경로 생성 단계를 진행합니다. GoldenGate 인증서 저장소를 사용하는 경우 소스 GoldenGate가 대상 GoldenGate에 접속하는 데 사용하는 사용자를 생성합니다.

    1. 탐색 메뉴에서 User Administration을 선택합니다.

    2. 새 사용자 추가(더하기 아이콘)를 선택하고 다음과 같이 필드에 정보를 입력한 다음 제출을 선택합니다.

      • 사용자 이름ggsnet을 입력합니다.

      • 역할에 대해 연산자를 선택합니다.

      • 확인을 위해 암호를 두 번 입력합니다.

  4. 소스 MySQL 배치 콘솔에서 이전 단계에서 생성한 사용자에 대한 경로 접속을 생성합니다.

    1. 탐색 메뉴에서 경로 접속을 선택합니다.

    2. 경로 접속 추가(더하기 아이콘)를 선택하고 다음과 같이 필드에 정보를 입력한 다음 제출을 선택합니다.

      • Credential Alias에 dpuser를 입력합니다.

      • 사용자 ID에 ggsnet를 입력합니다.

      • 암호에 이전 단계에서 사용한 것과 동일한 암호를 입력합니다.

  5. 배포 경로를 만듭니다.

    1. 서비스 메뉴 표시줄에서 배포 서비스를 선택한 다음 배포 경로 추가(더하기 아이콘)를 선택합니다.

    2. Add Path Form을 다음과 같이 완성합니다.

      • Path Information 페이지에서 다음을 수행합니다.

        1. 경로 이름에 이 경로의 이름을 입력합니다.

        2. 다음을 선택합니다.

      • Source Options 페이지에서 다음을 수행합니다.

        1. 소스 추출의 경우 비워 둡니다.

        2. 트레일 이름에 초기 로드 추출 추적 이름(I1)을 입력합니다.

        3. 다음을 선택합니다.

      • Target Options 페이지에서 다음을 수행하십시오.

        1. 대상에서 wss를 선택합니다.

        2. 대상 호스트의 경우 https:// 또는 후행 슬래시 없이 대상 배치 URL을 입력합니다.

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

        4. 트레일 이름I1을 입력합니다.

        5. 대상 인증 방법의 경우 UserID 별칭을 선택합니다.

        6. 도메인에 대해 이전 단계에서 생성한 도메인 이름을 입력합니다.

        7. 별칭에 대해 이전 단계(dpuser)에서 생성된 별칭을 입력합니다.

        8. 다음을 선택합니다.

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

    생성된 경로를 검토할 수 있는 배포 서비스 페이지로 돌아갑니다.

  6. 배포 경로 검토:

    1. 수신기 서비스를 선택합니다.

    2. Distribution Path 세부 정보를 검토합니다.

작업 4: 초기 로드 추출에 대한 Replicat 추가

  1. 대상 OCI GoldenGate 배치 콘솔에서 체크포인트 테이블을 추가합니다.

    1. 탐색 메뉴를 열고 DB 접속을 선택합니다.

    2. 데이터베이스에 접속을 선택합니다.

    3. 탐색 메뉴에서 체크포인트를 선택합니다.

    4. 체크포인트 페이지에서 체크포인트 추가(더하기 아이콘)를 선택합니다.

    5. 체크포인트 테이블SRCMIRROR_OCIGGLL.CHECKTABLE를 입력합니다.

    6. 제출을 선택합니다.

      참고: 제출 시 화면이 새로 고쳐지지 않습니다. 체크포인트 테이블이 추가되었는지 확인하려면 검색 필드에 SRCMIRROR_OCIGGLL.CHECKTABLE을 입력한 다음 검색을 선택합니다.

  2. Replicat 추가:

    1. 관리자 서비스를 선택한 다음 복제 추가(더하기 아이콘)를 선택합니다.

    2. [복제 추가] 페이지에서 다음 폼 필드에 정보를 입력한 후 다음을 선택합니다.

      • Replicat 유형의 경우 비통합 복제를 선택합니다.

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

    3. [복제 옵션] 페이지에서 다음 양식 필드에 정보를 입력한 다음 다음을 선택합니다.

      • 이름에 대해 태스크 2(I1)의 추적 이름을 입력합니다.

      • 도메인에 대해 자율운영 AI 데이터베이스 접속의 도메인을 선택합니다.

      • 별칭의 경우 자율운영 AI 데이터베이스 접속의 별칭을 선택합니다.

      • 체크포인트 테이블의 경우 1단계에서 생성한 체크포인트 테이블을 선택합니다.

    4. [관리 옵션] 페이지에서 필드를 그대로 두고 다음을 선택합니다.

    5. [복제 매개변수] 페이지에서 다음 매핑을 추가한 후 생성 및 실행을 선택합니다.

      MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;

    개요 페이지로 돌아가서 Replicat 세부정보를 검토할 수 있습니다.

  3. Replicat(RIL)를 선택하고 해당 세부정보를 확인합니다.

  4. 통계를 선택하고 삽입 수를 검토합니다. 페이지를 새로고침하십시오.

    • 삽입 수가 변경되지 않으면 초기 로드의 모든 레코드가 로드되어 Replicat를 중지할 수 있습니다(RIL).

    • 삽입 수가 계속 증가하면 계속하기 전에 초기 로드 레코드가 모두 로드될 때까지 페이지 새로고침을 계속합니다.

작업 5: 초기 로드 확인

  1. Oracle Cloud 콘솔의 자율운영 AI 레이크하우스 데이터베이스 세부정보 페이지에서 데이터베이스 작업을 엽니다.

  2. [데이터베이스 작업]의 개발에서 SQL을 선택합니다.

  3. SQL 도구에서 워크시트에 다음 명령문을 각각 입력하고 명령문 실행을 선택합니다.

    SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CITY;
    SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CUSTOMER;

출력은 초기 로드의 결과로 대상 데이터베이스 테이블에 로드된 데이터를 반환해야 합니다.

작업 6: 변경 데이터 캡처에 대한 분배 경로 생성

  1. 소스 배포 콘솔에서 배포 서비스를 선택합니다.

  2. 배포 경로 추가를 선택합니다.

  3. Add Path Form을 다음과 같이 완성합니다.

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

      1. 경로 이름에 이름을 입력합니다.

      2. 다음을 선택합니다.

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

      1. 소스 추출의 경우 변경 데이터 캡처 추출(ECDC)을 선택합니다.

      2. 트레일 이름에 대해 변경 데이터 캡처 추적 파일(C1)을 선택합니다.

      3. 다음을 선택합니다.

    3. Target Options 페이지에서 다음을 수행하십시오.

      1. 대상에서 wss를 선택합니다.

      2. 대상 호스트의 경우 대상 배치 콘솔 URL을 입력합니다. 이 URL은 배치 세부정보 페이지에서 https:// 또는 후행 슬래시 없이 찾을 수 있습니다.

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

      4. 트레일 이름C1을 입력합니다.

      5. 대상 인증 방법의 경우 UserID 별칭을 선택합니다.

      6. Domain(도메인)에 도메인 이름을 입력하십시오.

      7. 별칭에 대해 별칭을 입력합니다

    4. 경로 생성 및 실행을 선택합니다.

  4. 대상 배치 콘솔에서 수신기 서비스를 선택한 다음 생성된 수신기 경로를 검토합니다.

작업 7: 변경 데이터 캡처에 대한 Replicat 추가

  1. 다음 값으로 Replicat를 추가합니다.

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

      • 복제 유형에 대해 좌표 복제를 선택합니다.

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

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

      • 복제 추적에 태스크 2의 추적 이름(C1)을 입력합니다.

      • 도메인에 대해 자율운영 AI 데이터베이스 접속의 도메인을 선택합니다.

      • 별칭에 인증서 별칭을 입력합니다.

      • 체크포인트 테이블에 대해 생성한 체크포인트 테이블을 선택합니다.

    3. [복제 매개변수] 페이지에서 다음 매핑을 추가한 후 생성 및 실행을 선택합니다.

      MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
  2. Administration Service Overview 페이지에서 Replicat for Initial Load(RIL)를 선택하고 해당 세부정보를 확인합니다.

  3. 통계를 선택하고 삽입 수를 검토합니다. 페이지를 새로고침하십시오.

    • 삽입 수가 변경되지 않으면 초기 로드의 모든 레코드가 로드되고 RIL(Replicat)을 중지할 수 있습니다.

    • 삽입 수가 계속 증가하면 계속하기 전에 초기 로드 레코드가 모두 로드될 때까지 페이지 새로고침을 계속합니다.

  4. Administration Service Overview 페이지로 돌아가서 RCDC(Coordinated Replicat)를 시작합니다.

  5. 조정된 Replicat를 시작한 후 해당 세부정보통계를 검토하여 삽입 수를 확인합니다.

작업 8: 변경 데이터 캡처 확인

OCI 데이터베이스의 소스 HeatWave 업데이트를 수행하여 자율운영 AI 레이크하우스에 대한 복제를 확인합니다.

  1. OCI Bastion에서 MySQL IP 및 포트 3306을 사용하여 SSH 포트 전달 세션을 생성합니다. 퍼블릭 SSH 키를 추가합니다.

  2. 전용 키 및 포트 3306을 사용하여 Cloud Shell에서 MySQL에 연결합니다.

  3. 성공적으로 연결한 후 다음 명령을 실행합니다.

    mysqlsh admin@localhost:3306 --sql
  4. 다음 스크립트를 실행하여 OCI 데이터베이스의 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 배치 콘솔에서 변경 데이터 캡처 추출 이름을 선택한 다음 통계를 선택합니다. SRC_OCIGGLL.SRC_CITY에 10개의 삽입이 있는지 확인합니다.

주: Extract가 삽입을 캡처하지 않은 경우 Extract를 재시작하십시오.

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

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

  2. 추적 파일 관리.