DB 시스템에서 Oracle Data Guard 사용
Oracle Data Guard는 엔터프라이즈 데이터의 고가용성, 데이터 보호 및 장애 복구를 가능하게 해줍니다.
Data Guard 구현에는 기본 롤에 하나, 대기 롤에 하나씩 두 개의 데이터베이스가 필요합니다. 두 데이터베이스인 Primary Database와 Standby Database는 함께 Data Guard 연결을 생성합니다. 대부분의 응용 프로그램은 primary database에 액세스하지만 standby database는 트랜잭션상 일관성 있는 primary database의 복사본입니다.
Data Guard는 기본 데이터베이스에서 리두 데이터를 전송하고 적용하여 대기 데이터베이스를 유지합니다. 기본 데이터베이스를 사용할 수 없게 되면 Data Guard를 사용하여 대기 데이터베이스를 기본 롤로 전환하거나 Failover할 수 있습니다.
주:
OCI의 standby database는 물리적 standby database입니다.이 문서에서는 콘솔을 사용하여 DB 시스템의 Data Guard 연관을 관리하는 방법에 대해 설명합니다.
Data Guard에 대한 자세한 내용은 Oracle Data Guard 소개를 참조하십시오.
필수 조건 및 일반 정보
Data Guard를 구현하려면 primary database와 standby database를 포함하는 두 개의 DB 시스템이 필요합니다. 데이터베이스에 대해 Data Guard를 사용으로 설정하면 대기 데이터베이스가 있는 새 DB 시스템이 생성되어 기본 데이터베이스와 연관됩니다.
주:
Data Guard 구성은 각 기본 데이터베이스에 대해 하나의 대기 데이터베이스로 제한됩니다.요구사항 세부정보는 다음과 같습니다.
- 두 DB 시스템은 모두 동일한 구획에 있어야 합니다.
- 데이터베이스 버전과 에디션은 동일해야 합니다. 23ai 데이터베이스의 경우 기본 및 대기 데이터베이스는 동일한 주 릴리스 버전에 있어야 하고 대기 데이터베이스는 상위 부 버전에 있어야 합니다.
- Data Guard는 Oracle Database Standard Edition을 지원하지 않습니다. (Active Data Guard에는 Enterprise Edition Extreme Performance가 필요합니다.)
- Data Guard 연관의 각 데이터베이스에는 Data Guard 연관이 있는 DB 시스템의 다른 데이터베이스에서 사용하지 않는 고유한 이름(
DB_UNIQUE_NAME
) 값이 있어야 합니다. 그러나 기본 데이터베이스와 대기 데이터베이스는 동일한 데이터베이스 이름DB_NAME
값을 사용할 수 있습니다. - 데이터베이스 에디션은 ADG(Active Data Guard)를 사용할 수 있는지 여부를 결정합니다. ADG는 Enterprise Edition Extreme Performance에서만 사용할 수 있습니다. BYOL 라이선스 모델을 사용하고 있고 라이센스에 ADG가 포함되어 있지 않은 경우 Enterprise Edition Extreme Performance용 Data Guard를 구성할 때 ADG가 활성화되어 있지 않은지 확인해야 합니다. 대신 기본적으로 ADG를 활성화하지 않는 Enterprise Edition 또는 Enterprise Edition High Performance를 사용할 수 있습니다. Use Oracle Data Guard with the Database CLI를 참조하십시오.
- 기본 데이터베이스와 대기 데이터베이스가 동일한 지역에 있는 경우 둘 다 동일한 VCN(가상 클라우드 네트워크)을 사용해야 합니다.
- 기본 데이터베이스와 대기 데이터베이스가 서로 다른 지역에 있는 경우 각 데이터베이스에 대해 VCN(가상 클라우드 네트워크)을 피어해야 합니다. RPC를 사용한 원격 VCN 피어링을 참조하십시오.
- 기본 및 대기 데이터베이스는 다른 지역에 있을 수 있지만 동일한 영역에 있어야 합니다.
- 기본 및 대기 데이터베이스의
SYS
비밀번호와 TDE 전자 지갑 비밀번호는 모두 동일해야 합니다. - 데이터베이스가 TDE 키에 OCI Vault를 사용하는 경우에도 지역 간 Data Guard가 지원됩니다.
- TCP 트래픽이 해당 포트 간에 이동할 수 있도록 Data Guard 연관에 있는 두 DB 시스템의 서브넷에 대한 보안 목록 수신 및 송신 규칙을 구성합니다. 생성하는 규칙이 Stateful(기본값)인지 확인합니다.
예를 들어, 기본 DB 시스템의 서브넷이 소스 CIDR 10.0.0.0/24을 사용하고 대기 DB 시스템의 서브넷이 소스 CIDR 10.0.1.0/24을 사용하는 경우 후속 예제에 표시된 대로 규칙을 생성합니다.
주:
예제의 송신 규칙은 Data Guard가 작동하도록 요구되는 최소 요구 사항인 포트 1521에 대해서만 TCP 트래픽을 사용으로 설정하는 방법을 보여줍니다. TCP 트래픽이 모든 송신 포트(0.0.0.0/0)에서 이미 사용으로 설정된 경우 이러한 특정 송신 규칙을 명시적으로 추가할 필요가 없습니다.알려진 문제
- 리전 간 Data Guard에서 switchover를 수행한 후에는 새 primary database에서 데이터베이스 KMS 키를 교체할 수 없습니다.
- 리전 간 Data Guard에서 Switchover를 수행한 후에는 새 primary database에 PDB를 생성할 수 없습니다.
기본 DB 시스템의 서브넷에 대한 보안 목록
Ingress Rules:
Stateless: No
Source: 10.0.1.0/24
IP Protocol: TCPSource Port Range: All
Destination Port Range: 1521
Allows: TCP traffic for ports: 1521
Egress Rules:
Stateless: No
Destination: 10.0.1.0/24
IP Protocol: TCP
Source Port Range: All
Destination Port Range: 1521
Allows: TCP traffic for ports: 1521
대기 DB 시스템의 서브넷에 대한 보안 목록
Ingress Rules:
Stateless: No
Source: 10.0.0.0/24
IP Protocol: TCP
Source Port Range: All
Destination Port Range: 1521
Allows: TCP traffic for ports: 1521
Egress Rules:
Stateless: No
Destination: 10.0.0.0/24
IP Protocol: TCP
Source Port Range: All
Destination Port Range: 1521
Allows: TCP traffic for ports: 1521
규칙 생성 및 편집에 대한 자세한 내용은 보안 목록을 참조하십시오.
Oracle Data Guard에 대한 가용성 도메인 및 결함 도메인 고려 사항
Oracle은 가용성 및 재해 복구를 개선하기 위해 대기 데이터베이스를 포함하는 DB 시스템이 기본 데이터베이스를 포함하는 DB 시스템의 가용성 도메인과 다른 가용성 도메인에 있을 것을 권장합니다. 데이터베이스에 대해 Oracle Data Guard를 사용으로 설정하고 대기 데이터베이스가 기본 데이터베이스와 동일한 가용성 도메인에 있거나(선택 사항 또는 단일 가용성 도메인 영역에서 작업 중이기 때문) Oracle은 대기 데이터베이스를 기본 데이터베이스와 다른 결함 도메인에 배치할 것을 권장합니다.
주:
primary database와 standby database가 2노드 Oracle RAC 데이터베이스이고 둘 다 동일한 가용성 도메인에 있는 경우 primary database 또는 standby database의 다른 노드가 포함되지 않은 폴트 도메인에 standby database의 두 노드 중 하나만 있을 수 있습니다. 이는 각 가용성 도메인에 3개의 장애 도메인만 있고 기본 및 대기 데이터베이스에 총 4개의 노드가 결합되어 있기 때문입니다. 가용성 도메인 및 결함 도메인에 대한 자세한 내용은 Regions and Availability Domains을 참조하십시오.API 사용
API 사용 및 서명 요청에 대한 자세한 내용은 REST API 및 보안 인증서를 참조하십시오. SDK에 대한 자세한 내용은 소프트웨어 개발 키트 및 명령행 인터페이스를 참조하십시오.
다음 API 작업을 사용하여 Data Guard 연관을 관리합니다.
- CreateDataGuardAssociation
- GetDataGuardAssociation
- ListDataGuardAssociations
- SwitchoverDataGuardAssociation
- FailoverDataGuardAssociation
- ReinstateDataGuardAssociation
- TerminateDbSystem
데이터베이스 서비스에 대한 API의 전체 목록은 데이터베이스 서비스 API를 참조하십시오.