GitHub와 DevOps를 활용하여 Oracle에서 Postgres로 원활하게 마이그레이션하기

작성자 비브호르 쿠마르 2024년 8월 7일

 

이 가이드를 활용하여 Oracle에서 Postgres로 효율적으로 마이그레이션하세요. DevOps와 GitHub를 활용하여 Postgres와 데이터베이스 마이그레이션을 성공적으로 수행하세요.

많은 조직들이 오라클에서 강력하고 비용 효율적인 오픈 소스 PostgreSQL로 마이그레이션하고 있습니다. EDB Postgres Advanced Server(EPAS)는 오라클 호환성 기능을 통해 이러한 전환을 원활하게 만듭니다. 그러나 대규모 마이그레이션에는 여전히 신중한 계획과 올바른 도구가 필요합니다.

이 블로그 게시물에서는 GitHub를 핵심으로 하는 DevOps 관행의 힘을 활용하는 포괄적인 마이그레이션 전략과 프로세스를 간소화하는 특수 EDB 도구를 간략하게 설명합니다.

Postgres 마이그레이션을 위한 초기 스키마 변환

다음 워크플로우는 EDB의 마이그레이션 툴킷과 마이그레이션 포털을 기반으로 합니다.

  • 평가 및 식별: 마이그레이션 포털 또는 마이그레이션 툴킷은 Oracle 스키마를 분석하여 잠재적인 비호환성과 수동 조정의 필요성을 강조합니다.
  • 스키마 분석: 대규모 스키마를 관리 가능한 SQL 스크립트(Tables.sql, Packages.sql, Procedures.sql 등)로 분할하여 집중적인 변환을 수행합니다.
  • 버전 관리 설정: GitHub 저장소를 시작하고 참조용으로 초기 Oracle 스키마를 “마스터” 브랜치에 저장합니다.
  • 변환을 위한 브랜치 생성: 마이그레이션 포털에서 생성된 변환 스크립트를 작업하기 위해 “마스터”에서 별도의 브랜치를 생성합니다. 이렇게 하면 변경 사항이 모듈화됩니다.

데이터베이스 마이그레이션 중 스키마 관리

데이터베이스 마이그레이션이 진행됨에 따라 GitHub가 스키마 관리를 위한 중앙 허브가 됩니다.

  • 분리를 위한 분기: 특정 스키마 수정을 위한 분기를 계속 생성합니다. 이렇게 하면 변경 사항을 테스트하고 개선하는 동안 기본 개발 환경을 안정적으로 유지할 수 있습니다.
  • 협업 및 추적: GitHub의 버전 관리는 원활한 협업과 모든 스키마 조정에 대한 투명한 이력을 보장합니다.

Oracle에서 Postgres로 마이그레이션을 위한 자동화된 문제 감지

오류 감지 및 품질 관리를 위한 자동화를 소개해 보겠습니다.

  • GitHub 액션: 코드가 저장소에 푸시될 때마다 자동 검사를 실행하도록 GitHub 액션을 설정합니다.
  • SPL 검사: EPAS의 “SPL 검사 확장 프로그램”을 GitHub 액션에 통합하여 Oracle 호환성 문제를 위해 SQL 및 PL/SQL 코드를 분석합니다.

데이터베이스 마이그레이션 중 호환성 검사 포인트

데이터베이스 마이그레이션 중 추가적인 검사 포인트를 제공하기 위해 GitHub 릴리스의 기능을 활용합니다.

  • 마일스톤 릴리스: 스키마의 중요한 부분이 변환될 때, GitHub 저장소 내에 릴리스를 생성합니다.
  • 호환성 재평가: 각 릴리스를 EDB 마이그레이션 포털에 업로드합니다. 그러면 변환된 스키마를 다시 분석하고 EPAS에 대한 호환성 점수를 제공합니다. 이로써 진행 상황을 추적하고 문제를 해결하는 데 도움이 됩니다.

Oracle에서 Postgres로 마이그레이션하는 데이터 검증

GitHub 액션을 확장하여 변환된 절차와 패키지가 예상대로 작동하는지 확인합니다.

  • 컨테이너화된 테스트: 액션은 EPAS와 샘플 데이터가 포함된 도커 컨테이너를 가동할 수 있습니다. 이 컨테이너들은 데이터베이스 기능을 검증하기 위한 격리된 테스트 환경이 됩니다.

데이터베이스 마이그레이션을 위한 성능 조정

성능을 간과하지 마십시오! 효율성에 집중하기:

  • CICD 통합: EPAS “DBMS_PROFILER” 도구는 지속적인 통합 및 배포(CICD) 파이프라인에 통합되어 성능 데이터를 수집하고 마이그레이션된 데이터베이스의 병목 현상을 정확히 찾아낼 수 있습니다.

ora2pg와 plpgsql_check를 사용하여 프레임워크 조정

ora2pg 도구를 사용하여 이러한 원칙과 작업 흐름을 오라클에서 포스트그레스로의 마이그레이션에 적용할 수 있습니다. 주요 단계는 다음과 같습니다.

  • ora2pg를 사용한 초기 변환: ora2pg를 사용하여 오라클에서 포스트그레스로의 초기 스키마와 데이터 변환을 수행합니다.
  • plpgsql_check를 통한 호환성 검사: “plpgsql_check” Postgres 확장 프로그램을 설치합니다. 이 확장 프로그램은 PL/pgSQL 코드의 호환성과 정확성을 검증하는 기능과 분석 도구를 제공합니다. 자동 검사를 위해 ora2pg 출력과 함께 GitHub Actions에 통합합니다.
  • 관리 및 자동화를 위한 GitHub: 버전 관리, 분기, 자동화를 위해 GitHub Actions을 사용하는 것의 핵심적인 이점은 ora2pg에서도 그대로 적용됩니다.

Postgres 마이그레이션: 프로덕션 롤아웃 및 전환

스키마 변환, 성능 최적화, 철저한 테스트를 성공적으로 마친 후, 프로덕션 롤아웃을 할 때입니다.

  • 프로덕션 환경 설정: 아키텍처, 백업/복구 전략, 관찰 가능성/모니터링 도구에 대한 모범 사례를 준수하는 프로덕션 준비가 완료된 Postgres 환경을 구축합니다.
  • 변경 데이터 캡처(CDC): CDC 솔루션(EDB Replication Server 등)을 구현하여 Oracle에서 새로운 Postgres 데이터베이스로 데이터를 지속적으로 동기화합니다. 이렇게 하면 전환 작업 중 다운타임을 최소화할 수 있습니다.
  • 애플리케이션 전환: 데이터 마이그레이션이 완료되면 애플리케이션을 Postgres 데이터베이스를 가리키도록 전환합니다.
  • 역복제: Postgres에서 Oracle로 복제를 설정합니다. 이것은 전환 후 예기치 않은 문제가 발생할 경우를 대비한 안전 장치 역할을 합니다.
  • 모니터링 및 폐기: 새로운 Postgres 환경을 몇 주 동안 면밀히 모니터링합니다. 모든 것이 순조롭게 진행되면, 레거시 Oracle 데이터베이스를 폐기할 수 있습니다.

참고: 이 마이그레이션 프레임워크는 데이터베이스 측면에 초점을 맞추고 있습니다. 개발자와 DBA는 애플리케이션 전환, 기능 테스트, QA 프로세스를 병행하여 통합해야 하며, 이상적으로는 성능 벤치마크 단계 이전에 통합해야 합니다.

성공적인 경로 Oracle에서 Postgres로 마이그레이션

이 포괄적인 데이터베이스 마이그레이션 전략은 DevOps 원칙과 강력한 도구를 기반으로 구축되었으며, Oracle에서 Postgres로 마이그레이션하는 데 있어 신뢰할 수 있고 효율적인 경로를 제공합니다. 자동화, 협업, 정기적인 호환성 검사, 반복적인 개선 프로세스, 신중한 생산 롤아웃 계획을 강조함으로써 마이그레이션을 간소화하고 성공적인 전환을 보장할 수 있습니다.

 

본문: Streamline Oracle to Postgres Migration with GitHub and DevOps

 

EDB 영업 기술 문의: 02-501-5113

이메일: salesinquiry@enterprisedb.com

홈페이지 문의하기