[Oracle] 이행 절차

prana·2025년 3월 25일
1

ORACLE

목록 보기
92/96

절차

이행사전준비
고객사 환경파악
다운타임 확인
이행 대상 확정
이행 방법론 확정
테스트 플라이트 시나리오 작성
데이터 검증 시나리오 작성
다운타임 시간 확정
본이행
본이행 날짜 확인
본이행 진행
데이터 검증
오브젝트 건수 상태 확인
go live 결정
안정화
성능관련 및 alert trace log 확인


주요 단계

자문 단계

  • 현재 환경 평가: 기존 데이터베이스의 하드웨어, 소프트웨어 및 네트워크 구성을 평가하여 현재 상태를 파악
    • 마이그레이션 계획의 기준을 제공, 필요한 인프라 업그레이드를 식별
  • 비즈니스 요구 사항: 비용 절감, 성능 개선 또는 향상된 보안 기능 등 마이그레이션 목표를 정의
  • 타당성 조사
    • 클라우드 이전, 온프렘 설정 유지 등 다양한 마이그 옵션을 고려, 각각에 대한 기술적 및 재정적 타당성을 평가한다.
    • 허용 가능한 다운타임과 예산 제약 고려, 조직에 가장 실용적인 마이그레이션 방식을 선택

계획 단계

  • 마이그레이션 전략
    • 다운타임 최소화하기 위한 단계적 접근 방식과 같이 필요에 가장 적합한 전략을 개발한다.
  • 타임라인 및 리소스 계획
    • 진행상황 추적하기 위한 마일스톤 설정,
    • 책임을 명확히 하기 위해 팀 역할을 담당한다.
    • 명확한 타임라인과 역할 정의는 프로젝트를 체계적으로 유지하고 리소스 병목 현상을 방지한다.
  • 위험관리
    • 데이터 손실, 호환성 문제까지 잠재적 위험을 파악하고 백업 및 폴백 계획을 포함한 완화전략을 수립한다.
    • 사전 위험 관리로 예상치 못한 중단을 최소화

실행 단계

실제 마이그레이션이 발생하는 곳으로, 신중한 조정과 테스트가 필요

  • 사전 마이그레이션 테스트
    • 프로덕션 설정을 반영하는 스테이징 환경에서 포괄적인 테스트를 수행하여 데이터 무결성 및 성능 문제를 확인한다.
  • 데이터 마이그레이션
    • 복제, Oracle Data Pump, 또는 프로젝트의 필요에 맞는 다른 도구와 같은 방법을 사용하여 실제 데이터 전송을 실행한다. 데이터가 정확하고 안전하게 전송되도록 하는 것은 운영 연속성을 유지하는 데 중요하다.
  • 크로스 플랫폼 마이그레이션
    • 엔디언 변환, 다른 운영체제 간 호환성 조정과 같이 발생하는 모든 플랫폼별 과제를 해결한다.
  • 마이그레이션 후 테스트
    • 검증 테스트 수행: 데이터 정확성, 시스템 성능 등 애플리케이션 호환성을 확인
    • 라이브로 전환하기 전에 새 환경이 모든 운영 요구 사항을 충족하는지를 확인

지원 단계

  • 모니터링
  • 사용자 교육
  • 지속적인 지원

크로스플랫폼 및 클라우드 마이그레이션을 위한 특별 고려 사항

  • 대상 플랫폼이 하드웨어 구성, 소프트웨어 종속성 및 특정 데이터베이스 기능을 포함하여 소스 플랫폼의 모든 기능을 지원할 수 있는지 확인한다.
  • 클라우드 마이그레이션
    • 네트워크 지연, 데이터 보안, 규정 준수와 같은 중요한 클라우드별 요소를 고려하여 성능을 유지하고, 법적 기준을 충족한다.
  • 최신 버전으로 업그레이드
    • Oracle database Upgrade Assistant와 같은 도구를 사용(DBUA)

데이터 이행 검증 방법: 정합성 무결성을 어떻게 보장할까

데이터 정합성 검증

  • 데이터가 원본과 일치하는지 확인
    • 건수 검증(자동) : select count(*) from user;
    • 값 검증(수동): 중요한 컬럼에 대해 샘플링하여 값이 정확히 이행되었는지 확인
      • 모든 데이터를 일일이 비교하는 것이 아닌 특정 인스턴스에 대해 확인

데이터 형식 검증

  • 타입 검증(수동)
  • NULL 검증(수동)
    • 이행 과정에서 NULL값이 예상치 않게 변환되지 않았는지 확인

코드 검증

참조 무결성 검증

  • 데이터베이스의 여러 테이블 간 관계가 올바르게 유지되고 있는지 확인하는 과정
  • RI(;Referential Integrity) 검증(자동 검증)

업무 규칙 검증

  • 컬럼 값 범위 검증
    • 특정 컬럼 값이 올바른 범위 내에 있는지 확인한다.
  • 데이터 중복 검증

성능 검증

  • 성능 비교 검증

애플리케이션 검증

  • 이행된 데이터가 애플리케이션이나 사용자 인터페이스에서 올바르게 표시되는지 확인해야 한다.
  • 이 과정에서 데이터를 사용하는 모든 애플리케이션이 제대로 작동하는지 확인한다.
    • UI 데이터 검증

로그 및 검증 리포트

  • 자동 검증의 경우 프로시저 또는 쉘 프로그램으로 개발
  • 결과 로그를 테이블로 쌓게 구성할 수 있다.
  • 이렇게 발생한 로그 결과를 검토
    • 이행 과정에서 어떤 문제가 있었고, 어느 부분이 오래 걸리는지 분석이 가능함.

데이터 이행전략 관련

  • 데이터 볼륨 크고, Range Partition 되어 있고, 과거 데이터에 변경이 없는 테이블(그룹1)
    • 과거 데이터에 대한 변경이 발생하지 않는 파티션에 대해 선이행을 함으로써 데이터 이행 당일 작업 시간에 대한 부담을 줄임
  • 파티션으로 구성되어 있지 않지만, 특정 일자 컬럼으로 명확한 범위 구분이 가능하며 과거 데이터에 변경이 없는 테이블(그룹2)
    • 특정일자 컬럼 기준, 과거 데이터를 선이행하고, 변동 분에 대해서는 원하는 시점이나 이행 당일에 발생된 데이터만큼만 이행할 수 있다.
  • 파티션 구성과 상관 없이 과거 데이터에 변경이 발생할 수 있는 경우(그룹3)
    • 변경분이 많이 발생하는 테이블은 변경분에 대한 처리가 쉽지 않기 때문에 이행 당일에 작업을 하면 됨.

데이터 볼륨, 시스템 환경 등 고려하여 실제 수행 가능한지에 대한 판단이 선결되어야 함

데이터 이행 전략 팁

  1. 목표 시스템에서 불필요한 데이터는 이행하지 말자!
  2. 변하지 않는 과거 데이터는 선이행하자!
  3. 대용량 테이블의 경우, 필요하다면 데이터 보존 정책을 수립해서 필요한 범위의 데이터만 이행하자!
  4. 필요 시 현행 시스템의 데이터 클린징을 수행
  5. 데이터 이행 검증 방안 수립
  6. 데이터 이행 전문가 그룹과 이행 도구를 활용

참조

0개의 댓글