

# RDS for Oracle 복제본에 대한 요구 사항 및 고려 사항
<a name="oracle-read-replicas.limitations"></a>

Oracle 복제본을 생성하기 전에 다음 요구 사항 및 고려 사항을 숙지하세요.

**Topics**
+ [Oracle 복제본에 대한 버전 및 라이선스 요구 사항](#oracle-read-replicas.limitations.versions-and-licenses)
+ [RDS for Oracle 복제본에 대한 옵션 그룹 제한 사항](#oracle-read-replicas.limitations.options)
+ [RDS for Oracle 복제본에 대한 Backup 및 복구 고려 사항](#oracle-read-replicas.limitations.backups)
+ [RDS for Oracle 복제본에 대한 Oracle Data Guard 요구 사항 및 제한 사항](#oracle-read-replicas.data-guard.requirements)
+ [RDS for Oracle 복제본에 대한 다중 테넌트 구성 제한 사항](#oracle-read-replicas.limitations.multitenant)
+ [RDS for Oracle 복제본에 대한 기타 고려 사항](#oracle-read-replicas.limitations.miscellaneous)

## Oracle 복제본에 대한 버전 및 라이선스 요구 사항
<a name="oracle-read-replicas.limitations.versions-and-licenses"></a>

RDS for Oracle 복제본을 생성하기 전에 다음 사항을 고려하세요.
+ 복제본이 읽기 전용 모드인 경우 Active Data Guard 라이선스가 있는지 확인하세요. 복제본을 탑재된 모드로 배치하는 경우 Active Data Guard 라이선스가 필요하지 않습니다. Oracle DB 엔진만 탑재된 복제본을 지원합니다.
+ Oracle 복제본은 Oracle Enterprise Edition(EE)에 대해서만 지원됩니다.
+ 비CDB의 Oracle 복제본은 Oracle Database 19c를 실행하는 비CDB 인스턴스를 사용하여 생성된 DB 인스턴스에 대해서만 지원됩니다.
+ Oracle 복제본은 두 개 이상의 vCPU가 있는 DB 인스턴스 클래스에서 실행 중인 DB 인스턴스에만 사용할 수 있습니다. 소스 DB 인스턴스는 db.t3.small 인스턴스 클래스를 사용할 수 없습니다.
+ 소스 DB 인스턴스의 Oracle DB 엔진 버전과 모든 복제본은 동일해야 합니다. Amazon RDS는 복제본의 유지 관리 기간과 상관없이 소스 DB 인스턴스를 업그레이드한 직후 복제본을 업그레이드합니다. 리전 간 복제본의 메이저 버전 업그레이드의 경우 Amazon RDS에서 자동으로 다음을 수행합니다.
  + 대상 버전에 대한 옵션 그룹을 생성합니다.
  + 모든 옵션과 옵션 설정을 원래 옵션 그룹에서 새 옵션 그룹으로 복사합니다.
  + 업그레이드된 리전 간 복제본을 새 옵션 그룹과 연결합니다.

  DB 엔진 버전 업그레이드에 대한 자세한 내용은 [RDS for Oracle DB 엔진 업그레이드](USER_UpgradeDBInstance.Oracle.md) 섹션을 참조하세요.

## RDS for Oracle 복제본에 대한 옵션 그룹 제한 사항
<a name="oracle-read-replicas.limitations.options"></a>

RDS for Oracle 복제본의 옵션 그룹으로 작업할 때는 다음 사항을 고려하세요.
+ 소스와 복제본이 동일한 AWS 리전에 있는 경우 소스 DB 인스턴스 옵션 그룹과 다른 복제본 옵션 그룹을 사용할 수 없습니다.

  원본 옵션 그룹 또는 원본 옵션 그룹 멤버십에 대한 수정 사항은 Oracle 복제본으로 전파됩니다. 이러한 변경 사항은 복제본의 유지 관리 기간과 상관없이 원본 DB 인스턴스에 적용된 직후 복제본에 적용됩니다. 옵션 그룹에 대한 자세한 내용은 [옵션 그룹 작업](USER_WorkingWithOptionGroups.md) 섹션을 참조하세요.
+ 복제본에 대해 자동으로 생성되는 전용 옵션 그룹에서 RDS for Oracle 교차 리전 복제본을 제거할 수 없습니다.
+ RDS for Oracle 교차 리전 복제본에 대한 전용 옵션 그룹을 다른 DB 인스턴스에 추가할 수 없습니다.
+ 다음 옵션을 제외하고 RDS for Oracle 리전 간 복제본의 전용 옵션 그룹에서 비복제 옵션을 추가하거나 제거할 수 없습니다.
  + `NATIVE_NETWORK_ENCRYPTION`
  + `OEM`
  + `OEM_AGENT`
  + `SSL`

  RDS for Oracle 리전 간 복제본에 다른 옵션을 추가하려면 원본 DB 인스턴스의 옵션 그룹에 추가하세요. 이 옵션은 모든 원본 DB 인스턴스의 복제본에도 설치됩니다. 라이선스가 있는 옵션의 경우 복제본에 대한 라이선스가 충분해야 합니다.

  RDS for Oracle 리전 간 복제본을 승격하면 승격된 복제본은 옵션 관리를 포함하여 다른 Oracle DB 인스턴스와 동일하게 동작합니다. 원본 DB 인스턴스를 삭제하여 복제본을 명시적 또는 암시적으로 승격할 수 있습니다.

  옵션 그룹에 대한 자세한 내용은 [옵션 그룹 작업](USER_WorkingWithOptionGroups.md) 섹션을 참조하세요.
+ RDS for Oracle 리전 간 복제본에는 `EFS_INTEGRATION` 옵션을 추가할 수 없습니다.

## RDS for Oracle 복제본에 대한 Backup 및 복구 고려 사항
<a name="oracle-read-replicas.limitations.backups"></a>

RDS for Oracle 복제본을 생성하기 전에 다음 사항을 고려하세요.
+ RDS for Oracle 복제본의 스냅샷을 생성하거나 자동 백업을 설정하려면 백업 보존 기간을 수동으로 설정해야 합니다. 자동 백업은 기본적으로 켜져 있지 않습니다.
+ 복제본 백업을 복원할 때는 백업이 완료된 시간이 아니라 데이터베이스 시간으로 복원됩니다. 이 데이터베이스 시간이란 백업에 있는 데이터의 가장 최근에 적용된 트랜잭션 시간입니다. 복제본이 기본 복제본보다 몇 분 또는 몇 시간 정도 지연될 수 있기 때문에 이러한 차이는 상당합니다.

  차이점을 찾으려면 `describe-db-snapshots` 명령을 사용하세요. 복제본 백업의 데이터베이스 시간인 `snapshotDatabaseTime`와 기본 데이터베이스에서 가장 최근에 적용된 트랜잭션인 `OriginalSnapshotCreateTime` 필드를 비교합니다.

## RDS for Oracle 복제본에 대한 Oracle Data Guard 요구 사항 및 제한 사항
<a name="oracle-read-replicas.data-guard.requirements"></a>

RDS Custom for Oracle 복제를 생성하기 전에 다음과 같은 요구 사항과 제한 사항에 유의하세요.
+ 기본 DB 인스턴스가 다중 테넌트 아키텍처의 단일 테넌트 또는 다중 테넌트 구성을 사용하는 경우 다음을 고려하세요.
  + Enterprise Edition으로 Oracle Database 19c 이상을 사용해야 합니다.
  + 기본 CDB 인스턴스는 `ACTIVE` 수명 주기에 속해야 합니다.
  + 비CDB 인스턴스를 CDB 인스턴스로 변환하고 해당 복제본을 동일한 작업에서 변환할 수 없습니다. 대신 비CDB 복제본을 삭제하고 기본 DB 인스턴스를 CDB로 변환한 다음, 새 복제본을 생성하세요.
+ 기본 인스턴스의 로그인 트리거는 `RDS_DATAGUARD` 사용자와 `AUTHENTICATED_IDENTITY` 값이 `RDS_DATAGUARD` 또는 `rdsdb`인 모든 사용자에 대한 액세스를 허용해야 합니다. 또한 트리거는 `RDS_DATAGUARD` 사용자의 현재 스키마를 설정하지 않아야 합니다.
+ Data Guard 브로커 프로세스에서 연결을 차단하지 않으려면 제한된 세션을 활성화하지 마십시오. 제한된 세션에 대한 자세한 내용은 [제한 세션 활성화 및 비활성화](Appendix.Oracle.CommonDBATasks.RestrictedSession.md) 섹션을 참조하세요.

## RDS for Oracle 복제본에 대한 다중 테넌트 구성 제한 사항
<a name="oracle-read-replicas.limitations.multitenant"></a>

RDS for Oracle 복제본에서 다중 테넌트 구성을 사용하는 경우 다음 제한 사항에 유의하세요.
+ 기본 DB 인스턴스에서만 테넌트 데이터베이스를 생성, 삭제 또는 수정할 수 있습니다. 이러한 변경 사항은 복제본에 자동으로 전파됩니다.
+ RDS for Oracle 기본, 소스 또는 복제본 인스턴스의 테넌트 데이터베이스는 사용자 지정 문자 집합으로 생성할 수 없습니다. 사용자 지정 문자 집합이 필요한 경우 DB 인스턴스에 대한 읽기 전용 복제본을 생성하기 전에 테넌트 데이터베이스를 생성하세요.

## RDS for Oracle 복제본에 대한 기타 고려 사항
<a name="oracle-read-replicas.limitations.miscellaneous"></a>

RDS for Oracle 복제본을 생성하기 전에 다음 사항을 고려하세요.
+ 추가 스토리지 볼륨이 있는 DB 인스턴스에 대한 RDS for Oracle 복제본을 생성할 때 RDS는 복제본에 추가 스토리지 볼륨을 자동으로 구성합니다. 그러나 기본 DB 인스턴스의 스토리지 볼륨에서 이루어진 후속 수정 사항은 복제본에 자동으로 적용되지 않습니다.
+ 기본 DB 인스턴스에 스토리지 볼륨을 추가하는 경우 RDS는 복제본에 스토리지 볼륨을 자동으로 추가하지 않습니다. 추가 스토리지 볼륨을 추가하려면 복제본을 수정해야 합니다.
+ 기본 DB 인스턴스의 스토리지 크기 및 IOPS와 같은 스토리지 볼륨 구성을 수정하는 경우 RDS는 복제본의 스토리지 볼륨을 자동으로 수정하지 않습니다. 스토리지 볼륨 구성을 업데이트하려면 복제본을 수정해야 합니다.
+ 볼륨에서 데이터 파일 위치를 관리할 때 기본 인스턴스에서 변경한 내용은 복제본에 자동으로 동기화되지 않습니다.
  + 읽기 전용 복제본의 경우: 파라미터 그룹 설정을 사용하여 기본 파일 위치를 제어하거나 파일을 생성한 후 수동으로 이동할 수 있습니다.
  + 마운트된 복제본의 경우: 기본 데이터베이스의 데이터 파일 위치를 수동으로 변경하려면 마운트된 복제본을 다시 생성하여 이러한 변경 사항을 반영해야 합니다. 이를 방지하려면 파라미터 그룹 설정을 사용하여 기본 파일 위치를 관리하는 것이 좋습니다.
+ DB 인스턴스가 하나 이상의 리전 간 복제본의 원본인 경우 원본 DB는 모든 리전 간 복제본에 적용될 때까지 아카이브된 재실행 로그 파일을 유지합니다. 아카이브된 다시 실행 로그 때문에 스토리지 소비가 증가할 수 있습니다.
+ RDS 자동화를 방해하지 않으려면 특정 사용자가 기본 및 복제본 데이터베이스에 로그온할 수 있도록 시스템 트리거가 허용해야 합니다. [시스템 트리거](https://docs.oracle.com/en/database/oracle/oracle-database/19/lnpls/plsql-triggers.html#GUID-FE23FCE8-DE36-41EF-80A9-6B4B49E80E5B)에는 DDL, 로그온 및 데이터베이스 역할 트리거가 포함되어 있습니다. 다음 예제 코드에 나열된 사용자를 제외하도록 트리거에 코드를 추가하는 것이 좋습니다.

  ```
  -- Determine who the user is
  SELECT SYS_CONTEXT('USERENV','AUTHENTICATED_IDENTITY') INTO CURRENT_USER FROM DUAL;
  -- The following users should always be able to login to either the Primary or Replica
  IF CURRENT_USER IN ('master_user', 'SYS', 'SYSTEM', 'RDS_DATAGUARD', 'rdsdb') THEN
  RETURN;
  END IF;
  ```
+ 블록 변경 내용 추적은 읽기 전용 복제본에 대해 지원되지만 마운트된 복제본에는 지원되지 않습니다. 마운트된 복제본을 읽기 전용 복제본으로 변경한 다음 블록 변경 내용 추적을 활성화할 수 있습니다. 자세한 내용은 [블록 변경 추적 활성화 및 비활성화](Appendix.Oracle.CommonDBATasks.BlockChangeTracking.md) 섹션을 참조하세요.
+ 소스 데이터베이스가 Secrets Manager를 사용하여 마스터 사용자 자격 증명을 관리하는 경우 Oracle 읽기 전용 복제본을 만들 수 없습니다.