초기 로드 추출을 사용하여 PostgreSQL에 대한 정확한 인스턴스화
소스 PostgreSQL 데이터베이스에서 Oracle GoldenGate 대상으로의 데이터 동기화는 선택적 정확한 인스턴스화 방법을 사용하여 수행할 수 있습니다. 이 방법은 Oracle GoldenGate 21c(21.8.0)에서 도입되었습니다.
정확한 인스턴스화는 대상 Replicat에서 충돌 처리가 필요하지 않다는 장점이 있습니다. 이는 플랫 파일과 같은 충돌 처리를 지원하지 않는 대상에 중요합니다. 이 방법은 데이터베이스 스냅샷을 사용하여 초기 로드 Extract의 출력을 변경 데이터 캡처 추출의 시작 위치와 동기화합니다. 이 스냅샷은 초기 로드 Extract에서 관리되므로 다중 초기 로드 Extract가 동일한 스냅샷을 사용할 수 없습니다. 따라서 다중 초기 로드 추출을 사용하여 작업 로드를 병렬화할 때는 이 방법이 지원되지 않습니다.
다음 예에서는 마이크로서비스 아키텍처 내의 관리 클라이언트를 사용합니다. 사용자는 Oracle GoldenGate를 잘 알고 있으며 필요한 모든 전제 조건과 함께 소스 및 대상 데이터베이스를 올바르게 설정했다고 가정합니다. 이러한 단계에는 최소 Oracle GoldenGate 21c(21.8.0) 이상이 필요합니다.
정확한 인스턴스화 방법을 사용하여 엔드투엔드 초기 로드 및 동기화 프로세스를 설정하려면 다음 단계를 수행합니다.
-
CDC(변경 데이터 캡처) Extract를 소스 PostgreSQL 데이터베이스에 등록합니다.
DBLOGIN USERIDALIAS src_alias REGISTER EXTRACT extecdc이 예에서
extecdc은 Extract 이름입니다. 마이크로서비스 아키텍처의 경우 데이터베이스 연결 설정에DBLOGIN USERIDALIAS를 사용합니다. -
초기 로드 Extract를 생성합니다.
ADD EXTRACT extinit, SOURCEISTABLE EDIT PARAMS extinit초기 로드 Extract 매개변수 파일은
INITIALLOADOPTIONS USESNAPSHOT매개변수를 포함해야 합니다. 예:EXTRACT extinit INITIALLOADOPTIONS USESNAPSHOT SOURCEDB USERIDALIAS src_alias EXTFILE west/ei, MEGABYTES 500, PURGE TABLE public.*;USESNAPSHOT옵션과 함께 이 매개변수의 사용에 대한 자세한 내용은INITIALLOADOPTIONS를 참조하십시오. -
초기 로드 Extract를 시작합니다.
START EXTRACT extinit -
초기 로드 Extract가 완료 및 정지되면 보고서 파일을 검토하여 CDC Extract에서 사용할 위치 지정 LSN을 확인합니다.
예를 들어, 다음 출력에서 CDC Extract가 사용할 위치 지정 LSN은 '0/173F770'입니다.
INFO OGG-100001 A consistent point is established in database 'tpcc' using replication slot ogg_initx_1234 at LSN 0/173F770 and snapshot name '00000003-00000026-1'.INFO OGG-100002 Create or position the CDC extract to LSN 0/173F770. Example: ADD EXTRACT <cdc-extract> TRANLOG LSN 0/173F770 or ALTER EXTRACT <cdc-extract> LSN 0/173F770. -
초기 로드 Extract에서 트레일을 읽는 초기 로드 Replicat를 생성하고 시작합니다.
DBLOGIN USERIDALIAS tgt_aliasADD CHECKTPOINTTABLE ggs.checkpointADD REPLICAT repinit, EXTTRAIL west/ei, CHECKPOINTTABLE ggs.ggcheckpointSTART REPLICAT repinit다음은 초기 로드 Replicat 매개변수 파일의 예입니다.
REPLICAT repinit TARGETDB USERIDALIAS tgt_alias BATCHSQL MAP public.*, TARGET public.*; -
초기 로드 추출 보고서 파일에서 참조된 일관성 있는 LSN 값을 사용하여 CDC 추출(
extecdc)을 추가하고 시작합니다.ADD EXTRACT extecdc, TRANLOG, LSN 0/173F770ADD EXTTRAIL ea, EXTRACT extecdcSTART EXTRACT extecdc다음은 CDC Extract 매개변수 파일의 예입니다.
EXTRACT extecdc SOURCEDB USERIDALIAS src_alias EXTTRAIL west/ea TABLE public.*; -
초기 로드 Replicat가 모든 초기 로드 레코드를 처리한 경우 CDC Extract에서 트레일을 읽는 CDC Replicat를 추가하고 시작합니다.
ADD REPLICAT repecdc, EXTTRAIL west/ea, CHECKPOINTTABLE ggs.ggcheckpointSTART REPLICAT repecdc -
CDC Extract와 CDC Replicat 모두에서 지연을 모니터링하고, 둘 다 0초에 가까운 경우 소스 데이터베이스에서 대상 데이터베이스로의 데이터 스트림이 실시간에 가까워야 합니다.