YugabyteDB에서 자율운영 AI 트랜잭션 처리(ATP)로 데이터 복제

OCI GoldenGate를 사용하여 YugabyteDB 소스의 데이터를 Autonomous AI Transaction Processing 타겟으로 복제하는 방법을 학습합니다.

시작하기 전에

이 빠른 시작을 성공적으로 완료하려면 다음이 있는지 확인하십시오.

YugabyteDB 설정

YugabyteDB 인스턴스를 설정하려면 다음을 수행합니다.
  1. Oracle Cloud Compute를 사용하여 YugabyteDB를 호스트하는 경우 포트 5433을 엽니다.
    sudo firewall-cmd --permanent --add-port=5432/tcp
    sudo firewall-cmd --reload 
    sudo firewall-cmd --list-all 
  2. VCN의 보안 목록에서 포트 5433을 엽니다.
  3. YugabyteDB에 접속.
  4. 샘플 데이터를 다운로드합니다.
  5. 다음 명령을 실행하여 사용자를 설정합니다. <password> 위치 표시자를 실제 비밀번호로 바꾸어야 합니다.
    create user ggadmin with password '<password>'; 
    alter user ggadmin with SUPERUSER; 
    GRANT ALL PRIVILEGES ON DATABASE ociggll TO ggadmin; 

환경 설정: 자율운영 AI 트랜잭션 처리(ATP)

  1. 샘플 데이터베이스 스키마를 다운로드하고 압축을 풉니다.
  2. GGADMIN 유저의 잠금을 해제합니다.
    1. Oracle Cloud 콘솔의 자율운영 AI 데이터베이스 페이지에서 ATP 인스턴스를 선택하여 세부정보를 확인하고 Database Actions에 액세스합니다.
    2. 데이터베이스 작업을 누른 다음 데이터베이스 사용자를 누릅니다.
    3. GGADMIN을 찾은 다음 줄임표 메뉴(점 3개)를 누르고 편집을 선택합니다.
    4. [사용자 편집] 패널에서 GGADMIN 비밀번호를 입력하고 비밀번호를 확인한 다음 계정이 잠겨 있습니다의 선택을 해제합니다.
    5. 변경사항 적용을 누릅니다.
  3. 대상 샘플 스키마 및 데이터를 로드합니다.
    1. Database Actions 메뉴에서 SQL을 선택합니다.
    2. OCIGGLL_OCIGGS_SETUP_USERS_ADW.sql에서 스크립트를 복사하여 SQL 워크시트에 붙여 넣습니다.
    3. 스크립트 실행을 누르십시오. Script Output 탭에 확인 메시지가 표시됩니다.
    4. SQL Worksheet를 지운 다음 OCIGGLL_OCIGGS_SRC_MIRROR_USER_SEED_DATA.sql에서 SQL을 복사하여 붙여 넣습니다.
    5. 테이블이 성공적으로 생성되었는지 확인하려면 SQL 창을 닫고 다시 엽니다. Navigator 탭에서 SRC_OCIGGLL 스키마를 찾은 다음 해당 드롭다운에서 테이블을 선택합니다.

작업 1: OCI GoldenGate 리소스 생성

이 빠른 시작 예에서는 소스 및 대상에 대한 배치 및 접속이 필요합니다.
  1. 소스 PostgreSQL 데이터베이스에 대한 배포를 생성합니다.
  2. 대상 자율운영 AI 트랜잭션 처리(ATP) 인스턴스에 대한 배포를 생성합니다.
  3. 소스 PostgreSQL 데이터베이스에 대한 접속을 생성합니다.
    1. 유형의 경우 YugabyteDB를 선택했는지 확인합니다.
    2. 데이터베이스 이름에 대해 YugabyteDB 이름을 입력합니다.
    3. 호스트의 경우 YugabyteDB가 실행되는 컴퓨트 인스턴스의 퍼블릭 IP를 입력합니다.
    4. 포트5433을 입력합니다.
    5. 사용자 이름ggadmin을 입력합니다.
    6. 비밀번호의 경우 비밀번호를 입력합니다.
    7. 보안 프로토콜에 대해 일반을 선택합니다.
  4. 대상 자율운영 AI 트랜잭션 처리(ATP) 인스턴스에 대한 접속을 생성합니다.
  5. GoldenGate에 대한 접속을 생성한 다음 소스 PostgreSQL 배치에 이 접속을 지정합니다.
  6. 소스 접속을 소스 PostgreSQL 배치에 지정합니다.
  7. 대상 Oracle 배치에 대상 접속을 지정합니다.

작업 2: 보완 로깅 활성화

보완 로깅을 사용으로 설정하려면 다음과 같이 하십시오.
  1. PostgreSQL GoldenGate 배치 콘솔을 실행합니다.
    1. [배치] 페이지에서 PostgreSQL 배치를 선택하여 세부정보를 봅니다.
    2. PostgreSQL 배치 세부정보 페이지에서 콘솔 실행을 누릅니다.
    3. 배치 콘솔 사인인 페이지에서 배치를 생성할 때 이전에 제공된 GoldenGate 관리자 인증서를 입력합니다.

      주:

      배포를 생성할 때 IAM이 인증서 저장소로 선택되지 않은 경우 사인인이 필요합니다.
  2. GoldenGate 26ai에서 왼쪽 탐색의 DB 접속, 소스 YugabyteDB 데이터베이스, Trandata 순으로 누릅니다.
  3. 트랜다타 페이지의 TRANDATA 정보 옆에 있는 트랜다타 추가(더하기 아이콘)를 누릅니다.
  4. 트랜다타 패널의 스키마 이름src_ociggll.*을 입력한 다음 제출을 누릅니다.

    주:

    검색 필드를 사용하여 src_ociggll을 검색하고 테이블이 추가되었는지 확인합니다.

작업 3: 추출 생성

  1. Change Data Capture Extract 추가:
    1. 왼쪽 탐색에서 추출을 누릅니다.
    2. 추출 페이지에서 추출 추가(더하기 아이콘)를 누른 후 다음과 같이 필드에 정보를 입력합니다.
      • 정보 추출 페이지에서 다음을 수행합니다.
        1. 추출 유형에 대해 데이터 캡처 변경 추출을 선택합니다.
        2. 프로세스 이름추출의 이름(예: ECDC)을 입력합니다.
        3. 다음을 누르십시오.
      • 추출 옵션 페이지에서 다음을 수행합니다.
        1. 소스 인증서의 경우 도메인 드롭다운에서 Oracle GoldenGate를 선택합니다.
        2. 별칭 드롭다운에서 소스 PostgreSQL 데이터베이스를 선택합니다.
        3. 추출 추적 이름에 2자 추적 이름(예: C1)을 입력합니다.
        4. 다음을 누르십시오.
      • 추출 매개변수 페이지에서 MAP *.*, TARGET *.*;을 다음으로 바꿉니다.
        TABLE SRC_OCIGGLL.*;
    3. 생성 및 실행을 누릅니다.
  2. 초기 로드 추출 추가:
    1. 추출 페이지에서 추출 추가를 누른 후 다음과 같이 추출 추가 폼을 완료합니다.
      • 추출 정보 페이지에서 다음을 수행합니다.
        1. 추출 유형의 경우 초기 로드 추출을 선택합니다.
        2. 프로세스 이름EIL과 같은 이름을 입력합니다.
        3. 다음을 누르십시오.
      • 추출 옵션 페이지에서 다음을 수행합니다.
        1. 소스 인증서의 경우 도메인 드롭다운에서 Oracle GoldenGate를 선택합니다.
        2. 별칭 드롭다운에서 YugabyteDB를 선택합니다.
        3. 추출 추적 이름에 2자 추적 이름(예: I1)을 입력합니다.
        4. 다음을 누르십시오.
      • 추출 매개변수 페이지에서 텍스트 영역의 내용을 다음으로 바꿉니다.
        EXTRACT EIL
        USERIDALIAS YugabyteDB_Compute, DOMAIN OracleGoldenGate
        EXTFILE I1, PURGE
        TABLE src_ociggll.*;

        주:

        계속하기 전에 USERIDALIAS 앞에 있는 SOURCEDB 매개변수를 제거해야 합니다.
    2. 생성 및 실행을 누릅니다.
추출 페이지로 돌아가서 추출이 시작되는 것을 확인할 수 있습니다.

작업 4: Initial Load 추출에 대한 Distribution Path 생성

  1. [배치] 페이지에서 대상 Oracle 배치를 선택합니다.
  2. 배치 세부정보 페이지에서 콘솔 실행을 누른 다음 관리 사용자로 로그인합니다.
  3. IAM 인증서 저장소를 사용하는 경우 Create a Distribution Path 단계를 진행합니다. GoldenGate 인증서 저장소를 사용하는 경우 소스 GoldenGate가 대상 GoldenGate에 접속하는 데 사용하는 사용자를 생성합니다.
    1. 탐색 메뉴에서 사용자 관리를 누릅니다.
    2. 새 사용자 추가(더하기 아이콘)를 누르고 다음과 같이 필드에 정보를 입력한 다음 제출을 누릅니다.
      • 사용자 이름ggsnet을 입력합니다.
      • 역할에 대해 연산자를 선택합니다.
      • 확인을 위해 암호를 두 번 입력합니다.
  4. 소스 PostgreSQL 배치 콘솔에서 이전 단계에서 생성한 사용자에 대한 경로 접속을 생성합니다.
    1. 탐색 메뉴에서 경로 접속을 누릅니다.
    2. 경로 접속 추가(더하기 아이콘)를 누르고 다음과 같이 필드에 정보를 입력한 후 제출을 누릅니다.
      • Credential Alias에 dpuser를 입력합니다.
      • 사용자 ID에 ggsnet를 입력합니다.
      • 암호에 이전 단계에서 사용한 것과 동일한 암호를 입력합니다.
  5. Distribution Path를 생성합니다.
    1. 서비스 메뉴 표시줄에서 Distribution Service을 누른 다음 Distribution Path 추가(더하기 아이콘)를 누릅니다.
    2. Add Path Form을 다음과 같이 완성합니다.
      • Path Information 페이지에서 다음을 수행합니다.
        1. 경로 이름에 이 경로의 이름을 입력합니다.
        2. 다음을 누르십시오.
      • Source Options 페이지에서 다음을 수행합니다.
        1. 소스 Extract의 경우 비워 둡니다.
        2. 트레일 이름Initial Load Extract 추적 이름(I1)을 입력합니다.
        3. 다음을 누르십시오.
      • Target Options 페이지에서 다음을 수행하십시오.
        1. Target Protocol(대상 프로토콜)에 대해 wss를 선택합니다.
        2. 대상 호스트의 경우 https:// 또는 후행 슬래시 없이 대상 배치 URL을 입력합니다.
        3. 포트 번호에서 443을 입력합니다.
        4. 트레일 이름I1을 입력합니다.
        5. 대상 인증 방법에 대해 OAuth를 선택합니다.

          주:

          배치를 생성할 때 GoldenGate가 인증서 저장소로 선택된 경우 사용자 ID 별칭을 선택합니다. 그렇지 않은 경우 OAuth를 선택합니다.
        6. 도메인에 대해 이전 단계에서 생성한 도메인 이름을 입력합니다.
        7. 별칭에 대해 이전 단계(dpuser)에서 생성된 별칭을 입력합니다.
        8. 다음을 누르십시오.
    3. 생성 및 실행을 누릅니다.
    생성된 경로를 검토할 수 있는 Distribution Service 페이지로 돌아갑니다.
  6. 대상 Oracle 배치 콘솔에서 배포 경로의 결과로 생성된 수신기 경로를 검토합니다.
    1. Receiver Service을 누릅니다.
    2. Distribution Path 세부 정보를 검토합니다.

작업 5: Initial Load에 대한 Replicat 추가

  1. 대상 Oracle 배치에서 Checkpoint 테이블을 추가합니다.
    1. 탐색 메뉴에서 DB 접속을 누릅니다.
    2. 대상 자율운영 AI 데이터베이스 인스턴스를 선택한 다음 Checkpoints을 선택합니다.
    3. Checkpoints 페이지에서 체크포인트 추가(더하기 아이콘)를 누릅니다.
    4. Checkpoint 패널에서 스키마 테이블에 대해 SRCMIRROR_OCIGGLL.CHECKTABLE을 입력합니다.
    5. 제출을 누릅니다.
  2. Replicat를 추가합니다.
    1. 탐색 메뉴에서 Replicats을 누릅니다.
    2. Replicats 페이지에서 Replicat 추가(더하기 아이콘)를 누른 후 다음과 같이 Replicat 필드 추가를 완료합니다.
      • Replicat 정보 페이지에서 다음을 수행합니다.
        1. Replicat 유형에 대해 Nonintegrated Replicat를 선택합니다.
        2. 프로세스 이름RIL과 같은 이름을 입력합니다.
        3. 다음을 누릅니다
      • Replicat 옵션 페이지에서 다음을 수행합니다.
        1. Replicat 추적 이름에 태스크 2의 추적 이름(I1)을 입력합니다.
        2. 대상 인증서의 경우 자율운영 AI 데이터베이스 연결에 대한 도메인별칭을 선택합니다.
        3. 체크포인트 테이블의 경우 1단계에서 생성한 체크포인트 테이블을 선택합니다.
        4. 다음을 누르십시오.
      • 매개변수 파일 페이지에서 MAP *.*, TARGET *.*;를 다음으로 바꿉니다.
        MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
    3. 생성 및 실행을 누릅니다.
      Replicat 세부 정보를 검토할 수 있는 Replicats 페이지로 돌아갑니다.
  3. Replicat(RIL)을 선택하고 해당 세부정보를 확인합니다.
  4. 통계를 누르고 삽입 수를 검토합니다. 페이지를 새로고침하십시오.
    • 삽입 수가 변경되지 않으면 Initial Load의 모든 레코드가 로드되고 Replicat(RIL)을 정지할 수 있습니다.
    • 삽입 수가 계속 증가하면 계속하기 전에 Initial Load 레코드가 모두 로드될 때까지 계속 페이지를 새로 고칩니다.
  5. Initial Load를 확인합니다.
    1. Oracle Cloud 콘솔자율운영 AI 데이터베이스 세부정보 페이지에서 데이터베이스 작업을 누른 다음 SQL을 누릅니다.
    2. SQL 도구에서 워크시트에 다음 명령문을 각각 입력하고 명령문 실행을 누릅니다.
      SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CITY;
      SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CUSTOMER;
    출력은 Initial Load의 결과로 대상 데이터베이스 테이블에 로드된 데이터를 반환해야 합니다.

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

  1. 소스 PostgreSQL 배치 콘솔에서 Distribution Service을 누릅니다.
  2. Distribution Path 추가를 누릅니다.
  3. Add Path Form을 다음과 같이 완성합니다.
    1. Path Information 페이지에서 다음을 수행합니다.
      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. 트레일 이름C1을 입력합니다.
      5. 대상 인증 방법에 대해 OAuth를 선택합니다.

        주:

        배치를 생성할 때 GoldenGate가 인증서 저장소로 선택된 경우 사용자 ID 별칭을 선택합니다. 그렇지 않은 경우 OAuth를 선택합니다.
      6. Domain(도메인)에 도메인 이름을 입력하십시오.
      7. 별칭에 대해 별칭을 입력합니다 .
    4. 경로 생성 및 실행을 누릅니다.
  4. 대상 Oracle 배치 콘솔에서 수신기 서비스를 누른 다음 생성된 수신기 경로를 검토합니다.

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

  1. 대상 Oracle 배치 콘솔에서 Replicat을 추가합니다.
    1. 관리 서비스 탐색 메뉴에서 Replicats을 누릅니다.
    2. Replicats 페이지에서 Replicat 추가(더하기 아이콘)를 누른 후 다음과 같이 Replicat 추가 폼을 완료합니다.
      • Replicat Information 페이지에서 다음을 수행합니다.
        1. Replicat 유형에 대해 Nonintegrated Replicat를 선택합니다.
        2. 프로세스 이름RCDC과 같은 이름을 입력합니다.
        3. 다음을 누르십시오.
      • Replicat 옵션 페이지에서 다음을 수행합니다.
        1. Replicat 추적 이름에 태스크 3의 추적 이름(C1)을 입력합니다.
        2. 대상 인증서의 경우 자율운영 AI 데이터베이스 연결에 대한 도메인 및 별칭을 선택합니다.
        3. 체크포인트 테이블에 대해 체크포인트 테이블을 선택합니다.
      • Replicat 매개변수 페이지에서 MAP *.*, TARGET *.*;을 다음 매핑으로 바꿉니다.
        MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
    3. 생성을 누릅니다. Replicat를 실행하지 마십시오.
  2. Replicats 페이지에서 Initial Load(RIL)에 대한 Replicat을 선택하고 해당 세부정보를 봅니다.
  3. 통계를 누르고 삽입 수를 검토합니다. 페이지를 새로고침하십시오.
    • 삽입 수가 변경되지 않으면 Initial Load의 모든 레코드가 로드되고 Replicat(RIL)을 정지할 수 있습니다.
    • 삽입 수가 계속 증가하면 계속하기 전에 Initial Load 레코드가 모두 로드될 때까지 계속 페이지를 새로 고칩니다.

    주:

    삽입이 표시되지 않을 경우 성능 측정항목 서비스를 누르고 추출을 선택한 다음 데이터베이스 통계를 누릅니다.
  4. Replicats 페이지로 돌아가서 Change Data Capture(RCDC)에 대한 Replicat를 시작합니다.
  5. Change Data Capture에 대해 Replicat를 시작한 후 해당 세부정보통계를 검토하여 삽입 수를 확인합니다.
  6. 복제를 확인합니다.
    1. 다음 스크립트를 실행하여 PostgreSQL 데이터베이스에 삽입합니다.
      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);
    2. 소스 PostgreSQL 배치 콘솔에서 Change Data Capture Extract(ECDC)을 선택한 다음 통계를 누릅니다. src_ociggll.src_city에 10개의 삽입이 있는지 확인합니다.

      주:

      Extract에서 삽입을 캡처하지 않은 경우 ECDC Extract를 다시 시작합니다.
    3. 대상 Oracle 배치 콘솔에서 Replicat 이름(RCDC)을 선택하고 해당 세부정보를 확인한 다음 통계를 확인합니다. SRCMIRROR_OCIGGLL.SRC_CITY에 10개의 삽입이 있는지 확인합니다.

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

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