Azure로 Oracle 데이터베이스 마이그레이션

Azure Load Balancer
Azure ExpressRoute
Azure VPN Gateway

이 솔루션은 Oracle 데이터베이스 및 해당 애플리케이션을 Azure로 마이그레이션합니다. 데이터베이스에 Oracle Active Data Guard를 사용하고 애플리케이션 계층에 Azure Load Balancer를 사용합니다.

아키텍처

Oracle에서 Azure로의 데이터베이스 마이그레이션 완료를 보여 주는 아키텍처 다이어그램

이 아키텍처의 Visio 파일을 다운로드합니다.

데이터 흐름

  1. 사이트간 VPN 또는 ExpressRoute를 통해 Azure 환경을 온-프레미스 네트워크에 연결합니다.
  2. DataGuard를 사용하여 Azure의 OracleDB1을 활성 대기로 표시합니다.
  3. Azure에서 OracleDB1을 주 데이터베이스로 전환하고 Azure에서 OracleDB2를 대기 데이터베이스로 설정하여 마이그레이션을 완료합니다.

참고

  • 이 방법은 동일한 OS 버전 및 데이터베이스 버전 간에 마이그레이션할 때만 작동합니다.
  • 가정: 온-프레미스에서 DataGuard를 사용하고 있습니다.

구성 요소

대안

데이터베이스가 2TB를 초과하면 Oracle Data Guard를 RMAN(Oracle Recovery Manager)과 함께 사용하거나 Data Pump를 사용하여 초기 대량 데이터 전송 후 변경 사항을 복제하여 마이그레이션 중의 가동 중지 시간을 최소화할 수 있습니다.

Oracle용 SQL Server Migration Assistant

Oracle용 SSMA(Microsoft SQL Server Migration Assistant)는 Oracle 데이터베이스를 Microsoft SQL Server 및 Azure SQL Database로 마이그레이션하기 위한 도구입니다. Oracle용 SSMA는 Oracle 데이터베이스 개체를 SQL Server 데이터베이스 개체로 변환하고, SQL Server에서 해당 개체를 만든 다음, Oracle에서 SQL Server 또는 Azure SQL Database로 데이터를 마이그레이션합니다.

시나리오 정보

Oracle DB 마이그레이션은 여러 가지 방법으로 수행할 수 있습니다. 이 솔루션은 Oracle Active Data Guard를 사용하여 데이터베이스를 마이그레이션하는 이러한 옵션 중 하나를 다룹니다. Oracle Data Guard(또는 Active Data Guard)를 HA/DR 용도로 사용한다고 가정합니다. 애플리케이션에 따라 애플리케이션을 먼저 마이그레이션하거나 데이터베이스를 마이그레이션할 수 있습니다. 이 경우 애플리케이션은 Azure Load Balancer를 사용하여 Azure로 마이그레이션됩니다. 이를 통해 온-프레미스와 Azure 간에 트래픽을 분할하여 애플리케이션 계층을 점진적으로 마이그레이션할 수 있습니다. 데이터베이스 마이그레이션은 여러 단계로 수행됩니다. 첫 번째 단계로, Oracle Data Guard를 사용하여 Azure에서 보조/대기 데이터베이스를 설정합니다. 이렇게 하면 데이터를 Azure로 마이그레이션할 수 있습니다. Azure의 보조 데이터베이스가 주 데이터베이스와 동기화되면 온-프레미스에서 보조 데이터베이스를 유지하면서 Azure의 데이터베이스를 주 데이터베이스로 전환할 수 있습니다. 다음 단계로, HA/DR을 위해 다른 가용성 영역(또는 지역)에 보조 데이터베이스를 설정할 수 있습니다. 이때 온-프레미스 환경의 서비스를 해제할 수 있습니다. 온-프레미스와 Azure 간의 모든 데이터 트래픽은 Azure ExpressRoute 또는 사이트 간 VPN 연결을 통해 흐릅니다.

잠재적인 사용 사례

이 솔루션은 Oracle DB를 Azure로 마이그레이션할 때 적용됩니다.

고려 사항

이러한 고려 사항은 워크로드의 품질을 향상시키는 데 사용할 수 있는 일단의 지침 원칙인 Azure Well-Architected Framework의 핵심 요소를 구현합니다. 자세한 내용은 Microsoft Azure Well-Architected Framework를 참조하세요.

마이그레이션

Oracle Recovery Manager(RMAN) 및 Oracle Data Guard를 사용하여 가동 중지 시간을 최소화하면서 전체 Oracle 데이터베이스를 온-프레미스에서 Azure VM으로 마이그레이션할 수 있습니다. RMAN에서 백업/복원 또는 중복 데이터베이스 방법을 사용하여 데이터베이스를 대상 대기 Azure VM으로 복원합니다. 그런 다음, Oracle Data Guard를 사용하여 대상 데이터베이스를 실제 대기 데이터베이스로 구성하여 주 온-프레미스 데이터베이스에서 대기 데이터베이스로의 모든 트랜잭션/다시 실행 데이터 변경 사항을 허용할 수 있습니다. 주 온-프레미스 Oracle 데이터베이스가 Azure VM 인스턴스의 대상 대기 데이터베이스와 동기화되는 경우 대상 데이터베이스로 전환하여 읽기-쓰기 데이터베이스로 변환할 수 있습니다. 그런 다음, 애플리케이션 연결 대상을 새 주 데이터베이스로 설정할 수 있습니다. 이 옵션은 데이터베이스를 Azure로 마이그레이션하는 동안 가동 중지 시간을 최소화합니다.

Oracle Data Pump 유틸리티는 Oracle 데이터베이스 간에 데이터 및 메타데이터를 내보내고 가져오는 데 사용됩니다. 전체 데이터베이스, 선택적 스키마, 테이블스페이스 또는 데이터베이스 개체에서 Data Pump 내보내기/가져오기를 실행할 수 있습니다. Data Pump는 크기가 10GB에서 20TB인 대규모 데이터베이스에서 데이터를 Azure로 마이그레이션하는 데 권장되는 도구입니다. 높은 수준의 병렬 처리, 유연한 데이터 추출 옵션 및 확장 가능한 작업을 허용하여 원본 데이터베이스에서 대상 데이터베이스로 데이터 및 메타데이터를 고속으로 이동할 수 있게 해줍니다. Oracle Data Pump는 데이터를 데이터 덤프 파일로 내보낼 때 암호화 및 압축도 지원합니다. Oracle Data Pump를 Oracle Data Guard 또는 Golden Gate와 함께 사용하여 대규모 데이터베이스에 대한 초기 데이터 전송을 처리할 수 있습니다. Data Pump는 Oracle Database 10g 릴리스 1(10.1) 이상에서만 사용할 수 있습니다.

디자인 고려 사항

VM 크기 조정

라이선스 비용을 절감하고 성능을 최대화하기 위해 제약이 있는 코어 vCPU가 포함된 하이퍼스레드 메모리 최적화 가상 머신을 Oracle Database VM에 사용하는 것이 좋습니다. Oracle에서는 온-프레미스에서 Azure로의 라이선스 이동을 보장합니다. Oracle-Azure FAQ를 참조하세요.

스토리지

Oracle 데이터베이스의 성능과 고가용성을 위해 여러 프리미엄 또는 울트라 디스크(관리 디스크)를 사용합니다. 관리 디스크를 사용하는 경우 재부팅 시 디스크/디바이스 이름이 변경될 수 있습니다. 다시 부팅해도 탑재가 유지되도록 이름 대신 디바이스 UUID를 사용하는 것이 좋습니다. 데이터베이스의 스토리지 관리를 간소화하기 위해 Oracle ASM(자동 스토리지 관리)을 사용하는 것이 좋습니다.

테스트 및 튜닝

새 Oracle 데이터베이스에 대해 애플리케이션의 유효성을 검사하려면 다음 테스트를 수행하는 것이 좋습니다.

  • 성능 테스트를 실행하여 비즈니스 기대치를 충족하는지 확인합니다.
  • 데이터베이스 장애 조치(failover), 복구 및 복원을 테스트하여 RPO 및 RTO 요구 사항을 충족하는지 확인합니다.
  • 모든 중요한 작업 및 보고서를 나열하고 새 Oracle 인스턴스에서 실행하여 SLA(서비스 수준 계약)에 대한 성능을 평가합니다.
  • 마지막으로, 클라우드용 애플리케이션을 마이그레이션하거나 만들 때 재시도 패턴 및 회로 차단기 패턴과 같은 클라우드 네이티브 패턴을 추가하도록 애플리케이션 코드를 수정해야 합니다. 클라우드 디자인 패턴 가이드에 정의된 다른 패턴은 애플리케이션의 복원력을 향상하는 데 도움이 됩니다.

Oracle 라이선스

Azure VM에서 하이퍼 스레딩 사용 기술을 이용하는 경우 두 개의 vCPU가 하나의 Oracle 프로세서 라이선스에 해당하는 것으로 계산합니다. 자세한 내용은 클라우드 컴퓨팅 환경에서 Oracle Software 라이선스 를 참조하세요.

Backup 전략

한 가지 백업 전략은 애플리케이션 일치 백업에 Oracle Recovery Manager(RMAN) 및 Azure Backup을 사용하는 것입니다. Azure 백업 방법을 사용할 수도 있습니다.

필요한 경우 Azure Blob Fuse를 사용하여 중복성이 높은 Azure Blob Storage 계정을 탑재하고, 추가적인 복원력을 위해 RMAN 백업을 작성합니다.

보안

애플리케이션 설계 모범 사례와 결합된 Azure DDoS Protection은 향상된 DDoS 완화 기능을 제공하여 DDoS 공격에 대한 방어력을 높입니다. 경계 가상 네트워크에서 Azure DDOS Protection을 사용하도록 설정해야 합니다.

비즈니스 연속성 및 재해 복구

비즈니스 연속성 및 재해 복구 시 다음 소프트웨어를 배포하는 것이 좋습니다.

  • 데이터베이스 가용성을 위한 Oracle Data Guard FSFO(Fast-Start Failover)
  • 데이터 손실 방지를 위한 Oracle Data Guard Far Sync
  • Azure 가용성 집합 또는 가용성 영역에서 다중 기본 또는 활성-활성 모드에 대한 Oracle GoldenGate는 SLA 요구 사항에 따라 달라집니다.

가용성 영역을 사용하여 지역 내 고가용성을 구현합니다. 자세한 내용은 Azure의 Oracle 데이터베이스에 대한 참조 아키텍처를 참조하세요.

Azure 가용성 영역 및 Oracle Active DataGuard와 FSFO의 조합을 사용하여 데이터베이스 계층에 99.99%의 가동 시간 가용성을 구현할 수 있습니다.

애플리케이션과 데이터베이스 계층 간의 대기 시간을 줄이기 위해 근접 배치 그룹을 사용하는 것이 좋습니다.

모니터링

관리, 모니터링 및 로깅을 위해 Oracle Enterprise Manager를 설정합니다.

다음 단계

지원 정보는 다음 문서를 참조하세요.

다양한 아키텍처 구성 요소에 대해 자세히 알아봅니다.