주:

Oracle Database를 사용하여 Oracle Cloud Infrastructure의 여러 지역에 걸쳐 Oracle GoldenGate Microservices 배포

소개

Oracle GoldenGate 마이크로서비스 아키텍처(MA)는 여러 데이터베이스 환경에서 데이터 복제를 관리하고 구성할 수 있는 복제 도구입니다. RESTful 서비스와 마이크로서비스 기반 아키텍처를 사용하여 클라우드 배포의 관리, 구성 및 모니터링을 단순화합니다.

이미지

Oracle GoldenGate 23ai:

Oracle GoldenGate 23ai 평가 내역

이미지

Oracle GoldenGate 23ai 기능

이미지

Oracle GoldenGate 구현

이 사용지침서에서는 소스 및 대상 데이터베이스를 OCI의 서비스로 Oracle Database 23ai 및 Oracle GoldenGate 23ai 마이크로서비스로 사용하여 소스 데이터베이스(DB) 애슈번 영역에서 대상 DB 산호세 영역으로 데이터를 복제합니다. Oracle GoldenGate는 두 지역에 배포할 수 있습니다. 산호세 지역에 Oracle GoldenGate를 배치하고 동일한 Oracle GoldenGate 배치를 사용하여 소스 및 대상 데이터베이스를 모두 연결합니다.

이미지

주: 단순화된 다이어그램입니다. 실제 네트워크 이름은 다를 수 있습니다.

환경:

OCI 지역 구획 VCN 서브넷 CDB PDB 저장소 주요 이산 Golden Gate
애슈번 데이터베이스/NonProd VCN_ASH 선술집/Pri_VCN_ASH VMDB1 VMDB1_PDB1 Vault_ASH NA NA NA
San Jose 데이터베이스/NonProd VCN_SJ 선술집/Pri_VCN_SJ VMDB2 VMDB2_GG Vault_SJ GGKey oggadmin OGG_Dep_23ai

대상

이 사용지침서는 시스템 관리자와 데이터베이스 사용자가 Oracle GoldenGate 마이크로서비스에 대해 알아볼 수 있도록 작성되었습니다. 사용자가 Oracle GoldenGate 기술, 웹 기술, OCI에 대해 잘 알고 있으며 UNIX 플랫폼에 대한 일반적인 사항을 이해하고 있다고 가정합니다.

목표

필요 조건

작업 1: Oracle GoldenGate 배치 프로비전

OCI에서 Oracle GoldenGate 배치를 서비스로 프로비전하려면 배치 및 접속을 생성할 사용자에 대한 최소 정책이 필요합니다. 유지 관리 중 추가 작업은 배치를 정지하고 시작하는 것입니다.

다음 정책이 필요합니다.

allow group <identity-domain>/<group-name> to manage goldengate-family in compartment <compartment-name>
allow group <identity-domain>/<group-name> to manage virtual-network-family in compartment <compartment-name>
allow service goldengate to {idcs_user_viewer, domain_resources_viewer} in tenancy
allow group <identity-domain>/<group-name> to manage secret-family in <location>
allow group <identity-domain>/<group-name> to use keys in <location>
allow group <identity-domain>/<group-name> to use vaults in <location>
allow service goldengate to use keys in <location>
allow service goldengate to use vaults in <location>

Oracle GoldenGate 배치를 프로비전하려면 OCI 콘솔로 이동하여 해당 영역 및 컴파트먼트를 선택합니다.

  1. Oracle Database를 누르고 GoldenGate을 선택합니다.

  2. 배포를 선택하고 배포 생성을 누릅니다.

  3. 배치의 이름을 입력하고, Oracle GoldenGate 배치가 상주해야 하는 구획을 생성하고, 배치 또는 테스트를 선택하고, OCPU 개수를 입력합니다. 현재 자동 스케일링을 사용 안함으로 설정했으며, 나중에 사용으로 설정할 수 있습니다. 서브넷, 라이센스 유형을 선택하고 다음을 누릅니다.

    이미지

  4. 배치 유형, Oracle GoldenGate의 버전GoldenGate 인스턴스 이름을 선택하고, 관리자 사용자 이름oggadmin으로 입력하고, [필요 조건] 섹션에서 암호가 생성된 컴파트먼트 이름을 제공하고, 드롭다운 메뉴에서 비밀번호 암호를 선택하고, 생성을 누릅니다.

    이미지

    Oracle GoldenGate 배치를 생성하려면 몇 분 정도 걸립니다. Oracle GoldenGate 배치는 (root)/Database/NonProd 컴파트먼트 아래에 생성됩니다.

작업 2: Oracle GoldenGate 콘솔에 로그인

  1. Oracle GoldenGate 배치가 완료되면 배치를 열고 콘솔 실행을 누릅니다.

    이미지

  2. 배치 생성 중 사용된 Oracle GoldenGate 배치 사용자 이름비밀번호를 사용하여 로그인합니다(Ex.oggadmin/password).

    이미지

작업 3. 소스 및 대상 데이터베이스 준비

주: Oracle GoldenGate 23ai부터는 루트 레벨 추출이 지원되지 않습니다. 즉, 사용자 권한이 PDB 레벨에서만 지정되고 c##ggadmin 사용자가 Oracle GoldenGate 23ai와 함께 사용되지 않습니다. Oracle GoldenGate 23ai with Oracle Database를 사용하면 소스 및 대상에 대해 PDB(플러그인할 수 있는 데이터베이스)를 구현할 수 있습니다. Extract는 PDB별 추출이라고 하는 특정 PDB에 대해 등록됩니다.

  1. 소스 데이터베이스에서 강제 로깅이 사용으로 설정되었는지 확인하십시오.

    select name, force_logging from v$database;
    ALTER DATABASE FORCE LOGGING;
    select name, force_logging from v$database;
    
  2. 최소 보완 로깅을 사용으로 설정합니다.

    SELECT supplemental_log_data_min "Minimum", supplemental_log_data_pk  "Primary key", supplemental_log_data_ui  "Unique Key",
    supplemental_log_data_fk  "Foreign Key",supplemental_log_data_all "All" FROM  v$database;
    
    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
    
    SELECT supplemental_log_data_min "Minimum", supplemental_log_data_pk  "Primary key", supplemental_log_data_ui  "Unique Key",
    supplemental_log_data_fk  "Foreign Key",supplemental_log_data_all "All" FROM  v$database;
    
  3. Oracle GoldenGate 추출에 대한 매개변수를 변경합니다.

    Show parameter enable_goldengate_replication
    show parameter streams_pool_size
    ALTER SYSTEM SET enable_goldengate_replication=TRUE SCOPE=BOTH;
    alter system set streams_pool_size=2G scope=both sid='*';
    Show parameter enable_goldengate_replication
    show parameter streams_pool_size
    
  4. 원본 데이터베이스(PDB)에서 다음 query를 실행합니다.

    alter session set container=VMDB1_PDB1;
    create tablespace ggs_tbs;
    create tablespace gguser_tbs;
    create user GGADMIN identified by PPassword_123 default tablespace ggs_tbs quota unlimited on ggs_tbs profile C##GGADMINPROFILE;
    
    GRANT CONNECT, RESOURCE TO GGADMIN;
    GRANT CREATE ANY TABLE, ALTER ANY TABLE, DROP ANY TABLE, SELECT ANY TO GGADMIN;
    GRANT OGG_CAPTURE TO GGADMIN;
    grant select any dictionary to GGUSER;
    grant select any transaction to GGUSER;
    
  5. PDB(대상 데이터베이스)에서 다음 질의를 실행합니다.

    alter session set container=VMDB1_GG;
    create tablespace ggs_tbs;
    create tablespace gguser_tbs;
    
    create user GGADMIN identified by PPassword_123 default tablespace ggs_tbs quota unlimited on ggs_tbs profile C##GGADMINPROFILE;
    
    GRANT CONNECT, RESOURCE TO GGADMIN;
    GRANT CREATE ANY TABLE, ALTER ANY TABLE, DROP ANY TABLE, SELECT ANY TO GGADMIN;
    GRANT OGG_APPLY, OGG_APPLY_PROCREP  TO GGADMIN;
    grant select any dictionary to GGUSER;
    grant select any transaction to GGUSER;
    

작업 4. 소스 및 대상 데이터베이스에 대한 접속 생성

Oracle GoldenGate 배치 및 데이터베이스가 준비되면 Oracle GoldenGate 서비스와 데이터베이스 간에 접속해야 합니다.

  1. OCI 콘솔에 로그인하여 지역 및 컴파트먼트를 선택합니다.

  2. Oracle Database를 누르고 GoldenGate을 선택합니다.

  3. 연결을 선택하고 연결 생성을 누릅니다.

  4. 접속의 이름, 접속을 생성할 구획, 데이터베이스에 대한 유형을 입력하고 다음을 누릅니다.

    이미지

  5. 소스 데이터베이스에 대한 접속을 생성하려면 다음 정보를 입력하고 생성을 누릅니다.

    • 데이터베이스가 다른 지역에 있으므로 데이터베이스 정보 입력을 선택합니다.
    • 데이터베이스 접속 문자열: 호스트 이름에 DNS가 이를 분석해야 하므로 IP를 호스트 이름으로 입력합니다.
    • 데이터베이스 사용자 이름: 작업 3에서 생성된 GGADMIN를 입력합니다.
    • 데이터베이스 사용자 비밀번호: 데이터베이스 사용자 비밀번호를 입력합니다.
    • 트래픽 경로 지정 방법: 전용 끝점을 선택합니다.
    • 세션 모드: 직접을 선택합니다.
    • 서브넷 퍼블릭: Subnet-VCN_SJ를 입력합니다.

    이미지

    (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.192)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = vmdb1_pdbsub02090909270.vcnash.oraclevcn.com)))
    

    접속이 생성되면 GoldenGate에서 접속 세부정보를 열고 지정된 배치배치 지정을 누릅니다.

    이미지

  6. 소스와 마찬가지로 대상 데이터베이스에 대한 OGG_VMDB2_SJ 접속을 생성하고 배치를 지정합니다. Oracle GoldenGate와 Oracle Database가 동일한 리전 및 VCN에 있으므로 다음 스크린샷과 같이 데이터베이스를 직접 선택할 수 있습니다.

    이미지

    데이터베이스가 동일한 지역에 있으므로 데이터베이스를 직접 선택하고 작업 3에서 생성한 GGADMIN에 대한 데이터베이스 유저 이름과 암호를 입력할 수 있습니다.

    이미지

  7. Oracle GoldenGate에서 소스 및 대상 접속을 검증합니다. 접속이 생성되면 Oracle GoldenGate 콘솔에 로그인합니다. DB 접속을 누르면 모든 접속이 표시됩니다. 소스 및 대상 연결을 누르고 두 연결이 모두 해결되는지 확인합니다.

    이미지

태스크 5: 구성 추출

  1. trandata 추가.

    주: TRANDATA를 추가하여 테이블 레벨 추가 기능을 사용으로 설정했는지 확인하십시오. 스키마 레벨 보완 로깅이 이미 활성화된 경우 이러한 단계를 건너뛸 수 있습니다.

    1. trandata를 추가하려면 먼저 Oracle GoldenGate Console에서 소스 데이터베이스에 접속해야 합니다. 원본 데이터베이스 연결을 누릅니다.

    2. +를 누르고 테이블 또는 스키마를 선택한 다음 테이블 이름 또는 스키마 이름을 입력합니다.

      테이블 레벨 복제의 경우 테이블을 선택하고 테이블 이름을 <Schema_Name.Table_Name> 형식으로 입력합니다.

    3. 테이블에 키가 없는 경우 모든 열을 선택하고 지금으로 CSN 모드 준비를 선택합니다.

      이미지

    4. trandata가 추가되면 다음 이미지와 같이 검색 표시줄에 테이블 또는 스키마 이름을 지정하여 검색할 수 있습니다.

      이미지

  2. 통합 Extract를 생성합니다.

    1. Oracle GoldenGate 콘솔에서 소스 데이터베이스(PDB) OGG_VMDB1_PDB1_ASH 접속에 접속하고 CheckPoint 테이블을 생성합니다.

      이미지

    2. Oracle GoldenGate 콘솔에서 소스 데이터베이스(PDB) OGG_VMDB1_PDB1_ASH 접속에 접속하고 대상 데이터베이스에 대해서만 하트비트 테이블을 생성합니다.

      이미지

  3. 통합 Extract를 추가합니다.

    1. trandata가 성공적으로 추가되면 언급된 테이블 또는 스키마에 대한 통합 Extract를 추가합니다. Oracle GoldenGate 탐색 메뉴에서 추출을 선택합니다. 추출 섹션에서 +를 누릅니다.

    2. 통합 추출을 선택하고 프로세스 이름(최대 8자) 및 설명을 입력합니다.

      이미지

    3. Select OracleGoldenGate as the source credential Domain from the drop-down menu, credential Alias, Trail, Encryption Profile and so on.

      이미지

    4. 관리되는 옵션 섹션에서 프로파일 이름, 자동 재시작, 최대 재시도, 재시도 지연 시간(분), 재시도 창을 선택하고 다음을 누릅니다.

      이미지

    5. 기본 매개변수 파일이 생성되면 필요한 경우 매개변수 파일에 필요한 매개변수를 추가하고 생성을 누릅니다.

      이미지

      DEV 추출에 사용되는 매개변수입니다.

      EXTRACT EX_VMDB1
      USERIDALIAS OGG_VMDB1_PDB1_ASH DOMAIN OracleGoldenGate
      EXTTRAIL et
      TABLE GG_ASH.*;
      
  4. 통합 Extract를 시작합니다.

    1. 추출이 생성되면 시작을 누릅니다.

      이미지

      추출이 성공적으로 실행되면 실행 중 상태로 표시됩니다.

      이미지

    2. 추출 프로세스를 확장하면 체크포인트, 통계 및 보고서와 같은 여러 섹션이 표시됩니다. 현재 보고서를 볼 수 있습니다. 보고서 또는 통계를 새로 고치려면 오른쪽에서 새로 고침을 누릅니다.

      이미지

작업 6: 초기 데이터 로드

  1. 소스 PDB에서 언급된 스키마의 SCN 기반 익스포트 덤프를 가져옵니다.

    $mkdir -p /u01/app/oracle/dump
    
    SQL>  alter session set container=VMDB1_PDB1;
    set lines 300 pages 100
    col DIRECTORY_NAME for a30
    col DIRECTORY_PATH for a100
    select DIRECTORY_NAME,DIRECTORY_PATH from dba_directories where DIRECTORY_NAME='DUMP' ;
    
    create directory dump as '/u01/app/oracle/dump';
    grant read,write on directory DUMP to GG_ASH;
    
    SQL> select current_scn from v$database;
    
    CURRENT_SCN
    -----------
       20049713
    
    expdp GG_ASH/PPassword_123@VMDB1_PDB1_ASH directory=dump dumpfile=GG_ASH.dmp logfile=GG_ASH.log schemas=GG_ASH FLASHBACK_SCN=20049713
    
  2. 대상 PDB의 데이터를 임포트합니다.

    주: 이 자습서에서는 DBA에게 GG_ash에 대한 액세스 권한을 부여했지만 요구사항에 따라 액세스 권한을 부여할 수 있습니다.

    $mkdir -p /u01/app/oracle/dump/
    SQL> alter session set container=VMDB2_GG1;
    SQL> create user GG_ash identified by PPassword_123 default tablespace ggs_tbs quota unlimited on ggs_tbs ;
    SQL> grant DBA to GG_ash;
    SQL> create directory dump as '/u01/app/oracle/dump';
    SQL> grant read,write on directory DUMP to GG_ASH;
    [oracle@sjvmdb2 admin]$ cp /tmp/GG_ASH.dmp /u01/app/oracle/dump/GG_ASH.dmp
    [oracle@sjvmdb2 admin]$ impdp GG_ASH/PPassword_123@VMDB2_GG1 directory=dump dumpfile=GG_ASH.dmp logfile=imp_GG_SJ.log
    

작업 7: Replicat 구성

  1. Integrated Replicat를 생성합니다.

    1. trandata를 추가하려면 먼저 Oracle Goldengate Console에서 소스 데이터베이스에 연결해야 합니다. 왼쪽 창에서 복제를 선택하고 복제에서 +를 누릅니다.

    2. 통합 복제를 선택하고 복제 이름, 설명을 입력한 다음 다음을 누릅니다.

      이미지

    3. Replicat Trail(추출 프로세스 - 작업 5에 지정된 것과 동일), 암호화 프로파일, 도메인, 별칭, CheckPoint 테이블(추출 중 생성됨 - 작업 5) 및 로그 위치를 입력합니다.

      이미지

    4. 관리되는 옵션 섹션에서 프로파일 이름, 자동 재시작, 최대 재시도, 재시도 지연, 재시도 창을 선택하고 다음을 누릅니다.

      이미지

    5. 기본 파라미터 파일이 생성되면 필요한 경우 매개변수 파일에 필요한 매개변수를 추가하고 생성을 누릅니다.

      이미지

  2. flashback_SCN에서 Replicat를 시작합니다.

    1. Replicat 프로세스가 생성되면 세 개의 점과 옵션으로 시작을 누릅니다.

      이미지

    2. 내보내기를 수행하는 동안 플래시백 SCN으로 사용한 SCN 번호인 시작점CSN 이후CSN 번호로 선택합니다. 중복 필터링을 사용으로 설정하고 시작을 누릅니다.

      이미지

    3. 복제를 누르면 체크포인트, 통계 및 보고서와 같은 여러 섹션이 표시됩니다. 보고서 또는 통계를 새로 고치려면 오른쪽에서 보고서새로 고침을 누릅니다.

      이미지

작업 8: 데이터 복제 검증

  1. Extract 및 Replicat가 구성되면 Oracle GoldenGate 콘솔에 로그인하고 을 누릅니다. Extract와 Replicat가 모두 실행 중인 것을 확인할 수 있습니다.

  2. 소스 데이터베이스(PDB)에 일부 데이터를 삽입합니다. 대상 데이터베이스(PDB)에도 동일한 데이터가 반영되어야 합니다.

    이미지

  3. 소스 데이터베이스에 접속

    이미지

  4. 대상 데이터베이스에 접속합니다.

    이미지

확인

추가 학습 자원

docs.oracle.com/learn에서 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 Oracle Learning Explorer가 되려면 education.oracle.com/learning-explorer을 방문하십시오.

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