데이터베이스에 대한 고가용성 계획

Oracle Cloud Infrastructure Database 서비스를 사용하면 Oracle Database System(DB 시스템)을 빠르게 시작하고 하나 이상의 데이터베이스를 생성할 수 있습니다. 데이터베이스 서비스는 크기, 가격 및 성능에 따라 다양한 유형의 DB 시스템을 지원합니다.

데이터베이스의 고가용성을 계획하기 위해 고려해야 할 주요 설계 전략은 다음과 같습니다.
  • Exadata 데이터베이스 시스템, 2노드 RAC DB 시스템, Data Guard 등의 주요 툴을 사용할 수 있습니다.
  • CPU 및 스토리지 계층을 자동으로 확장하도록 구성합니다.
이 문서에서는 이러한 전략에 대해 설명합니다.

Exadata 데이터베이스 시스템 사용

Exadata Database Systems를 사용하면 Oracle Cloud Infrastructure 내에서 강력한 Exadata를 활용할 수 있습니다.

Exadata Database System은 쿼터 랙, 하프 랙 또는 컴퓨트 노드와 스토리지 서버의 풀 랙으로 구성되며, 고속, 저지연 InfiniBand 네트워크와 지능형 Exadata 소프트웨어로 결합됩니다. 자동 백업을 구성하고, 다양한 워크로드에 맞게 최적화하고, 증가하는 요구사항을 충족하도록 시스템을 확장할 수 있습니다.

Exadata DB 시스템은 내장된 고가용성 기능을 제공합니다. 온프레미스 Exadata DB 시스템의 모든 기존 모범 사례를 적용할 수 있습니다.

2노드 RAC DB 시스템 사용

Oracle Cloud Infrastructure는 가상 머신 컴퓨트 인스턴스에 2노드 RAC DB 시스템을 제공합니다. 2노드 RAC DB 시스템은 내장된 고가용성 기능을 제공하므로 고가용성이 필요한 솔루션에 2노드 RAC DB 시스템을 사용하는 것이 좋습니다.

Oracle Cloud Infrastructure Object Storage로 자동 백업하도록 데이터베이스 서비스를 구성할 수 있습니다. 다음 다이어그램은 3계층 웹 애플리케이션의 고가용성을 지원하기 위해 2노드 RAC DB 시스템의 배치를 보여줍니다.

rac-db.png에 대한 설명은 다음과 같습니다.
rac-db.png 그림에 대한 설명

참고:

이 아키텍처는 여러 AD(가용성 도메인)를 보여줍니다. 단일 AD가 있는 지역의 경우 아키텍처를 조정하여 AD 내 장애 도메인에 리소스를 분배합니다.

Data Guard 사용

단일 노드 DB 시스템을 사용하는 솔루션의 경우 Oracle Data Guard를 사용하여 고가용성을 달성하십시오. Data Guard는 엔터프라이즈 데이터의 높은 가용성, 데이터 보호 및 장애 복구를 가능하게 합니다.

Oracle Cloud Infrastructure Database 서비스에서 Data Guard를 구현하려면 기본 롤과 대기 롤에 각각 하나씩 두 개의 데이터베이스가 필요합니다. 두 데이터베이스는 Data Guard 연결을 구성합니다. 대부분의 응용 프로그램은 primary database에 액세스합니다. {\f2732 standby database}는{\f2732 primary database}의 트랜잭션 일관성 있는 복사본입니다{\f2732 .} 가용성 및 재해 복구를 향상시키려면 대기 데이터베이스의 DB 시스템을 기본 데이터베이스의 DB 시스템과 다른 가용성 도메인에 두는 것이 좋습니다. Oracle Cloud Infrastructure 가용성 도메인 간의 고성능 네트워크는 이 배포를 가능하게 합니다.

다음은 db-dg.png에 대한 설명입니다.
그림 db-dg.png에 대한 설명

참고:

이 아키텍처는 여러 AD(가용성 도메인)를 보여줍니다. 단일 AD가 있는 지역의 경우 아키텍처를 조정하여 AD 내 장애 도메인에 리소스를 분배합니다.

{\f2732 Data Guard}는{\f2732 primary database}에서 리두 데이터를 전송 및 적용하여{\f2732 standby database}를 유지 관리합니다{\f2732 .} {\f2732 primary database}를 사용할 수 없게 되면{\f2732 Data Guard}를 사용하여{\f2732 standby database}를{\f2732 primary }롤로 전환할 수 있습니다{\f2732 .}

Data Guard 구성으로 다음 작업을 수행하여 고가용성을 지원할 수 있습니다.
  • Switchover: primary database 롤과 standby database 롤을 취소합니다. 각 데이터베이스는 계속해서 새로운 롤로 Data Guard 연관에 참여합니다. switchover는 데이터 손실을 방지합니다. {\f2732 primary database}에서 계획된 유지 관리를 수행하기 전에{\f2732 switchover}를 사용할 수 있습니다{\f2732 .}
  • {\f2732 Failover: }기존{\f2732 primary database}가 실패하거나{\f2732 standby database}에 연결할 수 없게 된 후{\f2732 standby database}를{\f2732 primary }롤로 전환합니다{\f2732 .} 최대 성능 보호 모드를 사용하면 페일오버로 인해 일부 데이터가 손실될 수 있습니다.
  • Reinstate: 데이터베이스를 Data Guard 연결에서 standby 롤로 복원합니다. 복구 명령을 사용하면 실패 원인을 해결한 후 실패한 데이터베이스를 서비스 상태로 되돌릴 수 있습니다.

CPU 및 스토리지 자동 확장

솔루션의 고가용성을 달성하려면 DB 시스템의 용량이 충분한지 확인해야 합니다. Oracle Cloud Infrastructure의 데이터베이스 서비스는 데이터베이스 서비스의 다양한 형태를 기반으로 CPU 코어 또는 데이터베이스 스토리지를 동적으로 확장할 수 있습니다.

베어메탈 컴퓨트 인스턴스 기반의 DB 시스템의 경우 최소 CPU 코어부터 시작하여 필요에 따라 CPU 코어 수를 동적으로 늘리는 것이 좋습니다. 가상 머신 구성을 기반으로 하는 DB 시스템의 경우 CPU 코어 및 스토리지 크기를 동적으로 늘릴 수 있습니다.