PostgreSQL 17 이상의 Oracle GoldenGate에 대한 복구 지원
PostgreSQL 17 이상에서 Oracle GoldenGate에 대한 페일오버 구성에 대해 알아봅니다.
PostgreSQL 17에서는 기본 서버와 대기 서버 간에 논리적 복제 슬롯의 자동 동기화를 지원합니다. 이 기능을 Oracle GoldenGate와 함께 사용하면 복제 슬롯을 수동으로 재생성할 필요 없이 Extract 프로세스를 원활하게 페일오버할 수 있습니다.
이 기능은 페일오버 이벤트 중 중단을 최소화하면서 지속적인 데이터 복제를 보장합니다.
Oracle GoldenGate for PostgreSQL 17 이상에 대한 페일오버 지원을 사용으로 설정하기 위한 필수 조건
페일오버 지원을 사용으로 설정하기 전에 다음을 확인하십시오.
-
PostgreSQL 버전 17 이상이 배치되었습니다.
-
기본 및 대기(복제본) 구성이 이미 설정되었습니다.
-
Oracle GoldenGate가 설치 및 구성되었습니다.
-
필요한 데이터베이스 권한을 사용할 수 있습니다.
Failover 지원 구성
PostgreSQL 기본 및 대기 서버와 Oracle GoldenGate Extract 측에서 다음 작업을 수행하여 페일오버 지원을 구성합니다.
-
PostgreSQL 기본 및 대기 서버를 구성합니다.
기본 서버에서: PostgreSQL 구성 매개변수를 업데이트합니다.
wal_level = logical max_replication_slots = *sufficient_value* sync_replication_slots = on synchronized_standby_slots = '*standby_slot_name*'대기 서버
구성 매개변수를 업데이트합니다.
hot_standby_feedback = on primary_slot_name = '*primary_physical_slot*' -
구성을 업데이트한 후 기본 서버와 대기 서버 모두에서 PostgreSQL를 다시 시작합니다.
-
Extract 프로세스를 등록하는 동안 페일오버 슬롯 지원을 사용으로 설정합니다.
Oracle GoldenGate 웹 인터페이스 사용
Extract for PostgreSQL를 만드는 동안 페일오버 복제 슬롯 토글 스위치를 사용으로 설정합니다.

AdminClient 사용
REGISTER EXTRACT *extract_name* FAILOVERSLOT;REST API 사용
POST /services/v2/extracts/AT { "credentials": { "alias": "fail1" }, "registration": "default", "failoverSlot": true } -
PostgreSQL 기본 및 대기 서버의 구성을 확인합니다.
기본 서버: 다음 질의를 실행합니다.
SELECT slot_name, slot_type, failover FROM pg_replication_slots;출력에 다음이 표시되어야 합니다.
-
슬롯 유형은
logical입니다. -
failover는true로 설정됩니다.
대기 서버: 다음 질의를 실행합니다.
SELECT slot_name, restart_lsn FROM pg_replication_slots;출력에 다음이 표시되어야 합니다.
-
동일한 슬롯이 대기 데이터베이스에 존재합니다.
-
LSN 값 진행 중
-
-
다음 단계를 수행하여 failover를 수행합니다.
-
구성된 고가용성 메커니즘을 사용하여 대기 서버를 기본 서버로 승격합니다.
-
새 기본 데이터베이스에 연결하도록 Extract 구성을 업데이트합니다.
-
Extract 프로세스를 시작하거나 재개합니다.
재초기화 없이 마지막으로 처리된 위치에서 복제가 계속됩니다.
-
-
복제 슬롯 상태 모니터:
SELECT slot_name, active, restart_lsn FROM pg_replication_slots;다음 사항을 확인하십시오.
-
슬롯이 활성 상태입니다.
-
LSN 재시작이 진행 중입니다.
-
과도한 WAL 누적 없음
-
-
사용되지 않는 복제 슬롯을 제거하면 과도한
WAL보존 및 디스크 사용이 방지됩니다.SELECT pg_drop_replication_slot('*slot_name*');
페일오버 지원 구성에 대한 모범 사례
PostgreSQL용 Oracle GoldenGate Extract로 페일오버 지원을 구성하려면 다음 모범 사례를 고려하십시오.
-
추출 생성 중 페일오버 슬롯 사용
-
복제 슬롯 상태를 정기적으로 모니터
-
정기적인 복구 테스트 수행
-
WAL 파일을 위한 충분한 디스크 공간 확보
제한 사항
-
Yugabyte Database Limitation(유가바이트 데이터베이스 제한): 페일오버 슬롯은 페일오버 슬롯을 지원하지 않는 이전 PostgreSQL 버전을 계속 사용하므로 유가바이트 데이터베이스에서 지원되지 않습니다.
-
Oracle GoldenGate Limitation with MIGRATE 명령: 새로 생성된 슬롯이
failover = true설정의 페일오버 슬롯이 아니므로 페일오버 슬롯이Migrate에서 작동하지 않습니다.
클라우드별 가이드라인
-
Amazon RDS for PostgreSQL: 다음 매개변수를 설정합니다.
rds.logical_slot_sync_dbname = '*database_name*'자세한 내용은 https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.pglogical.slot.synchronization.html을 참조하십시오.
-
PostgreSQL용 Azure 데이터베이스: 다음 작업이 수행됩니다.
-
Failover는 자동으로 관리됩니다.
-
논리적 복제가 사용으로 설정되었는지 확인합니다.
자세한 내용은 https://learn.microsoft.com/en-us/azure/postgresql/high-availability/concepts-high-availability#failover-support을 참조하십시오.
-
-
PostgreSQL 논리적 디코딩 세부 정보: PostgreSQL 논리적 디코딩에 대한 자세한 내용은 https://www.postgresql.org/docs/17/logicaldecoding-explanation.html을 참조하십시오.