Azure의 Oracle 애플리케이션 및 솔루션 개요

적용 대상: ✔️ Linux VM

이 문서에서는 Azure 인프라를 사용하여 Oracle 솔루션을 실행하는 방법에 대해 알아봅니다.

Important

Oracle RAC 및 Oracle RAC OneNode는 Azure 완전 메탈 인프라에서 지원되지 않습니다.

Azure 인프라의 Oracle 데이터베이스

Oracle은 Oracle Linux 기반 VM 이미지의 Azure에서 Database 12.1 이상의 Standard 및 Enterprise Edition을 실행할 수 있도록 지원합니다. Azure Marketplace에 제공된 Oracle Linux 기반 Oracle Database 이미지를 사용하여 Azure 인프라에서 Oracle 데이터베이스를 실행할 수 있습니다.

  • Oracle Database 12.2 및 18.3 Enterprise Edition
  • Oracle Database 12.2 및 18.3 Standard Edition
  • Oracle 데이터베이스 19.3
    다음 방법 중 하나를 사용할 수 있습니다.
  • Azure에서 사용할 수 있는 비 Oracle Linux 이미지에 Oracle Database를 설정합니다.
  • Azure에서 처음부터 만드는 사용자 지정 이미지에 솔루션을 빌드합니다.
  • 온-프레미스 환경에서 사용자 지정 이미지를 업로드합니다.

연결된 디스크가 여러 개 있는 솔루션을 구성하도록 선택할 수도 있습니다. Oracle ASM(Automated Storage Management)을 설치하여 데이터베이스 성능을 개선할 수 있습니다. Azure의 Oracle Database 프로덕션 워크로드에 가장 적합한 성능을 위해 VM 이미지의 크기를 적절하게 조정하고 처리량, IOPS 및 대기 시간에 따라 적절한 스토리지 옵션을 선택해야 합니다. Oracle에서 게시하는 VM 이미지를 사용하여 Azure에서 Oracle Database를 빠르게 실행하는 방법에 대한 지침은 Azure VM에서 Oracle Database 만들기를 참조하세요.

Microsoft Azure에 Oracle VM 이미지 배포

이 섹션에서는 Oracle이 Azure Marketplace에 게시한 VM(가상 머신) 이미지를 기반으로 하는 Oracle 솔루션에 대한 정보를 다룹니다. 현재 사용 가능한 Oracle 이미지 목록을 얻으려면 Azure CLI 또는 Azure Cloud Shell 사용하여 다음 명령을 실행합니다.

az vm image list --publisher oracle --output table –all

이미지는 사용자 라이선스가 필요합니다. VM을 실행하는 데 발생하는 컴퓨팅, 스토리지 및 네트워킹 비용에 대해서만 요금이 청구됩니다. Azure에서 처음부터 만드는 사용자 지정 이미지에 솔루션을 빌드하거나 온-프레미스 환경에서 사용자 지정 이미지를 업로드하도록 선택할 수도 있습니다.

Important

Oracle 소프트웨어를 사용하려면 적절한 라이선스와 Oracle과의 현재 지원 계약이 필요합니다. Oracle에서는 온-프레미스에서 Azure로의 라이선스 이동을 보장합니다. 라이선스 모바일에 대한 자세한 내용은 Oracle과 Microsoft의 전략적 파트너십 FAQ를 참조하세요.

Oracle Linux 및 WebLogic Server의 애플리케이션

지원되는 Oracle Linux 이미지에서 Azure의 WebLogic Server에서 엔터프라이즈 애플리케이션을 실행합니다. 자세한 내용은 WebLogic 설명서인 Azure 솔루션의 Oracle WebLogic Server 개요를 참조하세요.

Azure 서비스가 통합된 WebLogic Server

Oracle과 Microsoft는 WebLogic Server를 Azure 애플리케이션 제품의 형태로 Azure Marketplace에 제공하기 위해 협력하고 있습니다. 이러한 제안에 대한 자세한 내용은 Oracle WebLogic Server를 실행할 수 있는 솔루션은 무엇인가요?를 참조하세요.

Oracle WebLogic Server VM 이미지

클러스터링은 Enterprise Edition에서만 지원됩니다. Oracle WebLogic Server Enterprise Edition을 사용하는 경우에만 WebLogic 클러스터링을 사용하도록 허가됩니다. Oracle WebLogic Server Standard Edition에서는 클러스터링을 사용하지 마세요. UDP 멀티 캐스트는 지원되지 않습니다. Azure는 UDP 유니캐스트를 지원하지만 멀티 캐스팅 및 브로드캐스팅은 지원하지 않습니다. Oracle WebLogic Server는 Azure UDP 유니캐스트 기능에 의존할 수 있습니다. UDP 유니캐스트에 의존하는 최상의 결과를 위해, WebLogic 클러스터 크기를 정적으로 유지하거나 서버를 10개 이하로 유지하는 것이 좋습니다. Oracle WebLogic Server는 T3 액세스의 공용 및 프라이빗 포트가 동일할 것으로 예상합니다. 예를 들어 EJB(Enterprise JavaBeans)를 사용하는 경우입니다. 서비스 계층 애플리케이션이 SLWLS라는 가상 네트워크에 있는 둘 이상의 VM으로 구성된 Oracle WebLogic Server 클러스터에서 실행되는 다중 계층 시나리오를 고려해 보세요. 동일한 가상 네트워크의 다른 서브넷에 있는 클라이언트 계층은 서비스 계층에서 EJB 호출을 시도하는 간단한 Java 프로그램을 실행합니다. 서비스 계층의 부하를 분산해야 하므로 Oracle WebLogic Server 클러스터의 VM에 대해 부하가 분산된 퍼블릭 엔드포인트를 만들어야 합니다. 지정된 프라이빗 포트가 공용 포트와 다른 경우 오류가 발생합니다. 예를 들어 7006:7008을 사용하면, 원격 T3 액세스의 경우 Oracle WebLogic Server에서 부하 분산 장치 포트와 WebLogic 관리되는 서버가 동일할 것으로 예상하기 때문에 다음 오류가 발생합니다.

[java] javax.naming.CommunicationException [Root exception is java.net.ConnectException: t3://example.cloudapp.net:7006:

Bootstrap to: example.cloudapp.net/138.91.142.178:7006' over: 't3' got an error or timed out]

앞의 경우 클라이언트는 7006 포트(부하 분산 장치 포트)에 액세스하고 관리되는 서버는 7008(프라이빗 포트)에서 수신 대기합니다. 이 제한은 T3 액세스에만 적용가능하며 HTTP에는 적용할 수 없습니다.

이 문제를 방지하려면, 다음 해결 방법중 하나를 사용합니다.

  • T3 액세스 전용 부하 분산 엔드포인트에 대해 동일한 프라이빗 및 공용 포트 번호를 사용합니다.

  • Oracle WebLogic Server를 시작할 때는 다음 JVM 매개변수를 포함합니다. configCopy Dweblogic.rjvm.enableprotocolswitch=true

  • 동적 클러스터링 및 부하 분산 제한. Oracle WebLogic Server에서 동적 클러스터를 사용하고 Azure에서 단일, 퍼블릭 부하 분산 엔드포인트를 통해 노출한다고 가정해 보세요. 이 방법은 각 관리되는 서버에 대해 범위에서 동적으로 할당되지 않은 고정 포트 번호를 사용하고 관리자가 추적하는 컴퓨터보다 더 많은 관리되는 서버를 시작하지 않는 한 수행할 수 있습니다. VM당 관리 서버가 1개 이상 있어서는 안 됩니다. 구성으로 인해 VM 수보다 더 많은 Oracle WebLogic Server가 시작되는 경우 해당 Oracle WebLogic Server 인스턴스 중 둘 이상이 지정된 포트 번호에 바인딩될 수 없습니다. 즉, 여러 Oracle WebLogic Server 인스턴스에서 동일한 가상 머신을 공유하는 경우 해당 VM의 다른 인스턴스는 실패합니다. 고유한 포트 번호를 관리되는 서버에 자동으로 할당하도록 관리되는 서버를 구성하면 이 구성에 필요한 것처럼 Azure는 단일 퍼블릭 포트에서 여러 프라이빗 포트로 매핑할 수 있도록 지원하지 않기 때문에 부하 분산이 불가능합니다.

  • VM에 있는 Oracle WebLogic Server의 여러 인스턴스. 배포 요구 사항에 따라 VM이 충분히 큰 경우 동일한 VM에서 여러 Oracle WebLogic Server 인스턴스를 실행하는 것을 고려할 수 있습니다. 예를 들어 두 개의 코어가 있는 중간 크기의 VM에서 Oracle 두 개의 WebLogic Server 인스턴스를 실행하도록 선택할 수 있습니다. 그러나 단일 실패 지점을 아키텍처에 도입하지 않는 것이 좋습니다. 단 하나의 VM에서 여러 Oracle WebLogic Server 인스턴스를 실행하는 것은 이러한 단일 지점입니다.

둘 이상의 VM을 사용하는 것이 더 나은 방법일 수 있습니다. 각 VM은 여러 Oracle WebLogic Server 인스턴스를 실행할 수 있습니다. Oracle WebLogic Sever의 각 인스턴스는 여전히 동일한 클러스터의 일부입니다. 그러나 현재는 Azure를 사용하여 동일한 VM 내에서 Oracle WebLogic Server 배포를 통해 공개되는 엔드포인트의 부하를 분산할 수 없습니다. Azure Load Balancer를 사용하려면 부하가 분산된 서버를 고유한 VM 간에 분산해야 합니다.

고가용성 및 재해 복구 옵션

Azure에서 Oracle 솔루션을 사용할 때, 사용자는 모든 가동 중지 시간을 방지하기 위해 높은 가용성과 재해 복구 솔루션을 구현하는 일을 담당합니다. Data Guard, Active Data Guard 또는 Oracle GoldenGate를 사용하여 Oracle 데이터베이스 Enterprise Edition에 대한 고가용성 및 재해 복구를 구현할 수도 있습니다. 이 방법을 사용하려면 두 개의 데이터베이스가 두 개의 개별 VM에 필요합니다. 이러한 VM은 개인 영구 IP 주소를 통해 서로 액세스할 수 있도록 동일한 가상 네트워크에 있어야 합니다.

Azure에서 VM을 개별 장애 도메인과 업그레이드 도메인에 배치할 수 있도록 VM을 동일한 가용성 집합에 배치하는 것이 좋습니다. 지리적 중복을 원하는 경우 서로 다른 두 지역 간에 복제되도록 두 데이터베이스를 설정하고 VPN Gateway를 사용하여 두 인스턴스를 연결할 수 있습니다. Azure에 대한 기본 설정 절차를 진행하려면 Azure Linux 가상 머신에서 Oracle Data Guard 구현을 참조하세요.

Oracle Active Data Guard를 사용하면 한 VM의 주 데이터베이스와 다른 VM의 보조(대기) 데이터베이스 및 두 데이터베이스 간의 단방향 복제 설정을 통해 고가용성을 달성할 수 있습니다. 결과는 해당 데이터 베이스의 복사본에 대한 읽기 엑세스입니다. Oracle 골든 게이트로, 두 개의 데이터베이스 간의 양방향 복제를 구성할 수 있습니다. 이러한 도구를 사용하여 데이터베이스에 대한 고가용성 솔루션을 설정하는 방법을 알아보려면 Active Data Guard 및 GoldenGate를 참조하세요. 데이터베이스의 복사본에 대한 읽기-쓰기 권한이 필요한 경우 Oracle Active Data Guard를 사용할 수 있습니다.

Azure에 대한 기본 설정 절차를 진행하려면 Azure Linux VM에서 Oracle Golden Gate 구현을 참조하세요.

영역 간 HA 아키텍처에 대해 Oracle Data Guard와 함께 Azure NetApp Files 가용성 영역 볼륨 배치 를 사용하여 Oracle 데이터베이스에 대한 고가용성을 효과적으로 달성할 수 있습니다. 또는 보조 영역에서 Data Guard 라이선스 및 실행 VM의 비용을 제거하려면 Azure NetApp Files의 스토리지 기반 복제본(replica)tion 기능을 사용할 수 있습니다. Azure NetApp Files 볼륨은 선택한 가용성 영역에 동일한 방식으로 배치할 수 있으며복제본(replica) 영역 간 복제본(replica)tion(또는 지역 간 복제본(replica)tion을 사용하는 다른 지역)을 사용하여 지역 내 영역 간에 배치할 수 있습니다.

Azure에 설계된 고가용성 및 재해 복구 솔루션 외에도 데이터베이스를 복원하기 위한 백업 전략이 있어야 합니다.

Oracle 워크로드 백업

Azure VM의 Oracle에는 다양한 백업 전략을 사용할 수 있으며, 다음 백업은 다른 옵션입니다.

Azure에 Oracle 애플리케이션 배포

Terraform 템플릿, AZ CLI 또는 Azure Portal을 사용하여 Azure 인프라를 설정하고 Oracle 애플리케이션을 설치합니다. 또한 Ansible을 사용하여 VM 내에서 DB를 구성합니다. 자세한 내용은 Azure의 Terraform을 참조하세요.

Oracle은 Azure with Oracle Cloud 상호 연결 솔루션을 사용하여 Oracle 데이터베이스에 연결할 때 Azure에서 실행되도록 다음 애플리케이션을 인증했습니다.

  • E-Business Suite
  • JD Edwards EnterpriseOne
  • PeopleSoft
  • Oracle Retail 애플리케이션
  • Oracle Hyperion Financial Management

Azure에서 OCI 및 기타 Azure 서비스와 연결되는 사용자 지정 애플리케이션을 배포할 수 있습니다.

JD Edwards 지원

Oracle 지원에 따르면 JD Edwards EnterpriseOne 버전 9.2 이상은 특정 MTR(최소 기술 요구 사항)을 충족하는 퍼블릭 클라우드 제품에서 지원됩니다. 운영 체제 및 소프트웨어 애플리케이션 호환성에 대한 해당 MTR 사양을 충족하는 사용자 지정 이미지를 만들어야 합니다. 자세한 내용은 Doc ID 2178595.1을 참조하세요.

라이선싱

Azure에 Oracle 솔루션을 배포하는 작업은 사용자 라이선스 필요 모델을 기반으로 합니다. 이 모델에서는 Oracle 소프트웨어를 사용할 수 있는 라이선스를 보유하고 있으며 Oracle과 현재 지원 계약을 체결하고 있다고 가정합니다. Microsoft Azure는 Oracle Database를 실행할 권한이 있는 클라우드 환경입니다. 클라우드의 Oracle 데이터베이스에 라이선스를 부여할 경우 Oracle Core Factor 테이블이 적용되지 않습니다. 자세한 내용은 Oracle Processor Core 팩트 테이블을 참조하세요. 대신, Enterprise Edition 데이터베이스에 하이퍼 스레딩 기술을 사용하도록 설정된 VM을 사용하는 경우 정책 문서에 명시된 대로 vCPU 두 개를 하나의 Oracle Processor 라이선스로 계수합니다. 정책 세부 정보는 클라우드 컴퓨팅 환경의 Oracle 소프트웨어 라이선스에서 찾을 수 있습니다.
Oracle 데이터베이스에는 일반적으로 더 많은 메모리와 I/O가 필요합니다. 이러한 이유로 이러한 워크로드에는 메모리 최적화 VM이 권장됩니다. 워크로드를 더 최적화하려면 많은 메모리, 스토리지 및 I/O 대역폭이 필요하지만 많은 코어 수는 필요하지 않은 Oracle Database 워크로드에 제한된 코어 vCPU가 권장됩니다. Oracle 소프트웨어 및 워크로드를 온-프레미스에서 Microsoft Azure로 마이그레이션하는 경우 Oracle은 Oracle과 Microsoft의 전략적 파트너십 FAQ에 명시된 대로 라이선스 이동성을 제공합니다.

다음 단계

지금까지 Microsoft Azure의 VM 이미지를 기반으로 하는 최신 Oracle 데이터베이스 및 솔루션에 대한 개요를 살펴보았습니다. 다음 단계에서는 Azure에서 첫 번째 Oracle 데이터베이스를 배포합니다.