Skip to main content
NetApp Solutions
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

Oracle 데이터베이스 구축에 고려해야 할 요인

기여자

퍼블릭 클라우드는 다양한 컴퓨팅 및 스토리지 옵션을 제공하므로 정확한 유형의 컴퓨팅 인스턴스 및 스토리지 엔진을 사용하여 데이터베이스를 구축할 수 있습니다. 또한 Oracle 데이터베이스에 최적화된 컴퓨팅 및 스토리지 구성을 선택해야 합니다.

다음 섹션에서는 Azure NetApp Files 스토리지를 사용하는 Azure 가상 머신 인스턴스의 Azure 퍼블릭 클라우드에서 Oracle 데이터베이스를 구축할 때의 주요 고려 사항에 대해 설명합니다.

VM 유형 및 사이징

공용 클라우드에서 관계형 데이터베이스의 성능을 최적화하려면 올바른 VM 유형 및 크기를 선택하는 것이 중요합니다. Azure 가상 머신은 Oracle 데이터베이스 워크로드를 호스팅하는 데 사용할 수 있는 다양한 컴퓨팅 인스턴스를 제공합니다. Microsoft 설명서를 참조하십시오 "Azure의 가상 머신 크기입니다" 다양한 유형의 Azure 가상 머신 및 사이징 일반적으로, 중간 규모의 Oracle 데이터베이스를 구축할 때는 범용 Azure 가상 머신을 사용하는 것이 좋습니다. 대용량 Oracle 데이터베이스를 구축하는 경우 메모리에 최적화된 Azure VM이 적합합니다. RAM이 많을수록 더 큰 Oracle SGA 또는 스마트 플래시 캐시를 구성하여 물리적 I/O를 줄이고 데이터베이스 성능을 개선할 수 있습니다.

Azure NetApp Files는 Azure 가상 머신에 연결된 NFS 마운트로 작동하여 처리량을 늘리고 로컬 스토리지로 스토리지 최적화된 VM 처리량 한도를 극복할 수 있습니다. 따라서 Azure NetApp Files에서 Oracle을 실행하면 라이센스 대상 Oracle CPU 코어 수 및 라이센스 비용을 줄일 수 있습니다. 을 참조하십시오 "TR-4780: Microsoft Azure의 Oracle 데이터베이스"섹션 7 - Oracle 라이센스는 어떻게 작동합니까?

기타 고려해야 할 요소는 다음과 같습니다.

  • 워크로드 특성에 따라 올바른 vCPU 및 RAM 조합을 선택합니다. VM에서 RAM 크기가 증가하면 vCPU 코어 수도 증가합니다. vCPU 코어 수에 Oracle 라이센스 비용이 청구되므로 약간의 균형을 유지해야 합니다.

  • VM에 스왑 공간을 추가합니다. 기본 Azure VM 배포에서는 데이터베이스에 적합하지 않은 스왑 공간을 생성하지 않습니다.

Azure NetApp Files 성능

Azure NetApp Files 볼륨은 용량 풀에서 할당되며 고객은 Azure NetApp Files 스토리지 계정에서 용량 할당을 수행해야 합니다. 각 용량 풀은 다음과 같이 할당됩니다.

  • 전반적인 성능 기능을 정의하는 서비스 수준.

  • 해당 용량 풀에 대해 초기에 프로비저닝된 스토리지 용량 또는 계층입니다. 프로비저닝된 공간에 대한 총 최대 처리량을 정의하는 서비스 품질(QoS) 수준입니다.

서비스 수준과 처음에 용량 할당된 스토리지 용량은 특정 Oracle 데이터베이스 볼륨의 성능 수준을 결정합니다.

Azure NetApp Files에 대한 서비스 수준

Azure NetApp Files는 Ultra, Premium 및 Standard의 세 가지 서비스 수준을 지원합니다.

  • * Ultra 스토리지. * 이 계층은 할당된 1TiB 볼륨 할당량당 최대 128MiBps의 처리량을 제공합니다.

  • * 프리미엄 스토리지. * 이 계층은 할당된 1TiB 볼륨 할당량당 최대 64MiBps의 처리량을 제공합니다.

  • * 표준 스토리지. * 이 계층은 할당된 1TiB 볼륨 할당량당 최대 16MiBps의 처리량을 제공합니다.

용량 풀 및 서비스 품질

원하는 서비스 수준마다 프로비저닝된 용량과 관련된 비용이 있으며 프로비저닝된 공간의 전체 최대 처리량을 정의하는 서비스 품질(QoS) 수준이 포함되어 있습니다.

예를 들어, 프리미엄 서비스 수준이 포함된 10TiB 프로비저닝된 단일 용량 풀은 이 용량 풀 내의 모든 볼륨에 대해 1064MBps의 전체 가용 처리량을 제공하므로 40,000MBps(16K) IOPS 또는 80,000,000(8K) IOPS가 가능합니다.

최소 용량 풀 크기는 4TiB입니다. 스토리지 요구사항 및 비용 관리를 위해 워크로드 요구사항의 변화에 따라 용량 풀 크기를 1TiB 단위로 변경할 수 있습니다.

데이터베이스 볼륨에서 서비스 수준을 계산합니다

Oracle 데이터베이스 볼륨의 처리량 제한은 볼륨이 속한 용량 풀의 서비스 수준과 볼륨에 할당된 할당량의 조합에 의해 결정됩니다.

다음 다이어그램은 Oracle 데이터베이스 볼륨의 처리량 한도를 계산하는 방법을 보여 줍니다.

이 이미지는 총 처리량을 결정하기 위해 세 개의 용량 계층에 적용된 수식을 보여 줍니다.

예제 1에서는 2TiB 할당량이 할당된 프리미엄 스토리지 계층이 있는 용량 풀의 볼륨에 128MiBps(2TiB * 64MiBps)의 처리량 제한이 할당됩니다. 이 시나리오는 용량 풀 크기 또는 실제 볼륨 소비에 관계없이 적용됩니다.

예제 2에서는 100GiB가 할당된 프리미엄 스토리지 계층이 있는 용량 풀의 볼륨에 6.25MiBps(0.09765625TiB * 64MiBps)의 처리량 제한이 할당됩니다. 이 시나리오는 용량 풀 크기 또는 실제 볼륨 소비에 관계없이 적용됩니다.

최소 볼륨 크기는 100GiB입니다.

스토리지 레이아웃 및 설정

권장되는 스토리지 레이아웃은 다음과 같습니다.

  • 소규모 데이터베이스의 경우 모든 Oracle 파일에 단일 볼륨 레이아웃을 사용합니다.

    이 이미지는 각각 데이터 파일, 재실행 로그, 아카이브 로그, 제어 파일이 포함된 세 개의 데이터베이스(DB1, DB2, DB3)를 단일 용량 풀 내에 보여 줍니다.

  • 대규모 데이터베이스의 경우 여러 개의 볼륨 레이아웃이 권장됩니다. 하나는 Oracle 데이터, 중복 제어 파일, 다른 하나는 Oracle 액티브 로그, 아카이브 로그 및 제어 파일용입니다. 데이터베이스를 새 호스트에 재배치하고 신속하게 복구할 수 있도록 로컬 드라이브 대신 Oracle 바이너리에 대한 볼륨을 할당하는 것이 좋습니다.

    이 이미지는 각각 두 개의 볼륨이 있는 두 개의 데이터베이스를 보여 줍니다. 첫 번째 볼륨에는 데이터 파일이 포함되어 있는 반면, 각 데이터베이스의 두 번째 볼륨에는 재실행 로그, 아카이브 로그, 제어 파일이 포함되어 있습니다. 모두 단일 용량 풀 내에 있습니다.

NFS 구성

가장 일반적인 운영 체제인 Linux에는 네이티브 NFS 기능이 포함되어 있습니다. Oracle은 Oracle에 기본적으로 통합된 직접 NFS(dNFS) 클라이언트를 제공합니다. Oracle dNFS는 OS 캐시를 우회하고 병렬 처리를 가능하게 하여 데이터베이스 성능을 향상시킵니다. Oracle은 20년 이상 NFSv3을 지원해 왔으며 NFSv4는 Oracle 12.1.0.2 이상에서 지원됩니다.

dNFS(Oracle 11g 이후 사용 가능)를 사용하면 Azure Virtual Machine에서 실행되는 Oracle 데이터베이스가 네이티브 NFS 클라이언트보다 훨씬 더 많은 I/O를 구동할 수 있습니다. NetApp 자동화 툴킷을 사용하여 자동화된 Oracle 구축은 NFSv3에서 dNFS를 자동으로 구성합니다.

다음 다이어그램은 Oracle dNFS를 사용하는 Azure NetApp Files의 SLOB 벤치마크를 보여줍니다.

이 그래프는 dNFS가 KNFS를 통해 DB 순차 파일 지연 시간(ms)을 향상한다는 것을 극적으로 보여 줍니다.

기타 고려 사항:

  • TCP 슬롯 테이블은 호스트 버스 어댑터(HBA) 큐 길이(queue depth)와 동등한 NFS의 기능입니다. 이들 테이블은 한 번에 수행될 수 있는 최대 NFS 작업의 수를 제어합니다. 기본값은 보통 16이며 최적의 성능을 발휘하기에 너무 낮습니다. 최신 Linux 커널에서는 반대의 문제가 발생하는데, 요청을 통해 NFS 서버를 포화시키는 수준까지 TCP 슬롯 테이블의 한계를 자동으로 높일 수 있습니다.

    최적의 성능을 제공하고 성능 문제를 방지하려면 TCP 슬롯 테이블을 제어하는 커널 매개 변수를 128로 조정합니다.

    sysctl -a | grep tcp.*.slot_table
  • 다음 표에는 Linux NFSv3의 단일 인스턴스에 대해 권장되는 NFS 마운트 옵션이 나와 있습니다.

    이 표에는 다음 파일 유형, 제어 파일, 데이터 파일, 재실행 로그, oracle_home, 및 oracle_base.

참고 dNFS를 사용하기 전에 Oracle Doc 1495104.1에 설명된 패치가 설치되어 있는지 확인하십시오. NFSv3 및 NFSv4에 대한 NetApp Support Matrix에는 특정 운영 체제가 포함되어 있지 않습니다. RFC를 따르는 모든 OS가 지원됩니다. 온라인 IMT에서 NFSv3 또는 NFSv4 지원을 검색할 때 일치하는 항목이 표시되지 않으므로 특정 OS를 선택하지 마십시오. 모든 OS는 일반 정책에 의해 암시적으로 지원됩니다.