| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
- PostgreSQL Parameter 설정 방법
- 아카이브로그 삭제
- ogg 구성
- db upgrade
- PostgreSQL Parameter
- PostgreSQL 테이블스페이스 생성 삭제
- pgcrypto
- sql문 짤릴 때
- psql 복구
- pg_basebackup
- ogg-01028
- Archive delete
- OGG
- Linux
- table lock 조치 방법
- PostgreSQL Backup and Recovery
- 19c tde
- PostgreSQL 스키마 관리
- oracle error
- Goldengate
- PostgreSQL 아키텍처
- sql문 전체 출력 방법
- multitenant
- 다른계정에서 dblink 삭제방법
- oracle
- dblink 삭제
- PostgreSQL Install
- pg_dumpall
- ogg 설치 방법
- PostgreSQL Admin
- Today
- Total
인성장
[OGG] CDC 솔루션으로 DDL 동기화 구성 시 발생하는 이슈사항들 본문
CDC 솔루션을 이용하여 DDL 동기화 구성 시 발생하는 이슈사항들
이번 글에서는 OGG(Oracle GoldenGate)와 같은 CDC 솔루션에서 DDL 동기화 구성 시 발생할 수 있는 대표적인 이슈들을 정리해보았습니다. 사실 대부분의 CDC 솔루션이 Oracle → Oracle 환경에서는 DDL 동기화를 지원하지만, 여러 가지 문제점 때문에 과거에는 실무에서 비권장되는 경우가 많았습니다.
OGG의 Integrated Mode 기능이 등장하면서 DDL에 대한 동기화 안정성은 많이 향상되었다고 하지만, 여전히 불안 요소와 리스크가 존재합니다.
아래는 실무에서 자주 언급되는 이슈 사례들입니다.
1. A 계정이 B 계정에 DDL 수행 시 잘못된 테이블 이름 생성
특정 계정에서 다른 스키마 객체를 대상으로 DDL을 수행하면, OGG가 이를 잘못 인식해 Target DB에 엉뚱한 스키마명이나 테이블명으로 생성하는 경우가 있습니다.
ex) CREATE TABLE B.table_x (...) → Target 에서는 A.table_x로 생성됨.
2. 패키지/뷰/인덱스 생성 시
DML보다는 훨씬 복잡한 구조를 가지는 패키지, 뷰, 인덱스 같은 객체는 CDC에서 DDL 캡처 및 재생성이 불완전하거나 실패할 수 있습니다.
ex) CREATE OR REPLACE VIEW ...; → 구문이 Target DB에 반영되지 않고 무시됨.
3. DDL 재실행 위험
동일한 DDL 이벤트가 중복으로 적용되는 경우가 있습니다. 이는 Checkpoint나 Trail 파일 처리 과정에서 오류가 나면 Replay가 발생하기 때문입니다.
ex) ALTER TABLE ADD COLUMN col1; → Target 에서 두 번 실행되어 ORA-01430 에러 발생
4. UNSUPPORTED DDL
GoldenGate는 모든 종류의 DDL을 지원하지 않습니다. 특히 일부 Partition 관련 DDL, Online 옵션이 포함된 DDL은 Unsupported로 분류됩니다.
ex) ALTER TABLE ... MOVE PARTITION; → Trail에 기록은 되지만 적용 실패.
ex) ALTER INDEX REBUILD ONLINE; → 적용 불가.
5. RENAME, PARTITION 변경
테이블 이름 변경(RENME)이나 파티션 변경 작업은 CDC 환경에서 매우 취약합니다. Source와 Target의 오브젝트 매핑이 꼬여서 이후 DML 동기화까지 실패하는 경우가 많습니다.
ex) ALTER TABLE table_x RENAME TO table_y; → Target 에서는 table_x가 계속 사용되어 불일치 발생.
ex) Partition Drop 후 Insert 이벤트 반영 시 에러.
6. DDL 관련 Trigger/Procedure 오작동으로 인한 운영DB Hang
DDL 이벤트를 감지하기 위해 OGG에서 DDL 관련 스크립트를 제공하는데, 때때로 복잡한 로직 실행으로 인해 DDL 수행이 지연되어 세션 Hang이 발생할 수 있습니다.
이 밖에도 CDC 솔루션을 통한 DDL 동기화 관련해서 크고작은 이슈들이 많아, 실무경험을 바탕으로 저의 개인적인 생각으로는 CDC로 DDL 동기화는 실제 운영환경에서는 구성하지 않는 것이 바람직하지 않을까 생각됩니다.
'Oracle > Goldengate' 카테고리의 다른 글
| [OGG] [ERROR] [OGG-01028] 동기화 중 Trail 파일 누락 시 Replicat 신규 생성 및 동기화 재개 절차 방법 (2) | 2025.07.24 | 
|---|---|
| [OGG] OGG 설치 및 구성 방법 (2) (1) | 2025.06.19 | 
| [OGG] OGG 설치 및 구성 방법 (1) (0) | 2025.06.19 | 
| [OGG] Classic Mode vs Integrated Mode 비교 설명 (2) | 2025.04.30 | 
