

# RDS Custom for Oracle DB 인스턴스 업그레이드
<a name="custom-upgrading-modify"></a>

RDS Custom for Oracle DB 인스턴스를 업그레이드하려면 새로운 CEV를 사용하도록 수정하면 됩니다. 이 CEV에는 새 데이터베이스 바이너리나 새 AMI가 포함될 수 있습니다. 예를 들어 Oracle Linux 7.9 DB 인스턴스를 Oracle Linux 8로 업그레이드하려면 Oracle Linux 8을 사용하는 최신 AMI를 지정합니다. 데이터베이스와 OS를 업그레이드하려면 별도의 업그레이드를 두 번 수행해야 합니다.

**참고**  
데이터베이스를 업그레이드하는 경우 RDS Custom은 기본 DB 인스턴스를 업그레이드한 후 읽기 전용 복제본을 자동으로 업그레이드합니다. OS를 업그레이드하면 읽기 전용 복제본을 수동으로 업그레이드해야 합니다.

시작하기 전에 [RDS Custom for Oracle 업그레이드에 대한 요구 사항](custom-upgrading.md#custom-upgrading-reqs) 및 [RDS Custom for Oracle 데이터베이스 업그레이드에 대한 고려 사항](custom-upgrading-considerations.md) 섹션을 검토하세요.

## 콘솔
<a name="custom-upgrading-modify.CON"></a>

**RDS Custom for Oracle DB 인스턴스를 업그레이드하는 방법**

1. [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)에서 AWS Management Console에 로그인한 후 Amazon RDS 콘솔을 엽니다.

1. 탐색 창에서 **데이터베이스**를 선택한 후 업그레이드하려는 RDS Custom for Oracle DB 인스턴스를 선택합니다.

1. **Modify**(수정)를 선택합니다. **Modify DB instance**(DB 인스턴스 수정) 페이지가 나타납니다.

1. **DB 엔진 버전**에서 새로운 CEV를 선택합니다. 다음을 수행합니다.
   + 데이터베이스에 패치를 적용하는 경우 CEV가 DB 인스턴스에서 사용하는 것과 다른 데이터베이스 바이너리를 지정하고 DB 인스턴스에서 현재 사용하는 AMI와 다른 AMI를 지정하지 않도록 해야 합니다.
   + OS에 패치를 적용하는 경우 CEV가 DB 인스턴스에서 사용하는 것과 다른 AMI를 지정하고 다른 데이터베이스 바이너리를 지정하지 않도록 해야 합니다.
**주의**  
OS에 패치를 적용하면 루트 볼륨 데이터와 기존 OS 사용자 지정이 손실됩니다.

1. **계속(Continue)**을 선택하여 수정 사항을 요약한 내용을 확인합니다.

   변경 사항을 즉시 적용하려면 **즉시 적용**을 선택합니다.

1. 변경 내용이 정확할 경우 **DB 인스턴스 수정(Modify DB instance)**을 선택합니다. 또는 **뒤로**를 선택하여 변경 내용을 편집하거나 **취소**를 선택하여 변경 내용을 취소합니다.

## AWS CLI
<a name="custom-upgrading-modify.CLI"></a>

다음 예시는 가능한 업그레이드 시나리오를 보여줍니다. 이 예시에서는 다음 특징을 가진 RDS Custom for Oracle DB 인스턴스를 생성했다고 가정합니다.
+ 이름이 `my-custom-instance`인 DB 인스턴스
+ 이름이 `19.my_cev1`인 CEV
+ 비 CDB 아키텍처를 사용하는 Oracle Database 19c
+ AMI `ami-1234`를 사용하는 Oracle Linux 8

최신 서비스 제공 AMI는 `ami-2345` `describe-db-engine-versions` CLI 명령을 실행하여 AMI를 찾을 수 있습니다.

**Topics**
+ [OS 업그레이드](#custom-upgrading-modify.CLI.os)
+ [데이터베이스 업그레이드](#custom-upgrading-modify.CLI.db)

### OS 업그레이드
<a name="custom-upgrading-modify.CLI.os"></a>

이 예시에서는 `ami-1234`를 서비스가 제공하는 최신 AMI인 `ami-2345`로 업그레이드하려고 합니다. OS를 업그레이드하고 있으므로 `ami-1234` 및 `ami-2345`의 데이터베이스 바이너리는 동일해야 합니다. `19.my_cev1`을 기반으로 이름이 `19.my_cev2`인 새 CEV를 생성합니다.

**Example**  
대상 LinuxmacOS, 또는Unix:  

```
aws rds create-custom-db-engine-version \
    --engine custom-oracle-ee \
    --engine-version 19.my_cev2 \
    --description "Non-CDB CEV based on ami-2345" \
    --kms-key-id key-name \
    --source-custom-db-engine-version-identifer arn:aws:rds:us-west-2:123456789012:cev:custom-oracle-ee/19.my_cev1/12345678-ab12-1234-cde1-abcde123456789 \
    --image-id ami-2345
```
Windows의 경우:  

```
aws rds create-custom-db-engine-version ^
    --engine custom-oracle-ee ^
    --engine-version 19.my_cev2 ^
    --description "Non-CDB CEV based on ami-2345" ^
    --kms-key-id key-name ^
    --source-custom-db-engine-version-identifer arn:aws:rds:us-west-2:123456789012:cev:custom-oracle-ee/19.my_cev1/12345678-ab12-1234-cde1-abcde123456789 ^
    --image-id ami-2345
```

RDS Custom DB 인스턴스를 업그레이드하려면 [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) AWS CLI 명령을 다음 파라미터와 함께 사용합니다.
+ `--db-instance-identifier` - 업그레이드할 RDS Custom for Oracle DB 인스턴스를 지정합니다.
+ `--engine-version` - 새 AMI가 있는 CEV를 지정합니다.
+ `--no-apply-immediately` \$1 `--apply-immediately` - 업그레이드를 즉시 수행할지 아니면 예약된 유지 관리 기간까지 기다릴지를 지정합니다.

다음 예제에서는 `my-custom-instance`를 버전 `19.my_cev2`으로 업그레이드합니다. OS만 업그레이드됩니다.

**Example**  
대상 LinuxmacOS, 또는Unix:  

```
aws rds modify-db-instance \
    --db-instance-identifier my-custom-instance \
    --engine-version 19.my_cev2 \
    --apply-immediately
```
Windows의 경우:  

```
aws rds modify-db-instance ^
    --db-instance-identifier my-custom-instance ^
    --engine-version 19.my_cev2 ^
    --apply-immediately
```

### 데이터베이스 업그레이드
<a name="custom-upgrading-modify.CLI.db"></a>

이 예시에서는 RDS for Oracle DB 인스턴스에 Oracle 패치 p35042068을 적용하려고 합니다. [OS 업그레이드](#custom-upgrading-modify.CLI.os)에서 OS를 업그레이드했으므로 DB 인스턴스는 현재 `ami-2345`를 기반으로 `19.my_cev2`를 사용하고 있습니다. 동일하게 `ami-2345`를 사용하는 이름이 `19.my_cev3`인 새 CEV를 만들되 `$MANIFEST` 환경 변수에 새 JSON 매니페스트를 지정합니다. 따라서 새 CEV와 인스턴스가 현재 사용 중인 CEV에서 데이터베이스 바이너리만 다르게 설정됩니다.

**Example**  
대상 LinuxmacOS, 또는Unix:  

```
aws rds create-custom-db-engine-version \
    --engine custom-oracle-ee \
    --engine-version 19.my_cev3 \
    --description "Non-CDB CEV with p35042068 based on ami-2345" \
    --kms-key-id key-name \
    --image-id ami-2345 \
    --manifest $MANIFEST
```
Windows의 경우:  

```
aws rds create-custom-db-engine-version ^
    --engine custom-oracle-ee ^
    --engine-version 19.my_cev3 ^
    --description "Non-CDB CEV with p35042068 based on ami-2345" ^
    --kms-key-id key-name ^
    --image-id ami-2345 ^
    --manifest $MANIFEST
```

다음 예시에서는 `my-custom-instance`를 엔진 버전 `19.my_cev3`으로 업그레이드합니다. 데이터베이스만 업그레이드됩니다.

**Example**  
대상 LinuxmacOS, 또는Unix:  

```
aws rds modify-db-instance \
    --db-instance-identifier my-custom-instance \
    --engine-version 19.my_cev3 \
    --apply-immediately
```
Windows의 경우:  

```
aws rds modify-db-instance ^
    --db-instance-identifier my-custom-instance ^
    --engine-version 19.my_cev3 ^
    --apply-immediately
```