참고:

다양한 대상에 Oracle GoldenGate 및 Oracle GoldenGate for Big Data를 사용하여 데이터 스트리밍

소개

Oracle GoldenGate는 데이터 엔지니어가 하나 이상의 데이터 관리 시스템에서 Oracle Cloud 데이터베이스로 대규모 데이터를 실시간으로 이동할 수 있도록 지원하는 완전 관리형 서비스입니다. 컴퓨팅 환경을 할당하거나 관리할 필요 없이 단일 인터페이스에서 데이터 복제 작업을 설계, 실행, 조정 및 모니터링할 수 있습니다.

Oracle GoldenGate for Big Data는 소스 시스템의 성능에 영향을 주지 않고 트랜잭션 데이터를 빅데이터 및 클라우드 시스템으로 실시간으로 스트리밍합니다. Apache Hadoop, Apache HBase, Apache Hive, Confluent Kafka, NoSQL Databases, Elasticsearch, JDBC, Oracle Cloud, Amazon Web Services, Microsoft Azure Cloud, Google Cloud Platform, Data Warehouses 등 가장 널리 사용되는 빅데이터 솔루션으로 실시간 데이터 전달을 간소화하여 통찰력과 시기적절한 조치를 지원합니다.

Oracle Cloud Infrastructure(OCI) Streaming 서비스는 대용량 데이터 스트림을 실시간으로 입수하고 사용할 수 있는 확장 가능하며 내구성 있는 전담 관리 솔루션을 제공합니다. 게시-구독 메시징 모델에서 데이터가 연속적이고 순차적으로 생성되고 처리되는 모든 사용 사례에 OCI Streaming을 사용합니다.

이 사용지침서에서는 Oracle Autonomous Database에서 서로 다른 두 대상, 즉 Oracle Autonomous Database 및 Oracle Streams 항목으로 데이터를 스트리밍하는 방법을 배웁니다.

목표

구조

구조

중요: 이 샘플 구조는 학습 목적으로만 사용되며, 단순하게 유지하기 위해 PUBLIC 서브넷을 사용합니다. 즉, 운용 환경이나 실제 데이터 처리에 사용해서는 안 됩니다.

운용 환경의 경우 PRIVATE 서브넷을 사용해야 하며 여기에 설명된 모든 보안 모범 사례를 적용해야 합니다(Oracle Security 모범 사례).

필요 조건

작업 1: 새 구획 생성

작업 2: sourceDB이라는 새 Oracle Autonomous Database 생성

  1. 왼쪽 상단 탐색 메뉴를 누르고 Oracle Database를 선택한 다음 Autonomous Database를 누릅니다.

  2. 이전 단계에서 생성한 구획 스트리밍을 선택하고 Autonomous Database 생성을 누릅니다.

    T2_1

  3. 다음 이미지와 같이 정보를 입력합니다.

    T2_2

    T2_3

    T2_4

: 생성한 ADMIN 비밀번호를 기록해 두십시오.

작업 3: targetDB이라는 새 Oracle Autonomous Database 생성

  1. 왼쪽 상단 탐색 메뉴를 누르고 Oracle Database를 선택한 다음 Autonomous Database를 누릅니다.

  2. 이전 단계 스트리밍에서 생성된 구획을 선택하고 Autonomous Database 생성을 누릅니다.

    T2_1

  3. 다음 이미지와 같이 정보를 입력합니다.

    T3_2

    T2_3

    T2_4

: 생성한 ADMIN 비밀번호를 기록해 두십시오.

작업 4: sourceDB에 대한 새 스키마 및 설정을 만듭니다.

  1. sourceDB 홈 페이지로 이동하고 Database Actions를 눌러 데이터베이스에서 SQL 명령을 실행하고 데이터를 로드합니다.

    T4_1

  2. findata_schema.sql 파일을 다운로드하고 내용을 SQL 실행 window에 복사하여 SCRIPT로 실행합니다.

    참고: FINDATA 사용자에 대한 비밀번호를 설정했는지 확인하고 이 자습서의 다음 단계를 참고하십시오.

    T4_1

  3. enable_gg.sql 파일을 다운로드하고 내용을 SQL 실행 window에 복사하여 SCRIPT로 실행합니다.

    참고: GGADMIN 사용자에 대한 비밀번호를 설정했는지 확인하고 이 자습서의 다음 단계를 참고하십시오.

    T4_1

작업 5: banks_export.sql 파일에서 sourceDB로 데이터 로드

  1. sourceDB 홈 페이지로 이동하고 Database Actions를 눌러 데이터베이스에서 SQL 명령을 실행하고 데이터를 로드합니다.

    T4_1

  2. banks_export.sql 파일을 다운로드하고 내용을 SQL 실행 window에 복사하여 SCRIPT로 실행합니다.

    T5_1

  3. 테이블에서 간단한 COUNT를 실행하고 삽입된 행 수를 확인합니다.

    T5_1

작업 6: targetDB에 대한 새 스키마를 만들고 데이터를 로드합니다.

작업 7: sourceDB에 OPERACOES라는 트랜잭션 테이블을 생성합니다.

  1. sourceDB에만 FINDATA.OPERACOES라는 새 테이블을 만듭니다. 이 테이블은 Oracle GoldenGate for Big Data가 OCI 스트리밍 토픽에서 캡처 및 게시할 소스 데이터입니다.

  2. sourceDB 홈 페이지로 이동하고 Database Actions를 눌러 데이터베이스에서 SQL 명령을 실행하고 데이터를 로드합니다.

    T4_1

  3. operacoes_table.sql 파일을 다운로드하고 내용을 SQL 실행 window에 복사하여 SCRIPT로 실행합니다.

T7_1

Oracle GoldenGate에서 이벤트를 시작할 무작위 데이터를 수신할 빈 테이블입니다.

작업 8: OCI 스트리밍 풀 생성

  1. 왼쪽 상단 탐색 메뉴를 누르고 분석 및 AI를 선택한 다음 스트리밍을 누르고 스트리밍 풀을 선택합니다.

  2. 스트림 풀 생성을 누르고 다음 정보를 입력합니다.

    T8_1

    T8_1

  3. 생성을 누릅니다.

  4. Kafka Connection Settings를 누르고 연결 문자열과 관련된 정보를 기록해 둡니다.

    T8_1

작업 9: OCI 스트리밍 풀에 액세스하기 위한 AUTH TOKEN 생성

OCI IAM(Oracle Cloud Infrastructure Identity and Access Management)에서 사용자와 연관된 인증 토큰을 사용하여 Oracle Cloud의 OCI Streaming(Kafka API) 및 기타 리소스에 액세스할 수 있습니다. Kafka 연결 설정에서 SASL 연결 문자열은 이전 작업에 설명된 대로 암호라는 매개변수와 AUTH_TOKEN 값을 가집니다. OCI 스트리밍에 대한 액세스를 사용으로 설정하려면 OCI 콘솔로 이동하여 AUTH TOKEN을 생성하십시오.

  1. 왼쪽 상단 탐색 메뉴를 누르고 ID 및 보안을 선택한 다음 ID, 도메인, 기본 도메인, 사용자를 선택합니다.

  2. 이전 리소스(예: Oracle Autonomous DatabaseOCI Stream Pool) 생성에 사용한 것과 동일한 사용자를 선택합니다.

T9_1

T9_1

: AUTH TOKEN을 적어 두면 다음 단계에 필요합니다.

작업 10: Oracle GoldenGate 접속 생성

소스 및 대상 데이터베이스에 접속하려면 Oracle GoldenGate에 적절한 접속 설정이 필요합니다.

  1. 왼쪽 상단 탐색 메뉴를 누르고 Oracle Database를 선택한 다음 GoldenGate을 누릅니다.

  2. 왼쪽 메뉴에서 연결 옵션을 선택하고 연결 생성을 누릅니다.

  3. sourceDB에 대한 연결을 만듭니다.

    T9_1

    T9_1

  4. 프로세스를 반복하고 targetDB에 대한 연결을 만듭니다.

    T9_1

    T9_1

  5. OCI 스트리밍 풀 DefaultPool에 대한 접속을 생성합니다.

    T9_1

    T9_1

이 시점에서는 다음 연결이 있어야 합니다.

T10_1

작업 11: Oracle GoldenGate 배치 생성 - 유형: ORACLE

  1. 왼쪽 상단 탐색 메뉴를 누르고 Oracle Database를 선택한 다음 GoldenGate을 누릅니다.

  2. 왼쪽 메뉴에서 배치 옵션을 선택하고 배치 생성을 누릅니다.

    T10_1

    T10_1

: oggadmin 암호를 저장해야 합니다.

작업 12: Oracle GoldenGate 배치 생성 - 유형: BIGDATA

  1. 왼쪽 상단 탐색 메뉴를 누르고 Oracle Database를 선택한 다음 GoldenGate을 누릅니다.

  2. 왼쪽 메뉴에서 배치 옵션을 선택하고 배치 생성을 누릅니다.

    T12_1

    T12_1

    T12_1

  3. 배포가 생성되고 활성된 후 다음 단계를 진행합니다.

    T12_1

작업 13: Oracle GoldenGate 배치 간 접속 생성

Oracle GoldenGate가 Oracle GoldenGate for Big Data와 통신하려면 연결을 생성해야 합니다.

  1. 왼쪽 상단 탐색 메뉴를 누르고 Oracle Database를 선택한 다음 GoldenGate을 누릅니다.

  2. 왼쪽 메뉴에서 연결 옵션을 선택하고 연결 생성을 누릅니다.

    T13_1

    T13_1

연결은 다음과 같아야 합니다.

T13_1

작업 14: Oracle GoldenGate 배치에 접속 추가 - GGForOracle

  1. GGForOracle 배치를 선택하고 왼쪽 메뉴에서 Assigned connections(지정된 연결)를 누른 다음 Assign connection(연결 지정)을 누릅니다.

    T14_1

  2. sourceDB에 대한 연결을 추가합니다.

    T14_1

  3. targetDB에 대한 연결을 추가합니다.

    T14_1

  4. GGOracletoGGBigData에 대한 연결을 추가합니다.

    T14_1

GGForOracle 배치에는 다음 연결이 있어야 합니다.

T14_1

작업 15: Oracle GoldenGate 배치에 접속 추가 - GGforBigData

  1. GGforBigData 배치를 선택하고 왼쪽 메뉴에서 Assigned connections(지정된 연결)를 누른 다음 Assign connection(연결 지정)을 누릅니다.

    T15_1

    T15_1

GGforBigData 배치에는 다음 연결이 있어야 합니다.

T15_1

작업 16: GGforOracle용 Oracle GoldenGate 설정

  1. GGForOracle 배치를 선택하고 콘솔 실행을 누릅니다.

  2. oggadmin/yourpassword(배포 생성 중 만든 암호) 자격 증명을 입력합니다.

    T16_1

  3. 탐색 메뉴를 누르고 구성을 선택한 다음 +를 눌러 새 인증서를 추가합니다.

    T16_1

  4. GGforBigData 배치에 대한 자격 증명을 추가합니다.

    : 배치 생성 중 설정한 oggadmin을 사용하십시오.

    T16_1

  5. 눌러서 sourceDB에 연결한 다음 TRANDATA에서 +를 눌러 복제에 필요한 테이블을 추가합니다.

    T16_1

  6. FINDATA.BANKS 테이블에 대한 새 레코드를 추가하고 제출을 누릅니다.

    T16_1

  7. FINDATA.OPERACOES 테이블에 대한 새 레코드를 추가하고 제출을 누릅니다.

    T16_1

  8. 테이블이 추가되었는지 확인하려면 FINDATA.*에 대한 필터를 누릅니다.

    T16_1

  9. 눌러서 targetDB에 연결한 다음 CHECKPOINT에서 +를 누릅니다.

    T16_1

    T16_1

  10. FINDATA.CHECKTABLE을 입력하고 Submit(제출)을 누릅니다.

    T16_1

  11. 이제 왼쪽 메뉴 개요 옵션을 눌러 새 추출을 포함합니다.

    T16_1

    T16_1

    T16_1

    T16_1

    • 다음 매개변수 포함:

      EXTRACT EXT
      USERIDALIAS sourceDB DOMAIN OracleGoldenGate
      EXTTRAIL E1
      table FINDATA.operacoes;
      table FINDATA.banks;
      
      
  12. 작업, 시작을 눌러 추출을 시작합니다.

    T16_1

  13. 이제 targetDB에 복제를 적용할 새 복제본을 만듭니다.

    T16_1

    T16_1

    T16_1

    • 다음 매개변수 포함:

      REPLICAT REP
      USERIDALIAS targetDB DOMAIN OracleGoldenGate
      MAP FINDATA.BANKS, TARGET FINDATA.BANKS;
      

    참고: 여기서는 FINDATA.BANKS 테이블만 복제됩니다. 이는 targetDB에 복제하기 때문입니다. 다른 테이블 FINDATA.OPERACOES는 이 자습서의 뒷부분에서 OCI 스트리밍 토픽으로 복제됩니다.

  14. Action, Start를 눌러 복제를 시작합니다.

    T16_1

    T16_1

  15. 복제가 FINDATA.BANKS 테이블에 대해 작동하는지 확인합니다. sourceDB의 데이터베이스 작업 페이지로 이동하고 새 레코드를 삽입합니다.

    INSERT INTO FINDATA.BANKS VALUES (999, 999, 'XXXXXX','TEST GOLDENGATE','TESTGG');
    COMMIT;
    

    T16_1

  16. targetDB에 대한 데이터베이스 작업 페이지를 열고 아래 질의를 실행하여 레코드가 생성되었는지 확인합니다.

     select * from FINDATA.BANKS WHERE ID_SEQ = 999;
    
    

    T16_1

  17. 배포 서비스 탭을 누르고 GGforBigData으로 데이터를 전송할 새 경로를 추가합니다.

    T16_1

    T16_1

    T16_1

  18. Action, Start를 눌러 서비스 배포를 시작합니다.

    T16_1

    T16_1

태스크 17: Oracle GoldenGate for Big Data 설정 - GGforBigData

  1. GGforBigData 배치를 선택하고 콘솔 실행을 누릅니다.

  2. oggadmin/yourpassword(배포 생성 중 만든 암호) 자격 증명을 입력합니다.

    T17_1

  3. 수신기 서비스 탭을 누르고 이미 작동 중인지 확인합니다. 두 Oracle GoldenGate 배치 간의 접속에 필요한 모든 설정을 이미 수행했으므로 다음과 같아야 합니다.

    T17_2

  4. 이제 OCI Streaming 주제에 데이터를 게시하려면 REPLICAT를 설정해야 합니다.

  5. 관리 서비스 탭을 누릅니다.

    T17_1

    T17_1

    T17_1

    • 다음 매개변수 포함:

       REPLICAT STRM
       TARGETDB LIBFILE libggjava.so SET property=/u02/Deployment/etc/conf/ogg/STRM.properties
       MAP FINDATA.operacoes, TARGET FINDATA.operacoes , THREADRANGE(1-5);
      
      

      T17_1

    • 이 행에 ${tableName}만 추가하고 제공된 모든 기본값을 사용합니다.

      T17_1

  6. Action, Start를 눌러 복제를 시작합니다.

    T17_1

    • 상태가 녹색인지 확인합니다.

      T17_1

작업 18: OCI Streaming 항목에 대한 복제 확인

  1. sourceDB의 데이터베이스 작업 페이지로 이동하여 FINDATA.OPERACOES 테이블에 일부 행을 삽입합니다.

    • load_random_data.sql 스크립트를 사용하여 무작위 데이터를 FINDATA.OPERACOES 테이블에 삽입할 수 있습니다.

    • 이 스크립트는 FINDATA.OPERACOES에 1.000개의 행을 추가하고 복제가 예상대로 작동하는지 확인하는 데 충분합니다.

      T17_1

  2. 다음 SQL 명령을 실행하여 FINDATA.OPERACOES에 레코드가 있는지 확인합니다.

    SELECT COUNT(*) FROM FINDATA.OPERACOES;
    

    T17_1

  3. 왼쪽 상단 탐색 메뉴를 누르고 분석 및 AI를 선택한 다음 스트리밍을 누르고 왼쪽 메뉴에서 스트림을 선택합니다.

  4. Oracle GoldenGate for Big Data에서 새 TOPIC가 자동으로 생성되었는지 확인합니다.

    T17_1

  5. 일부 메시지를 소비하고 메시지 로드를 눌러 해당 메시지가 토픽에서 사용 가능한지 확인하십시오.

    T17_1

중요 참고 사항: 메시지 로드는 마지막 MINUTE에서 소비된 메시지만 작동합니다. 즉, LOAD_RANDOM_DATA.SQL 스크립트를 실행한 후 메시지보다 오래 걸리면 결과가 표시되지 않습니다.

결과를 보려면 데이터베이스로 이동하여 LOAD_RANDOM_DATA.SQL 스크립트를 다시 실행한 다음 메시지 로드로 돌아가서 메시지가 표시됩니다.

승인

추가 학습 자원

docs.oracle.com/learn에서 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스할 수 있습니다. 또한 education.oracle.com/learning-explorer을 방문하여 Oracle Learning Explorer가 됩니다.

제품 설명서는 Oracle Help Center를 참조하십시오.