Oracle GoldenGate의 데이터 복제 구성요소 정보
데이터 복제 구성 유형
Oracle GoldenGate는 다음과 같은 목적으로 구성할 수 있습니다.
-
한 데이터베이스에서 데이터 레코드를 정적 추출하고 해당 레코드를 다른 데이터베이스 또는 데이터 소스로 로드합니다.
-
소스 및 대상 데이터의 일관성을 유지하기 위해 트랜잭션 DML(데이터 조작어) 작업 및 DDL(데이터 정의어) 변경 사항(지원되는 데이터베이스의 경우)을 지속적으로 추출하고 복제합니다.
-
Oracle GoldenGate Distributed Applications and Analytics를 사용하여 지원되는 데이터베이스 소스 및 복제에서 빅데이터 및 파일 대상으로의 데이터 추출
Oracle GoldenGate 프로세스
Extract
추출 프로세스는 커밋된 데이터베이스 트랜잭션을 캡처해야 하는 소스 끝점에서 실행되도록 구성됩니다. 이 프로세스는 Oracle GoldenGate의 추출 또는 데이터 캡처 방식입니다.
다음 유형의 데이터 소스에서 데이터를 캡처하도록 추출 프로세스를 구성할 수 있습니다.
-
소스 테이블: 이 소스 유형은 초기 로드에 사용됩니다.
-
데이터베이스 복구 로그 또는 트랜잭션 로그: 로그에서 캡처하는 동안 실제 방식은 데이터베이스 유형에 따라 다릅니다. 이 소스 유형의 예로는 Oracle AI Database 리두 로그가 있습니다.
자세한 내용은 추출 정보를 참조하십시오.
Replicat
Replicat 프로세스는 추적 파일의 업데이트를 대상 데이터베이스에 적용합니다. Target Database의 트레일 파일을 읽고 DML 또는 DDL 작업을 재구성하여 Target Database에 적용합니다.
Replicat 프로세스는 동적 SQL을 사용하여 SQL 문을 한 번 컴파일한 다음 여러 바인드 변수로 여러 번 실행합니다. 복제된 작업을 대상 데이터베이스에 적용하기 전에 특정 시간을 대기하도록 Replicat 프로세스를 구성할 수 있습니다.
예를 들어, 에런트 SQL의 전달을 방지하거나, 여러 시간대에 걸친 데이터 도착을 제어하거나, 다른 계획된 이벤트가 발생할 시간을 허용하는 데 지연이 바람직할 수 있습니다.
Oracle GoldenGate의 두 가지 일반적인 사용 사례에 대해 Replicat는 다음과 같이 작동합니다.
-
초기 로드: 초기 로드에 대해 Oracle GoldenGate를 설정할 때 Replicat 프로세스는 정적 데이터 복사본을 대상 객체에 적용하거나 데이터를 고속 대량 로드 유틸리티로 라우팅합니다.
-
동기화 변경: 대상 데이터베이스를 소스 데이터베이스와 동기화되도록 Oracle GoldenGate를 설정할 때 Replicat 프로세스는 데이터베이스 유형에 따라 고유 데이터베이스 인터페이스 또는 ODBC를 사용하여 대상 객체에 소스 작업을 적용합니다.
여러 Replicat 프로세스를 하나 이상의 Extract 프로세스와 병렬로 구성하여 처리량을 늘릴 수 있습니다. 데이터 무결성을 유지하기 위해 각 프로세스 집합은 서로 다른 객체 집합을 처리합니다. Replicat 프로세스 간을 구분하기 위해 고유한 그룹 이름으로 Replicat 그룹을 생성할 수 있습니다.
여러 유형의 Replicats 모드에 대해 알아보려면 복제 정보를 참조하십시오.
데이터 전송에 대한 분배 경로
배포 경로 또는 DISTPATH는 끝점 사이의 추적 파일 경로를 정의합니다. 배포 경로는 배포 서비스에서 구성됩니다. 자세한 내용은 판매 서비스를 참조하십시오.
수신기 경로 또는 RECVPATH라고도 하는 대상 시작 배포 경로는 보안 대상 끝점이 있는 환경에서 수신기 서비스에서 배포 서비스로의 추적 경로를 정의합니다. 수신기 서비스 경로 추가를 참조하십시오.
Oracle GoldenGate 객체
Oracle GoldenGate 객체는 직접 수정해서는 안됩니다. 매개변수 파일, 추적, 체크포인트 파일 및 테이블 수정은 AdminClient 및 웹 인터페이스를 사용하여 REST API 호출을 통해서만 수정해야 합니다.
트레일 파일
트레일은 Oracle GoldenGate가 캡처된 변경 사항을 저장하여 데이터베이스 변경 사항을 지속적으로 추출하고 복제할 수 있는 일련의 디스크 파일입니다.
추적은 Oracle GoldenGate 구성 방법에 따라 소스 시스템, 중개 시스템, 대상 시스템 또는 이러한 시스템의 조합에 존재할 수 있습니다. 로컬 시스템에서는 Extract 트레일(또는 로컬 트레일)이라고 합니다. 원격 시스템에서는 이를 원격 추적이라고 합니다. Oracle GoldenGate는 스토리지 추적을 사용하여 데이터 정확성과 내결함성을 지원합니다. 또한 Trail을 사용하면 추출과 복제 작업이 서로 독립적으로 수행될 수 있습니다. 이러한 프로세스를 분리하면 데이터를 처리하고 전달하는 방법에 대한 추가 선택이 가능합니다. 예를 들어, 변경사항을 지속적으로 추출 및 복제하는 대신 대상 애플리케이션에 필요할 때마다 지속적으로 변경사항을 추출하여 나중에 대상으로 복제하기 위한 추적에 저장할 수 있습니다.
또한 트레일을 통해 Oracle AI Database는 이기종 환경에서 작동할 수 있습니다. 데이터는 일관된 형식으로 추적 파일에 저장되므로 지원되는 모든 데이터베이스에 대해 Replicat 프로세스에서 읽을 수 있습니다.
트레일 파일에 기록하는 프로세스
Oracle GoldenGate Extract가 추적 파일에 씁니다. 다른 경로에서 동일한 트레일 이름을 사용할 수 있지만 모든 로컬 트레일에는 서로 다른 전체 경로 이름이 있어야 합니다.
Oracle GoldenGate MA에서 배포 경로 및 수신기 경로는 원격 추적을 배포하는 데 사용됩니다. 배포 서비스와 수신 서비스는 각각 배포 경로와 수신기 경로를 구성하는 데 사용됩니다. 분배 경로는 추적을 네트워크를 통해 정의된 대상으로 전송합니다. 추적에는 원격 시스템으로 전송된 여러 Extracts의 데이터가 포함될 수 있습니다.
추적 파일에서 읽는 프로세스
Replicat 프로세스 및 배포 경로가 추적 파일에서 읽습니다. Extract는 로컬 트레일을 사용하여 DML 및 DDL 작업을 캡처하고, 필요한 경우 추가 처리를 수행하고, 데이터를 다음 Oracle GoldenGate 프로세스(Replicat)에서 읽은 트레일로 전송합니다.
분산된 배포의 경우 배포 서비스 프로세스는 원격 추적 파일을 읽고 네트워크를 통해 대기 중인 수신기 서비스 프로세스로 전송합니다.
Replicat 프로세스는 트레일을 읽고 복제된 DML 및 DDL 작업을 Target Database에 적용합니다.
추적 파일 생성 및 유지 관리
추적 파일은 처리 중에 필요에 따라 생성됩니다. 추적을 Oracle GoldenGate 구성에 추가할 때 추적에 대해 2자 이름을 지정합니다. 기본적으로 트레일은 Oracle GoldenGate 디렉토리의 하위 디렉토리에 저장됩니다. 추적 파일에 대해 9자리 시퀀스 번호를 지정할 수 있습니다.
새 파일이 생성될 때마다 000000000에서 99999999 사이의 고유한 9자리 시퀀스 번호가 추가된 2자리 트레일 이름이 상속됩니다. 시퀀스 번호가 999,999,999 또는 999,999(이전 설정에 따라 다름)에 도달하면 Extract 프로세스가 비정상 종료됩니다.
추적 파일을 비우도록 자동화된 유지 관리 작업을 설정하거나 관리 서비스에서 추적 파일을 수동으로 삭제하여 추적 파일을 일상적으로 비울 수 있습니다. 추적 파일 삭제 및 추적 트레일 비우기를 참조하십시오.
두 개 이상의 추적을 생성하여 데이터를 다른 객체나 응용 프로그램과 분리할 수 있습니다. 처리 능력을 최대화하고 시스템의 I/O 로드를 최소화하기 위해 추출된 데이터는 대형 블록의 트레일 안팎으로 전송됩니다. 트레일 파일 또는 트레일 시퀀스의 트랜잭션 순서는 보존됩니다.
매개변수 파일
대부분의 Oracle GoldenGate 기능은 파라미터 파일에 지정된 파라미터를 통해 제어됩니다. 매개변수 파일은 연관된 Oracle GoldenGate 프로세스에서 읽는 일반 텍스트 파일입니다.
Oracle GoldenGate Microservices Architecture는 다음 런타임 매개변수를 사용합니다.
-
전역 런타임 매개변수: GLOBALS 매개변수와 다릅니다. 파라미터 파일에 지정된 모든 데이터베이스 객체에 적용됩니다. 일부 전역 런타임 매개변수는 프로세스 동작에 영향을 주고 다른 매개변수는 메모리 사용률과 같은 영향을 줍니다.
USERIDALIAS는 전역 런타임 매개변수의 예입니다. 전역 매개변수는 파일에 한 번만 나열되어야 합니다. 두 번 이상 나열되면 마지막 인스턴스만 활성화되고 다른 모든 인스턴스는 무시됩니다. -
객체별 매개변수: 이러한 매개변수를 사용하면 여러 데이터베이스 객체 집합에 대해 서로 다른 처리 규칙을 적용할 수 있습니다.
GETINSERTS및IGNOREINSERTS는 객체별 매개변수의 예입니다. 각각은 영향을 받을 객체를 지정하는MAP문 앞에 나옵니다. 객체별 매개변수는 파일의 목록 순서대로 적용됩니다.
런타임 매개변수를 통해 다음과 같은 Oracle GoldenGate 동기화의 다양한 측면을 제어할 수 있습니다.
-
데이터 선택, 매핑, 변환 및 복제
-
DDL 및 시퀀스 선택, 매핑 및 복제(지원되는 경우)
-
오류 해결
-
로깅
-
상태 및 오류 보고
-
시스템 리소스 사용
-
시작 및 런타임 동작
여러 Extracts 및 Replicats를 단일 배치에서 실행할 수 있지만 각 Extract 및 Replicats는 단일 매개변수 파일과만 연관될 수 있습니다. 추출 및 복제는 대소문자를 구분하지 않는 이름으로 식별됩니다. 예를 들어, exte라는 Extract에는 exte.prm라는 1개의 연관된 매개변수 파일이 있습니다.
체크포인트 파일 및 테이블
Oracle GoldenGate는 추적 파일 내의 체크포인트 파일, 체크포인트 테이블 및 해당 값의 조합을 사용하여 데이터가 대상 플랫폼에 정확히 한 번만 적용되도록 합니다. Oracle GoldenGate는 소스 데이터베이스, 대상 데이터베이스 또는 Oracle GoldenGate 자체의 중단 또는 충돌이 발생하는 경우 데이터 복제 및 복구를 위해 이러한 객체를 사용합니다. 이러한 객체는 Oracle GoldenGate의 건전성에 매우 중요하며 Oracle Support의 직접적인 지침 없이 수정하거나 변경해서는 안됩니다.
체크포인트 테이블 추가 세부정보를 참조하십시오.
Extract, Path 및 Replicat별 체크포인트 사용
체크포인트는 온라인 변경 동기화 중에 프로세스의 현재 읽기 및 쓰기 위치를 저장하는 데 사용됩니다. 체크포인트는 동기화로 표시된 데이터 변경 사항이 추출되도록 하며 중복 추출을 방지합니다. 시스템, 네트워크 또는 Oracle GoldenGate 프로세스를 재시작해야 하는 경우 데이터 손실을 방지하여 내결함성을 제공합니다.
Extract, Path(Extract) 및 Delivery(Replicat)는 실패 시 복구할 수 있도록 위치를 체크포인트 파일에 저장합니다. Extract는 데이터 소스 및 추적에서 해당 위치에 대한 체크포인트를 생성합니다. Replicat는 추적에서 해당 위치에 대한 체크포인트를 생성합니다. 다음 다이어그램은 이 워크플로우를 보여줍니다.

체크포인트 정보는 기본 Oracle GoldenGate 디렉토리의 체크포인트 파일에서 유지 관리됩니다. $OGG_VAR_HOME/lib/checkpt
이것은 데이터베이스에 저장된 선택적 체크포인트 테이블과 혼동되지 않아야 합니다. Extract는 현재 체크포인트로 알려진 쓰기 체크포인트를 추적에 배치합니다. 현재 체크포인트는 Extract가 현재 쓰고 있는 추적의 위치입니다.
체크포인트는 프로세스의 현재 읽기/쓰기 위치를 저장합니다. 중복 추출을 방지하고 내결함성을 제공합니다.
Oracle GoldenGate는 정보 소스가 추적 파일 내에 있으므로 정보 제공 목적으로만 체크포인트를 사용합니다.
경로 체크포인트
배포 서비스 경로 체크포인트는 배포 간에 추적 파일을 전송할 때 마이크로서비스 아키텍처에 대한 추가적인 안정성 계층을 추가합니다. 다음 이미지는 배치에 사용되는 DISTPATH 체크포인트 방식에 대해 설명합니다.

현재 읽기는 마지막으로 읽은 내용의 체크포인트입니다. 체크포인트는 매초마다 변경 사항을 검사합니다. 이 빈도는 구성할 수 있습니다. 쓰기 체크포인트는 트레일에 마지막으로 기록된 항목을 식별합니다. Oracle GoldenGate는 추적에서 쓰기 위치를 추적합니다.
배포 서비스 경로는 커밋된 레코드만 처리하므로 열려 있는 트랜잭션을 인식하지 못합니다.
Replicat 검사점
Replicat는 체크포인트 테이블의 체크포인트를 만들어 마지막 읽기 및 적용 위치를 표시합니다.
프로세스 체크포인트를 보려면 INFO REPLICAT 명령을 SHOWCH 옵션과 함께 사용합니다. 기본 명령은 현재 체크포인트를 표시합니다.
현재 체크포인트는 Replicat가 추적에서 읽은 마지막 레코드의 위치이며 데이터베이스에 적용됩니다. 적용된 트랜잭션의 신뢰성 소스는 체크포인트 테이블입니다. Replicat 및 INFO 명령에서 사용되는 체크포인트 파일은 대략적인 권고 정보일 뿐입니다. 이 워크플로우를 이해하려면 다음 이미지를 참조하십시오.
