이기종 DB 전환
상용 DB 에서 오픈소스 DB 로 스키마·코드·데이터를 전환합니다.
- Oracle → PostgreSQL
- Tibero → PostgreSQL
- SQL Server → PostgreSQL / MySQL
- Oracle → MySQL / MariaDB
Scenarios
상용 DB 에서 오픈소스 DB 로 스키마·코드·데이터를 전환합니다.
자체 구축 DB 를 클라우드 VM 또는 관리형 DB 로 옮깁니다.
같은 엔진의 메이저 버전 업그레이드와 서버 이전을 수행합니다.
여러 DB 를 통합하거나 업무 단위로 분리합니다.
Methodology
각 단계는 산출물과 다음 단계로 넘어가는 기준(게이트)을 가집니다.
객체·데이터량·트랜잭션 패턴·의존 애플리케이션을 조사하고 자동 변환률과 수작업 범위를 추정합니다.
타깃 아키텍처, 데이터 타입 매핑, 문자셋, 이행 방식(일괄/CDC), 다운타임 목표를 정합니다.
스키마·PL/SQL·뷰·트리거·시퀀스를 변환하고 애플리케이션 SQL 수정 범위를 확정합니다.
초기 적재 후 CDC 로 변경분을 따라잡으며, 리허설로 소요 시간을 실측합니다.
건수·체크섬·집계·업무 쿼리 결과를 비교하고 성능 테스트를 수행합니다.
쓰기 중지 → 최종 동기화 → 검증 → 연결 전환 순서로 진행하고 Go/No-Go 를 판정합니다.
전환 직후 성능·오류를 집중 모니터링하고 튜닝 후 운영 조직에 인계합니다.
Migration flow
Tools
도구는 목적에 맞게 조합하며, 특정 도구를 전제로 하지 않습니다.
| 도구 | 용도 | 참고 |
|---|---|---|
| ora2pg | Oracle → PostgreSQL 스키마·코드·데이터 변환 | 오픈소스 · 변환 리포트로 난이도 산정 |
| AWS DMS · DMS Schema Conversion · AWS SCT | AWS 로의 이기종/동종 이행, 전체 적재 + CDC | SCT 는 데스크톱 도구, DMS SC 는 관리형 |
| Azure Database Migration Service | MySQL → Azure Database for MySQL 등 | Oracle → PostgreSQL 은 미지원 — ora2pg 등 사용 |
| Migration service in Azure Database for PostgreSQL | PostgreSQL → Azure flexible server | 온라인/오프라인 이행 |
| Google Database Migration Service | MySQL·PostgreSQL 동종, Oracle·SQL Server → Cloud SQL for PostgreSQL / AlloyDB | 변환 작업공간 · CDC |
| NCP Database Migration Service | 네이버클라우드 Cloud DB 로의 이행 | 지원 경로는 공식 문서 확인 |
| pgloader | MySQL·SQL Server 등 → PostgreSQL 적재 | 타입 변환 규칙 지정 |
| mysqldump · mydumper/myloader | MySQL·MariaDB 논리 백업·병렬 적재 | 대용량은 mydumper 병렬화 |
| Debezium (CDC) | 변경 데이터 캡처 → Kafka 기반 동기화 | 최소 다운타임·병행 운영 |
| Oracle GoldenGate | 원천 측 CDC (고객이 이미 보유한 경우) | 라이선스는 고객 보유분 기준 |
Validation
“옮겼다”가 아니라 “같다”를 증명합니다.
Downtime & rollback
Deliverables
FAQ
대부분 CDC 로 다운타임을 크게 줄일 수 있지만, 최종 동기화와 연결 전환을 위한 짧은 쓰기 중지 구간은 일반적으로 필요합니다. 목표 시간은 리허설 결과로 확정합니다.
진단 단계에서 ora2pg 등의 리포트로 자동 변환 가능 범위와 수작업 범위를 먼저 산정하고, 그 결과로 일정과 비용을 정합니다.
Tibero 는 Oracle 호환 DBMS 이지만 ora2pg 의 공식 지원 대상이 아닙니다. 접속 방식·변환 범위는 고객 환경에서 PoC 로 먼저 확인하며, 자동 변환되지 않는 객체는 수작업 변환 목록으로 관리합니다.
네. 클라우드 MSP 와 오픈소스 DB 유지보수로 이어서 운영할 수 있습니다.
사용 중인 클라우드·DB 버전·구성과 고민을 알려주시면 진단 범위와 진행 방식을 제안드립니다.