

# 사용자 지정 엔진 버전의 Amazon RDS Custom for Oracle으로 작업
<a name="custom-cev"></a>

Amazon RDS Custom for Oracle의 *사용자 지정 엔진 버전(CEV)*은 데이터베이스 엔진 및 특정 Amazon Machine Image(AMI)의 바이너리 볼륨 스냅샷입니다. RDS Custom for Oracle에서는 기본적으로 RDS Custom에서 관리되는 최신 AMI를 사용하지만, 사용자가 이전 CEV에서 사용된 AMI를 지정하는 것도 가능합니다. 데이터베이스 설치 파일은 Amazon S3에 저장되며, RDS Custom은 이 설치 파일과 AMI를 사용하여 CEV를 생성합니다.

**Topics**
+ [CEV 생성 준비](custom-cev.preparing.md)
+ [CEV 생성](custom-cev.create.md)
+ [CEV 상태 수정](custom-cev.modify.md)
+ [Amazon RDS Custom for Oracle의 CEV 세부 정보 보기](custom-cev.view.md)
+ [CEV 삭제](custom-cev.delete.md)

# CEV 생성 준비
<a name="custom-cev.preparing"></a>

CEV를 생성하려면 다음 릴리스 중 하나에 대해 Amazon S3 버킷에 저장된 설치 파일 및 패치를 사용해야 합니다.
+ Oracle Database 19c
+ Oracle Database 18c
+ Oracle Database 12c 릴리스 2(12.2)
+ Oracle Database 12c 릴리스 1(12.1)

예를 들어, 2021년 4월 RU/RUR for Oracle Database 19c 또는 설치 파일과 패치의 유효한 조합을 사용할 수 있습니다. RDS Custom for Oracle이 지원하는 버전 및 리전에 대한 자세한 내용은 [RDS Oracle을 지원하는 RDS Custom](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RDS_Fea_Regions_DB-eng.Feature.RDSCustom.html#Concepts.RDS_Fea_Regions_DB-eng.Feature.RDSCustom.ora)을 참조하세요.

**Topics**
+ [1단계(선택 사항): 매니페스트 템플릿 다운로드](#custom-cev.preparing.templates)
+ [2단계: Oracle Software Delivery Cloud에서 데이터베이스 설치 파일 및 패치 다운로드](#custom-cev.preparing.download)
+ [3단계: Amazon S3에 설치 파일 업로드](#custom-cev.preparing.s3)
+ [4단계(선택 사항): 여러 AWS 계정에 걸쳐 S3의 설치 미디어 공유](#custom-cev.preparing.accounts)
+ [5단계: CEV 매니페스트 준비](#custom-cev.preparing.manifest)
+ [6단계(선택 사항): CEV 매니페스트 검증](#custom-cev.preparing.validating)
+ [7단계: 필요한 IAM 권한 추가](#custom-cev.preparing.iam)

## 1단계(선택 사항): 매니페스트 템플릿 다운로드
<a name="custom-cev.preparing.templates"></a>

*CEV 매니페스트*는 CEV의 데이터베이스 설치 .zip 파일 목록이 포함된 JSON 문서입니다. CEV를 생성하려면 다음을 수행합니다.

1. CEV에 포함하려는 Oracle 데이터베이스 설치 파일을 식별합니다.

1. 설치 파일을 다운로드합니다.

1. 설치 파일을 나열하는 JSON 매니페스트를 생성합니다.

RDS Custom for Oracle은 지원되는 각 Oracle 데이터베이스 릴리스에 대한 권장 .zip 파일이 포함된 JSON 매니페스트 템플릿을 제공합니다. 예를 들어, 다음 템플릿은 19.17.0.0.0 RU용입니다.

```
{
    "mediaImportTemplateVersion": "2020-08-14",
    "databaseInstallationFileNames": [
        "V982063-01.zip"
    ],
    "opatchFileNames": [
        "p6880880_190000_Linux-x86-64.zip"
    ],
    "psuRuPatchFileNames": [
        "p34419443_190000_Linux-x86-64.zip",
        "p34411846_190000_Linux-x86-64.zip"
    ],
    "otherPatchFileNames": [
        "p28852325_190000_Linux-x86-64.zip",
        "p29997937_190000_Linux-x86-64.zip",
        "p31335037_190000_Linux-x86-64.zip",
        "p32327201_190000_Linux-x86-64.zip",
        "p33613829_190000_Linux-x86-64.zip",
        "p34006614_190000_Linux-x86-64.zip",
        "p34533061_190000_Linux-x86-64.zip",
        "p34533150_190000_Generic.zip",
        "p28730253_190000_Linux-x86-64.zip",
        "p29213893_1917000DBRU_Generic.zip",
        "p33125873_1917000DBRU_Linux-x86-64.zip",
        "p34446152_1917000DBRU_Linux-x86-64.zip"
    ]
}
```

각 템플릿에는 패치 다운로드 지침, .zip 파일의 URL, 파일 체크섬이 포함된 관련 Readme 파일이 있습니다. 이러한 템플릿을 그대로 사용하거나 자체 패치를 사용하여 수정할 수 있습니다. 템플릿을 검토하려면 로컬 디스크에 [custom-oracle-manifest.zip](samples/custom-oracle-manifest.zip)을 다운로드한 후 파일 보관 애플리케이션을 사용하여 파일을 엽니다. 자세한 내용은 [5단계: CEV 매니페스트 준비](#custom-cev.preparing.manifest) 섹션을 참조하세요.

## 2단계: Oracle Software Delivery Cloud에서 데이터베이스 설치 파일 및 패치 다운로드
<a name="custom-cev.preparing.download"></a>

CEV에 사용할 설치 파일을 확인했으면 해당 파일을 로컬 시스템에 다운로드하세요. Oracle Database 설치 파일 및 패치는 Oracle Software Delivery Cloud에서 호스팅됩니다. 각 CEV에는 Oracle Database 19c 또는 Oracle Database 12c 릴리스 2(12.2), 그리고 패치 목록(선택 사항)이 필요합니다.

**Oracle Database용 데이터베이스 설치 파일을 다운로드하려면**

1. [https://edelivery.oracle.com/](https://edelivery.oracle.com/)으로 이동하여 로그인합니다.

1. 검색 상자에 **Oracle Database Enterprise Edition** 또는 **Oracle Database Standard Edition 2**를 입력하고 **검색**을 선택합니다.

1. 다음 기본 릴리스 중 하나를 선택합니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/custom-cev.preparing.html)

1. **Continue**(계속)를 선택합니다.

1. **Download Queue**(대기열 다운로드) 확인란을 선택 취소합니다.

1. 기본 릴리스에 해당하는 옵션을 선택합니다.
   + **Oracle Database 19.3.0.0.0 - 장기 지원 릴리스**.
   + **Oracle Database 18.0.0.0.0**
   + **Oracle Database 12.2.0.1.0**.
   + **Oracle Database 12.1.0.2.0**.

1. **Platform/Languages**(플랫폼/언어)에서 **Linux x86-64**를 선택합니다.

1. **계속**을 선택한 다음 Oracle 라이선스 계약에 서명합니다.

1. 데이터베이스 릴리스에 해당하는 .zip 파일을 선택합니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/custom-cev.preparing.html)

1. 원하는 Oracle 패치를 `updates.oracle.com` 또는 `support.oracle.com`에서 로컬 시스템으로 다운로드합니다. 다음 위치에서 패치의 URL을 찾을 수 있습니다.
   + [1단계(선택 사항): 매니페스트 템플릿 다운로드](#custom-cev.preparing.templates)에서 다운로드한 .zip 파일의 Readme 파일
   + [Release notes for Amazon Relational Database Service (Amazon RDS) for Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes)(Amazon Relational Database Service(RDS) for Oracle에 대한 릴리스 노트)의 Release Update(RU)에 나열된 패치

## 3단계: Amazon S3에 설치 파일 업로드
<a name="custom-cev.preparing.s3"></a>

AWS CLI를 사용하여 Oracle 설치 및 패치 파일을 Amazon S3 업로드할 수 있습니다. 단, 설치 파일이 포함된 S3 버킷이 CEV와 동일한 AWS 리전에 있어야 합니다.

이 섹션의 예제에서는 다음 자리 표시자를 사용합니다.
+ `install-or-patch-file.zip` - Oracle 설치 미디어 파일입니다. 예를 들어, p32126828\$1190000\$1Linux-x86-64.zip은 패치입니다.
+ `amzn-s3-demo-destination-bucket` - 업로드된 설치 파일에 지정된 Amazon S3 버킷입니다.
+ `123456789012/cev1` - Amazon S3 버킷의 접두사(선택 사항)입니다.
+ `amzn-s3-demo-source-bucket` - 필요에 따라 파일을 단계화할 수 있는 Amazon S3 버킷입니다.

**Topics**
+ [3a단계: S3 버킷이 올바른 AWS 리전에 있는지 확인](#custom-cev.preparing.s3.verify-region)
+ [3b단계: S3 버킷 정책에 올바른 권한이 있는지 확인](#custom-cev.preparing.s3.verify-policy)
+ [3c단계: cp 또는 sync 명령을 사용하여 파일 업로드](#custom-cev.preparing.s3.upload)
+ [3d단계: S3 버킷의 파일 나열](#custom-cev.preparing.s3.list)

### 3a단계: S3 버킷이 올바른 AWS 리전에 있는지 확인
<a name="custom-cev.preparing.s3.verify-region"></a>

S3 버킷이 `create-custom-db-engine-version` 명령을 실행하려는 AWS 리전에 있는지 확인합니다.

```
aws s3api get-bucket-location --bucket amzn-s3-demo-destination-bucket
```

### 3b단계: S3 버킷 정책에 올바른 권한이 있는지 확인
<a name="custom-cev.preparing.s3.verify-policy"></a>

CEV는 처음부터 생성하거나 소스 CEV에서 생성할 수 있습니다. 소스 CEV에서 새 CEV를 생성하려는 경우 S3 버킷 정책에 올바른 권한이 있는지 확인하세요.

1. RDS Custom에서 예약한 S3 버킷을 식별합니다. 버킷 이름의 형식은 `do-not-delete-rds-custom-account-region-string`입니다. 예를 들어, 버킷의 이름은 `do-not-delete-rds-custom-123456789012-us-east-1-abc123EXAMPLE`일 수 있습니다.

1. S3 버킷 정책에 다음 권한이 추가되었는지 확인하세요. `do-not-delete-rds-custom-123456789012-us-east-1-abc123EXAMPLE`을 사용 중인 버킷의 이름으로 바꿉니다.

   ```
   {
       "Sid": "AWSRDSCustomForOracleCustomEngineVersionGetObject",
       "Effect": "Allow",
       "Principal": {
           "Service": "custom.rds.amazonaws.com"
       },
       "Action": [
           "s3:GetObject",
           "s3:GetObjectTagging"
       ],
       "Resource": "arn:aws:s3:::do-not-delete-rds-custom-123456789012-us-east-1-abc123EXAMPLE/CustomEngineVersions/*"
   }, ...
   ```

### 3c단계: cp 또는 sync 명령을 사용하여 파일 업로드
<a name="custom-cev.preparing.s3.upload"></a>

다음 옵션 중 하나를 선택합니다.
+ `aws s3 cp`를 사용하여 .zip 파일 하나만 업로드합니다.

  각 설치 .zip 파일을 별도로 업로드합니다. .zip 파일을 하나의 .zip 파일로 결합하지 마세요.
+ `aws s3 sync`를 사용하여 디렉터리를 업로드합니다.

**Example**  
다음 예제에서는 RDS Custom Amazon S3 버킷에 있는 `123456789012/cev1` 폴더에 `install-or-patch-file.zip`을 업로드합니다. 업로드하려는 각 .zip 파일에 대해 `aws s3` 명령을 별도로 실행합니다.   
대상 LinuxmacOS, 또는Unix:  

```
1. aws s3 cp install-or-patch-file.zip \
2.     s3://amzn-s3-demo-destination-bucket/123456789012/cev1/
```
Windows의 경우:  

```
1. aws s3 cp install-or-patch-file.zip ^
2.     s3://amzn-s3-demo-destination-bucket/123456789012/cev1/
```

**Example**  
다음 예제에서는 로컬 *cev1* 폴더의 파일을 Amazon S3 버킷의 *123456789012/cev1* 폴더로 업로드합니다.  
대상 LinuxmacOS, 또는Unix:  

```
aws s3 sync cev1 \
    s3://amzn-s3-demo-destination-bucket/123456789012/cev1/
```
Windows의 경우:  

```
aws s3 sync cev1 ^
    s3://amzn-s3-demo-destination-bucket/123456789012/cev1/
```

**Example**  
다음 예제에서는 `amzn-s3-demo-source-bucket`에 있는 모든 파일을 Amazon S3 버킷의 **`123456789012/cev1`** 폴더로 업로드합니다.  
대상 LinuxmacOS, 또는Unix:  

```
aws s3 sync s3://amzn-s3-demo-source-bucket/ \
    s3://amzn-s3-demo-destination-bucket/123456789012/cev1/
```
Windows의 경우:  

```
aws s3 sync s3://amzn-s3-demo-source-bucket/ ^
    s3://amzn-s3-demo-destination-bucket/123456789012/cev1/
```

### 3d단계: S3 버킷의 파일 나열
<a name="custom-cev.preparing.s3.list"></a>

다음 예시에서는 `s3 ls` 명령을 사용하여 RDS Custom Amazon S3 버킷에 있는 파일을 나열합니다.

```
aws s3 ls \
    s3://amzn-s3-demo-destination-bucket/123456789012/cev1/
```

## 4단계(선택 사항): 여러 AWS 계정에 걸쳐 S3의 설치 미디어 공유
<a name="custom-cev.preparing.accounts"></a>

이 섹션에서는 업로드한 Oracle 설치 파일이 포함된 Amazon S3 버킷이 *미디어 버킷*입니다. 조직은 한 AWS 계정에서 여러 AWS 리전을 사용할 수 있습니다. 그렇다면 하나를 사용하고 싶을 것입니다.AWS 계정미디어 버킷 및 다른 미디어 버킷 채우기AWS 계정CEV를 만들 수 있습니다. 미디어 버킷에 폴더를 공유하고 싶지 않은 경우 다음 섹션으로 건너뜁니다.

이 섹션에서는 다음과 같이 가정합니다.
+ 미디어 버킷을 생성한 계정과 CEV를 생성하려는 다른 계정에 액세스할 수 있습니다.
+ AWS 리전에서 CEV를 하나만 만들려고 합니다. 여러 리전을 사용하려는 경우 각 리전에 미디어 버킷을 생성하세요.
+ CLI를 사용 중입니다. Amazon S3 콘솔을 사용 중인 경우 다음 단계를 조정합니다.

**AWS 계정에서 공유할 미디어 버킷을 구성하려면**

1. 설치 미디어를 업로드한 S3 버킷이 포함된 AWS 계정에 로그인합니다.

1. 먼저 빈 JSON 정책 템플릿이나 적용할 수 있는 기존 정책으로 시작하세요.

   다음 명령은 기존 정책을 검색하여 *my-policy.json*으로 저장합니다. 이 예제에서 설치 파일이 포함된 S3 버킷의 이름은 *amzn-s3-demo-bucket*입니다.

   ```
   aws s3api get-bucket-policy \ 
       --bucket amzn-s3-demo-bucket \
       --query Policy \
       --output text > my-policy.json
   ```

1. 미디어 버킷 권한을 다음과 같이 편집합니다.
   + 템플릿의 `Resource` 요소에서 Oracle Database 설치 파일을 업로드한 S3 버킷을 지정합니다.
   + `Principal` 요소에서 CEV를 생성하는 데 사용할 모든 AWS 계정에 대한 ARN을 지정합니다. S3 버킷 허용 목록에 루트, 사용자 또는 역할을 추가할 수 있습니다. 자세한 내용은 *AWS Identity and Access Management 사용 설명서*에서 [IAM 식별자](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html)를 참조하세요.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "GrantAccountsAccess",
               "Effect": "Allow",
               "Principal": {
                   "AWS": [
                       "arn:aws:iam::111122223333:root",
                       "arn:aws:iam::444455556666:user/user-name-with-path",
                       "arn:aws:iam::123456789012:role/role-name-with-path"
                   ]
               },
               "Action": [
                   "s3:GetObject",
                   "s3:GetObjectAcl",
                   "s3:GetObjectTagging",
                   "s3:ListBucket",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket",
                   "arn:aws:s3:::amzn-s3-demo-bucket/*"
               ]
           }
       ]
   }
   ```

------

1. 미디어 버킷에 다음 정책을 연결합니다.

   다음 예제에서 *amzn-s3-demo-bucket*은 설치 파일이 포함된 S3 버킷의 이름이고 *my-policy.json*은 JSON 파일의 이름입니다.

   ```
   aws s3api put-bucket-policy \
       --bucket amzn-s3-demo-bucket \
       --policy file://my-policy.json
   ```

1. CEV를 만들려는 AWS 계정에 로그인합니다.

1. 이 계정이 생성한 AWS 계정의 미디어 버킷에 액세스할 수 있는지 확인합니다.

   ```
   aws s3 ls --query "Buckets[].Name"
   ```

   자세한 내용은 *AWS CLI 명령 참조*에서 [aws s3 ls](https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html)를 참조합니다.

1. [CEV 생성](custom-cev.create.md)의 단계에 따라 CEV를 생성합니다.

## 5단계: CEV 매니페스트 준비
<a name="custom-cev.preparing.manifest"></a>

CEV 매니페스트는 다음이 포함된 JSON 문서입니다.
+ (필수) Amazon S3에 업로드한 설치 .zip 파일 목록. RDS Custom은 매니페스트에 나열된 순서대로 패치를 적용합니다.
+ (선택 사항) Oracle base, Oracle home, UNIX/Linux 사용자 및 그룹의 ID 및 이름에 기본값이 아닌 값을 설정하는 설치 파라미터. 기존 CEV 또는 기존 DB 인스턴스의 설치 파라미터는 수정할 수 없다는 점에 유의하세요. 또한 설치 파라미터의 설정이 다른 경우 한 CEV에서 다른 CEV로 업그레이드할 수 없습니다.

샘플 CEV 매니페스트는 [1단계(선택 사항): 매니페스트 템플릿 다운로드](#custom-cev.preparing.templates)에서 다운로드한 JSON 템플릿을 참조하세요. [CEV 매니페스트 예](#custom-cev.preparing.manifest.examples)에서 샘플을 검토할 수도 있습니다.

**Topics**
+ [CEV 매니페스트 내의 JSON](#custom-cev.preparing.manifest.fields)
+ [CEV 매니페스트 생성](#custom-cev.preparing.manifest.creating)
+ [CEV 매니페스트 예](#custom-cev.preparing.manifest.examples)

### CEV 매니페스트 내의 JSON
<a name="custom-cev.preparing.manifest.fields"></a>

다음 표에서는 매니페스트의 JSON 필드를 설명합니다.


| JSON 필드 | 설명 | 
| --- | --- | 
|  `MediaImportTemplateVersion`  |  CEV 매니페스트 버전으로, 날짜 형식은 `YYYY-MM-DD`입니다.  | 
|  `databaseInstallationFileNames`  |  데이터베이스의 설치 파일이 나열된 목록입니다.  | 
|  `opatchFileNames`  |  Oracle DB 엔진에 사용된 OPatch 설치 관리자가 나열된 목록으로, 하나의 값만 유효합니다. `opatchFileNames` 값은 `p6880880_`으로 시작해야 합니다.  | 
|  `psuRuPatchFileNames`  |  이 데이터베이스에 대한 PSU 및 RU 패치입니다.  `psuRuPatchFileNames`가 포함되어 있는 경우 `opatchFileNames`는 필수입니다. `opatchFileNames` 값은 `p6880880_`으로 시작해야 합니다.   | 
|  `OtherPatchFileNames`  |  PSU 및 RU 패치 목록에 없는 패치입니다. RDS Custom은 PSU 및 RU 패치를 적용한 후에 이러한 패치를 적용합니다.  `OtherPatchFileNames`가 포함되어 있는 경우 `opatchFileNames`는 필수입니다. `opatchFileNames` 값은 `p6880880_`으로 시작해야 합니다.   | 
|  `installationParameters`  |  Oracle base, Oracle home, UNIX/Linux 사용자 및 그룹의 ID 및 이름의 기본이 아닌 설정입니다. 다음과 같은 파라미터를 설정할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/custom-cev.preparing.html)  | 

각 Oracle Database 릴리스에는 지원되는 설치 파일 목록이 다릅니다. CEV 매니페스트를 생성할 때 Oracle용 RDS Custom에서 지원하는 파일만 지정해야 합니다. 그렇지 않으면 오류가 발생하여 CEV 생성이 실패합니다. [Release notes for Amazon Relational Database Service (Amazon RDS) for Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes)(Amazon Relational Database Service(RDS) for Oracle에 대한 릴리스 노트)에 나열된 모든 패치가 지원됩니다.

### CEV 매니페스트 생성
<a name="custom-cev.preparing.manifest.creating"></a>

**CEV 매니페스트를 생성하려면**

1. 적용할 모든 설치 파일을 나열할 순서대로 나열합니다.

1. 설치 파일을 [CEV 매니페스트 내의 JSON](#custom-cev.preparing.manifest.fields)에 설명된 JSON 필드와 상호 연관시킵니다.

1. 다음 중 하나를 수행하세요.
   + CEV 매니페스트를 JSON 텍스트 파일로 생성합니다.
   + 콘솔에서 CEV를 만들 때 CEV 매니페스트 템플릿을 편집합니다. 자세한 내용은 [CEV 생성](custom-cev.create.md)을 참조하세요.

### CEV 매니페스트 예
<a name="custom-cev.preparing.manifest.examples"></a>

다음 예는 다양한 Oracle 데이터베이스 릴리스에 대한 CEV 매니페스트 파일을 보여줍니다. 매니페스트 형태로, JSON 필드를 포함할 경우 비워둘 것이 아닌지 확인하세요. 예를 들어, 다음 매니페스트는 `otherPatchFileNames`가 비어 있으므로 유효하지 않습니다.

```
{
    "mediaImportTemplateVersion": "2020-08-14",
    "databaseInstallationFileNames": [
        "V982063-01.zip"
    ],
    "opatchFileNames": [
        "p6880880_190000_Linux-x86-64.zip"
    ],
    "psuRuPatchFileNames": [
        "p32126828_190000_Linux-x86-64.zip"
    ],
    "otherPatchFileNames": [
    ]
}
```

**주제**
+ [Sample CEV manifest for Oracle Database 12c Release 1 (12.1)](#oracle-cev-manifest-12.1)
+ [Sample CEV manifest for Oracle Database 12c Release 2 (12.2)](#oracle-cev-manifest-12.2)
+ [Sample CEV manifest for Oracle Database 18c](#oracle-cev-manifest-18c)
+ [Sample CEV manifest for Oracle Database 19c](#oracle-cev-manifest-19c)

**Example Oracle Database 12c Release 1(12.1) 샘플 CEV 매니페스트**  
Oracle Database 12c 릴리스 1(12.1)용 2021년 7월 PSU의 다음 예에서 RDS Custom은 지정된 순서대로 패치를 적용합니다. 따라서 RDS Custom은 p32768233, p32876425, p18759211 순으로 적용합니다. 이 예제에서는 UNIX/Linux 사용자 및 그룹, Oracle home, Oracle base의 새 값을 설정합니다.  

```
{
    "mediaImportTemplateVersion":"2020-08-14",
    "databaseInstallationFileNames":[
        "V46095-01_1of2.zip",
        "V46095-01_2of2.zip"
    ],
    "opatchFileNames":[
        "p6880880_121010_Linux-x86-64.zip"
    ],
    "psuRuPatchFileNames":[
        "p32768233_121020_Linux-x86-64.zip"
    ],
    "otherPatchFileNames":[
        "p32876425_121020_Linux-x86-64.zip",
        "p18759211_121020_Linux-x86-64.zip",
        "p19396455_121020_Linux-x86-64.zip",
        "p20875898_121020_Linux-x86-64.zip",
        "p22037014_121020_Linux-x86-64.zip",
        "p22873635_121020_Linux-x86-64.zip",
        "p23614158_121020_Linux-x86-64.zip",
        "p24701840_121020_Linux-x86-64.zip",
        "p25881255_121020_Linux-x86-64.zip",
        "p27015449_121020_Linux-x86-64.zip",
        "p28125601_121020_Linux-x86-64.zip",
        "p28852325_121020_Linux-x86-64.zip",
        "p29997937_121020_Linux-x86-64.zip",
        "p31335037_121020_Linux-x86-64.zip",
        "p32327201_121020_Linux-x86-64.zip",
        "p32327208_121020_Generic.zip",
        "p17969866_12102210119_Linux-x86-64.zip",
        "p20394750_12102210119_Linux-x86-64.zip",
        "p24835919_121020_Linux-x86-64.zip",
        "p23262847_12102201020_Linux-x86-64.zip",
        "p21171382_12102201020_Generic.zip",
        "p21091901_12102210720_Linux-x86-64.zip",
        "p33013352_12102210720_Linux-x86-64.zip",
        "p25031502_12102210720_Linux-x86-64.zip",
        "p23711335_12102191015_Generic.zip",
        "p19504946_121020_Linux-x86-64.zip"
    ],
    "installationParameters": {
        "unixGroupName": "dba",
        "unixGroupId": 12345,
        "unixUname": "oracle",
        "unixUid": 12345,
        "oracleHome": "/home/oracle/oracle.12.1.0.2",
        "oracleBase": "/home/oracle"
    }
}
```

**Example Oracle Database 12c Release 2(12.2) 샘플 CEV 매니페스트**  
Oracle Database 12c 릴리스 2(12.2)용 2021년 10월 PSU의 다음 예에서 RDS Custom은 p33261817, p33192662, p29213893 등을 적용합니다. 이 예제에서는 UNIX/Linux 사용자 및 그룹, Oracle home, Oracle base의 새 값을 설정합니다.  

```
{
    "mediaImportTemplateVersion":"2020-08-14",
    "databaseInstallationFileNames":[
        "V839960-01.zip"
    ],
    "opatchFileNames":[
        "p6880880_122010_Linux-x86-64.zip"
    ],
    "psuRuPatchFileNames":[
        "p33261817_122010_Linux-x86-64.zip"
    ],
    "otherPatchFileNames":[
        "p33192662_122010_Linux-x86-64.zip",
        "p29213893_122010_Generic.zip",
        "p28730253_122010_Linux-x86-64.zip",
        "p26352615_12201211019DBOCT2021RU_Linux-x86-64.zip",
        "p23614158_122010_Linux-x86-64.zip",
        "p24701840_122010_Linux-x86-64.zip",
        "p25173124_122010_Linux-x86-64.zip",
        "p25881255_122010_Linux-x86-64.zip",
        "p27015449_122010_Linux-x86-64.zip",
        "p28125601_122010_Linux-x86-64.zip",
        "p28852325_122010_Linux-x86-64.zip",
        "p29997937_122010_Linux-x86-64.zip",
        "p31335037_122010_Linux-x86-64.zip",
        "p32327201_122010_Linux-x86-64.zip",
        "p32327208_122010_Generic.zip"
    ],
    "installationParameters": {
        "unixGroupName": "dba",
        "unixGroupId": 12345,
        "unixUname": "oracle",
        "unixUid": 12345,
        "oracleHome": "/home/oracle/oracle.12.2.0.1",
        "oracleBase": "/home/oracle"
    }
}
```

**Example Oracle Database 18c 샘플 CEV 매니페스트**  
Oracle Database 18c용 2021년 10월 PSU의 다음 예에서 RDS Custom은 p33261817, p33192662, p29213893 등을 적용합니다. 이 예제에서는 UNIX/Linux 사용자 및 그룹, Oracle home, Oracle base의 새 값을 설정합니다.  

```
{
    "mediaImportTemplateVersion":"2020-08-14",
    "databaseInstallationFileNames":[
        "V978967-01.zip"
    ],
    "opatchFileNames":[
        "p6880880_180000_Linux-x86-64.zip"
    ],
    "psuRuPatchFileNames":[
        "p32126855_180000_Linux-x86-64.zip"
    ],
    "otherPatchFileNames":[
        "p28730253_180000_Linux-x86-64.zip",
        "p27539475_1813000DBRU_Linux-x86-64.zip",
        "p29213893_180000_Generic.zip",
        "p29374604_1813000DBRU_Linux-x86-64.zip",
        "p29782284_180000_Generic.zip",
        "p28125601_180000_Linux-x86-64.zip",
        "p28852325_180000_Linux-x86-64.zip",
        "p29997937_180000_Linux-x86-64.zip",
        "p31335037_180000_Linux-x86-64.zip",
        "p31335142_180000_Generic.zip"
    ]
    "installationParameters": {
        "unixGroupName": "dba",
        "unixGroupId": 12345,
        "unixUname": "oracle",
        "unixUid": 12345,
        "oracleHome": "/home/oracle/18.0.0.0.ru-2020-10.rur-2020-10.r1",
        "oracleBase": "/home/oracle/"
    }
}
```

**Example Oracle Database 19c 샘플 CEV 매니페스트**  
다음 Oracle Database 19c 예제에서 RDS Custom은 p32126828을 적용한 다음 p29213893, p29782284 순으로 적용합니다. 이 예제에서는 UNIX/Linux 사용자 및 그룹, Oracle home, Oracle base의 새 값을 설정합니다.  

```
{
    "mediaImportTemplateVersion": "2020-08-14",
    "databaseInstallationFileNames": [
        "V982063-01.zip"
    ],
    "opatchFileNames": [
        "p6880880_190000_Linux-x86-64.zip"
    ],
    "psuRuPatchFileNames": [
        "p32126828_190000_Linux-x86-64.zip"
    ],
    "otherPatchFileNames": [
        "p29213893_1910000DBRU_Generic.zip",
        "p29782284_1910000DBRU_Generic.zip",
        "p28730253_190000_Linux-x86-64.zip",
        "p29374604_1910000DBRU_Linux-x86-64.zip",
        "p28852325_190000_Linux-x86-64.zip",
        "p29997937_190000_Linux-x86-64.zip",
        "p31335037_190000_Linux-x86-64.zip",
        "p31335142_190000_Generic.zip"
    ],
    "installationParameters": {
        "unixGroupName": "dba",
        "unixGroupId": 12345,
        "unixUname": "oracle",
        "unixUid": 12345,
        "oracleHome": "/home/oracle/oracle.19.0.0.0.ru-2020-04.rur-2020-04.r1.EE.1",
        "oracleBase": "/home/oracle"
    }
}
```

## 6단계(선택 사항): CEV 매니페스트 검증
<a name="custom-cev.preparing.validating"></a>

필요에 따라 `json.tool` Python 스크립트를 실행하여 매니페스트가 유효한 JSON 파일인지 확인할 수 있습니다. 예를 들어, `manifest.json`이라는 이름의 CEV 매니페스트를 포함하는 디렉터리로 변경하는 경우 다음 명령을 실행하면 됩니다.

```
python -m json.tool < manifest.json
```

## 7단계: 필요한 IAM 권한 추가
<a name="custom-cev.preparing.iam"></a>

CEV를 생성하는 IAM 보안 주체에는 [5단계: IAM 사용자 또는 역할에 필요한 권한 부여](custom-setup-orcl.md#custom-setup-orcl.iam-user)에 설명된 필수 정책이 있는지 확인합니다.

# CEV 생성
<a name="custom-cev.create"></a>

AWS Management Console 또는 AWS CLI를 사용하여 CEV를 생성할 수 있습니다. 멀티테넌트 또는 비 멀티테넌트 아키텍처를 지정합니다. 자세한 내용은 [멀티테넌트 아키텍처 고려 사항](custom-creating.md#custom-creating.overview) 단원을 참조하십시오.

일반적으로 CEV 생성에는 약 2시간이 소요됩니다. CEV를 만든 후 이를 사용하여 RDS Custom DB 인스턴스를 만들 수 있습니다. 자세한 내용은 [RDS Custom for Oracle DB 인스턴스 생성](custom-creating.md#custom-creating.create) 및 [RDS Custom for Oracle DB 인스턴스 업그레이드](custom-upgrading-modify.md) 단원을 참조하세요.

**참고**  
DB 인스턴스가 현재 Oracle Linux 7.9를 사용하는 경우 Oracle Linux 8을 사용하는 최신 AMI를 사용하는 새 CEV를 만듭니다. 그런 다음 새 CEV를 사용하도록 인스턴스를 수정합니다.

CEV 생성에 대해 다음과 같은 요구 사항 및 제한 사항에 유의합니다.
+ 단, 설치 파일이 포함된 Amazon S3 버킷이 CEV와 동일한 AWS 리전에 있어야 하며, 그렇지 않으면 생성 프로세스가 실패합니다.
+ CEV 이름은 `major-engine-version.customized_string`과 같은 `19.cdb_cev1` 형식이어야 합니다.
+ CEV 이름은 1\$150개의 영숫자, 밑줄, 대시 또는 마침표를 포함해야 합니다.
+ CEV 이름에는 `19..cdb_cev1`에서와 같이 연속된 마침표를 포함할 수 없습니다.

## 콘솔
<a name="custom-cev.create.console"></a>

**CEV를 생성하는 방법**

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

1. 탐색 창에서 **사용자 지정 엔진 버전(Custom engine versions)**을 선택합니다.

   **사용자 지정 엔진 버전(Custom engine versions)** 페이지에는 현재 존재하는 모든 CEV가 표시됩니다. CEV를 생성한 적이 없으면 페이지가 비어 있습니다.

1. **사용자 지정 엔진 버전 생성(Create custom engine version)**을 선택합니다.

1. **엔진 옵션**에서 다음을 수행합니다.

   1. **엔진 유형(Engine type)**으로 **Oracle**을 선택합니다.

   1. **아키텍처 설정**에서 필요에 따라 **멀티테넌트 아키텍처**를 선택하여 DB 엔진 `custom-oracle-ee-cdb` 또는 `custom-oracle-se2-cdb`를 사용하는 Oracle 멀티테넌트 CEV를 생성합니다. 멀티테넌트 CEV가 있는 RDS Custom for Oracle CDB만 생성할 수 있습니다. 이 옵션을 선택하지 않는 경우 CEV는 엔진 `custom-oracle-ee` 또는 `custom-oracle-se2`를 사용하는 비CDB입니다.
**참고**  
선택한 아키텍처는 CEV의 영구적인 특성입니다. 나중에 다른 아키텍처를 사용하도록 CEV를 수정할 수 없습니다.

   1. 다음 옵션 중 하나를 선택합니다.
      + **새 CEV 생성** - 처음부터 CEV를 생성합니다. 이 경우 데이터베이스 바이너리를 지정하는 JSON 매니페스트를 지정해야 합니다.
      + **소스에서 CEV 생성** - **복사할 CEV 지정**에서 소스 CEV로 사용할 기존 CEV를 선택합니다. 이 경우 새 Amazon Machine Image(AMI)를 지정할 수 있지만 다른 데이터베이스 바이너리를 지정할 수는 없습니다.

   1. **엔진 버전**에서 메이저 엔진 버전을 선택합니다.

1. **버전 세부 정보**에서 다음을 수행합니다.

   1. **사용자 지정 엔진 버전 이름**에 유효한 이름을 입력합니다. 예를 들어, **19.cdb\$1cev1**을 이름으로 입력할 수 있습니다.

   1. (선택 사항) CEV에 대한 설명을 입력합니다.

1. **설치 미디어**에서 다음을 수행합니다.

   1. (선택 사항) **AMI ID**의 경우 필드를 비워 최신 서비스 제공 AMI를 사용하거나 이전에 CEV를 생성할 때 사용한 AMI를 입력합니다. 유효한 AMI ID를 가져오려면 다음 방법 중 하나를 사용합니다.
      + 콘솔의 왼쪽 탐색 창에서 **사용자 지정 엔진 버전**을 선택하고 CEV 이름을 선택합니다. CEV에서 사용하는 AMI ID는 **구성** 탭에 표시됩니다.
      + AWS CLI에서 `describe-db-engine-versions` 명령을 사용합니다. `ImageID`에 대한 출력을 검색합니다.

   1. **매니페스트 파일의 S3 위치(S3 location of manifest files)**에서 [3단계: Amazon S3에 설치 파일 업로드](custom-cev.preparing.md#custom-cev.preparing.s3)에 지정한 대로 Amazon S3 버킷의 위치를 입력합니다. 예를 들면 **s3://my-custom-installation-files/123456789012/cev1/**를(을) 입력합니다.
**참고**  
CEV를 생성하는 AWS 리전은 S3 버킷과 동일한 리전이어야 합니다.

   1. (새 CEV 생성의 경우만 해당) **CEV 매니페스트**의 경우 [CEV 매니페스트 생성](custom-cev.preparing.md#custom-cev.preparing.manifest.creating)에서 생성한 JSON 매니페스트를 입력합니다.

1. **KMS 키** 섹션에서 **키 ARN 입력**을 선택하여 사용 가능한 AWS KMS 키를 나열합니다. 그런 다음 목록에서 KMS 키를 선택합니다.

   AWS KMS 키는 RDS Custom에 필수입니다. 자세한 내용은 [1단계: 대칭 암호화 AWS KMS 키 생성 또는 재사용](custom-setup-orcl.md#custom-setup-orcl.cmk) 단원을 참조하십시오.

1. (선택 사항) **새 태그 추가**를 선택하여 CEV의 키-값 페어를 생성합니다.

1. **Create custom engine version**(사용자 지정 엔진 버전 생성)을 선택합니다.

   JSON 매니페스트의 형식이 잘못되면 콘솔에 **CEV 매니페스트를 검증하는 중 오류 발생** 메시지가 표시됩니다. 문제를 해결한 후 다시 시도해 주세요.

**사용자 지정 엔진 버전(Custom engine versions)** 페이지가 표시됩니다. CEV가 상태가 **생성 중(Creating)**으로 표시됩니다. CEV를 생성하는 데 약 2시간이 소요됩니다.

## AWS CLI
<a name="custom-cev.create.CEV"></a>

AWS CLI를 사용하여 CEV를 생성하려면 [create-custom-db-engine-version](https://docs.aws.amazon.com/cli/latest/reference/rds/create-custom-db-engine-version.html) 명령을 실행합니다.

다음 옵션이 필요합니다.
+ `--engine` - 엔진 유형을 지정합니다. CDB에서 `custom-oracle-ee-cdb` 또는 `custom-oracle-se2-cdb`를 지정합니다. 비CDB에서 `custom-oracle-ee` 또는 `custom-oracle-se2`를 지정합니다. CDB는 `custom-oracle-ee-cdb` 또는 `custom-oracle-se2-cdb`로 생성한 CEV에서만 생성할 수 있습니다. 비CDB는 `custom-oracle-ee` 또는 `custom-oracle-se2`로 생성한 CEV에서만 생성할 수 있습니다.
+ `--engine-version` - 엔진 버전을 지정합니다. 형식은 *major-engine-version*.*customized\$1string*입니다. CEV 이름은 1\$150개의 영숫자, 밑줄, 대시 또는 마침표를 포함해야 합니다. CEV 이름에는 `19..cdb_cev1`에서와 같이 연속된 마침표를 포함할 수 없습니다.
+ `--kms-key-id` - AWS KMS key을 지정합니다.
+ `--manifest` - `manifest_json_string` 또는 `--manifest file:file_name`을 지정합니다. `manifest_json_string`에서 줄 바꿈 문자는 허용되지 않습니다. 백슬래시(\$1)를 접두사에 부여하여 JSON 코드에서 큰 따옴표(")를 이스케이프해야 합니다.

  다음 예제에서는 [5단계: CEV 매니페스트 준비](custom-cev.preparing.md#custom-cev.preparing.manifest)의 19c에 대한 `manifest_json_string`을 보여줍니다. 이 예제에는 Oracle base, Oracle home, UNIX/Linux 사용자 및 그룹의 ID와 이름의 새 값을 설정합니다. 이 문자열을 복사하는 경우 명령에 붙여넣기 전에 모든 줄 바꿈 문자를 삭제하세요.

  `"{\"mediaImportTemplateVersion\": \"2020-08-14\",\"databaseInstallationFileNames\": [\"V982063-01.zip\"],\"opatchFileNames\": [\"p6880880_190000_Linux-x86-64.zip\"],\"psuRuPatchFileNames\": [\"p32126828_190000_Linux-x86-64.zip\"],\"otherPatchFileNames\": [\"p29213893_1910000DBRU_Generic.zip\",\"p29782284_1910000DBRU_Generic.zip\",\"p28730253_190000_Linux-x86-64.zip\",\"p29374604_1910000DBRU_Linux-x86-64.zip\",\"p28852325_190000_Linux-x86-64.zip\",\"p29997937_190000_Linux-x86-64.zip\",\"p31335037_190000_Linux-x86-64.zip\",\"p31335142_190000_Generic.zip\"]\"installationParameters\":{ \"unixGroupName\":\"dba\", \ \"unixUname\":\"oracle\", \ \"oracleHome\":\"/home/oracle/oracle.19.0.0.0.ru-2020-04.rur-2020-04.r1.EE.1\", \ \"oracleBase\":\"/home/oracle/\"}}"`
+ `--database-installation-files-s3-bucket-name` - [3단계: Amazon S3에 설치 파일 업로드](custom-cev.preparing.md#custom-cev.preparing.s3)에서 지정한 것과 동일한 버킷 이름을 지정합니다. `create-custom-db-engine-version`을 실행하는 AWS 리전은 Amazon S3 버킷과 동일한 리전이어야 합니다.

다음 옵션도 지정할 수 있습니다.
+ `--description` - CEV에 대한 설명을 지정합니다.
+ `--database-installation-files-s3-prefix` - [3단계: Amazon S3에 설치 파일 업로드](custom-cev.preparing.md#custom-cev.preparing.s3)에서 지정한 폴더 이름을 지정합니다.
+ `--image-id` - 재사용할 AMI ID를 지정합니다. 유효한 ID를 찾으려면 `describe-db-engine-versions` 명령을 실행한 다음 `ImageID`의 출력을 검색하세요. 기본적으로 RDS Custom for Oracle은 가장 최신 AMI를 사용합니다.

다음 예시에서는 `19.cdb_cev1`이라는 Oracle 멀티테넌트 CEV를 생성합니다. 예제에서는 사용 가능한 최신 AMI를 사용하는 대신 기존 AMI를 재사용합니다. CEV의 이름이 주요 엔진 버전 번호로 시작하는지 확인하세요.

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

```
1. aws rds create-custom-db-engine-version \
2.     --engine custom-oracle-se2-cdb \
3.     --engine-version 19.cdb_cev1 \
4.     --database-installation-files-s3-bucket-name us-east-1-123456789012-custom-installation-files \
5.     --database-installation-files-s3-prefix 123456789012/cev1 \
6.     --kms-key-id my-kms-key \
7.     --description "test cev" \
8.     --manifest manifest_string \
9.     --image-id ami-012a345678901bcde
```
Windows의 경우:  

```
1. aws rds create-custom-db-engine-version ^
2.     --engine custom-oracle-se2-cdb ^
3.     --engine-version 19.cdb_cev1 ^
4.     --database-installation-files-s3-bucket-name us-east-1-123456789012-custom-installation-files ^
5.     --database-installation-files-s3-prefix 123456789012/cev1 ^
6.     --kms-key-id my-kms-key ^
7.     --description "test cev" ^
8.     --manifest manifest_string ^
9.     --image-id ami-012a345678901bcde
```

**Example**  
`describe-db-engine-versions` 명령을 사용하여 CEV에 대한 세부 정보를 확인합니다.  

```
1. aws rds describe-db-engine-versions \
2.     --engine custom-oracle-se2-cdb \
3.     --include-all
```
다음 부분 샘플 출력은 엔진, 파라미터 그룹, 매니페스트 및 기타 정보를 보여줍니다.  

```
 1. {
 2.     "DBEngineVersions": [
 3.         {
 4.             "Engine": "custom-oracle-se2-cdb",
 5.             "EngineVersion": "19.cdb_cev1",
 6.             "DBParameterGroupFamily": "custom-oracle-se2-cdb-19",
 7.             "DBEngineDescription": "Containerized Database for Oracle Custom SE2",
 8.             "DBEngineVersionDescription": "test cev",
 9.             "Image": {
10.                 "ImageId": "ami-012a345678901bcde",
11.                 "Status": "active"
12.             },
13.             "ValidUpgradeTarget": [],
14.             "SupportsLogExportsToCloudwatchLogs": false,
15.             "SupportsReadReplica": true,
16.             "SupportedFeatureNames": [],
17.             "Status": "available",
18.             "SupportsParallelQuery": false,
19.             "SupportsGlobalDatabases": false,
20.             "MajorEngineVersion": "19",
21.             "DatabaseInstallationFilesS3BucketName": "us-east-1-123456789012-custom-installation-files",
22.             "DatabaseInstallationFilesS3Prefix": "123456789012/cev1",
23.             "DBEngineVersionArn": "arn:aws:rds:us-east-1:123456789012:cev:custom-oracle-se2-cdb/19.cdb_cev1/abcd12e3-4f5g-67h8-i9j0-k1234l56m789",
24.             "KMSKeyId": "arn:aws:kms:us-east-1:732027699161:key/1ab2345c-6d78-9ef0-1gh2-3456i7j89k01",
25.             "CreateTime": "2023-03-07T19:47:58.131000+00:00",
26.             "TagList": [],
27.             "SupportsBabelfish": false,
28. ...
```

## CEV 생성 실패
<a name="custom-cev.create.failure"></a>

CEV 생성이 실패하면 RDS Custom에서 `Creation failed for custom engine version major-engine-version.cev_name` 메시지와 함께 `RDS-EVENT-0198` 오류가 발생하며, 실패 관련 세부 정보가 표시됩니다. 예를 들어, 이벤트는 누락된 파일을 인쇄합니다.

실패한 CEV는 수정할 수 없습니다. 삭제하고 나서 실패 원인을 수정한 후에 CEV를 다시 만들 수 있습니다. CEV 생성에 실패한 이유 문제 해결에 대한 자세한 내용은 [Oracle용 RDS Custom에 대한 사용자 지정 엔진 버전 생성 문제 해결](custom-troubleshooting.md#custom-troubleshooting.cev) 섹션을 참조하세요.

# CEV 상태 수정
<a name="custom-cev.modify"></a>

AWS Management Console 또는 AWS CLI를 사용하여 CEV를 수정하고, CEV 설명 또는 가용 상태를 수정할 수 있습니다. CEV는 다음 상태 값 중 하나를 가집니다.
+ `available` - 이 CEV를 사용하여 새로운 RDS Custom DB 인스턴스를 생성하거나 DB 인스턴스를 업그레이드할 수 있습니다. 이 상태는 새로 생성된 CEV의 기본 상태입니다.
+ `inactive` - 이 CEV에서는 RDS Custom 인스턴스를 생성하거나 업그레이드할 수 없습니다. 이 CEV에서는 DB 스냅샷을 복원하여 새로운 RDS Custom DB 인스턴스를 생성할 수 없습니다.

CEV를 지원되는 상태에서 다른 지원 상태로 변경할 수 있습니다. 상태를 변경하여 실수로 CEV를 사용하지 못하도록 하거나 중단된 CEV를 다시 사용하도록 할 수 있습니다. 예를 들어 CEV의 상태를 `available`에서 `inactive`로, `inactive`에서 `available`로 변경할 수 있습니다.

## 콘솔
<a name="custom-cev.modify.console"></a>

**CEV를 수정하는 방법**

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

1. 탐색 창에서 **사용자 지정 엔진 버전(Custom engine versions)**을 선택합니다.

1. 수정하려는 설명 또는 상태가 지정된 CEV를 선택합니다.

1. **작업**에서 **수정**을 선택합니다.

1. 다음을 원하는 대로 변경합니다.
   + **CEV 상태 설정(CEV status settings)**에서 새로운 가용 상태를 선택합니다.
   + **버전 설명(Version description)**에 새로운 설명을 입력합니다.

1. **CEV 수정(Modify CEV)**을 선택합니다.

   CEV가 사용 중인 경우 콘솔에 **CEV 상태를 수정할 수 없습니다(You can't modify the CEV status)**가 표시됩니다. 문제를 해결한 후 다시 시도해 주세요.

**사용자 지정 엔진 버전(Custom engine versions)** 페이지가 표시됩니다.

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

AWS CLI를 사용하여 CEV를 수정하려면 [modify-custom-db-engine-version](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-custom-db-engine-version.html) 명령을 실행합니다. [describe-db-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html) 명령을 실행하여 수정할 CEV를 찾을 수 있습니다.

다음 옵션이 필요합니다.
+ `--engine engine-type`(*엔진 유형*은 `custom-oracle-ee`, `custom-oracle-se2`, `custom-oracle-ee-cdb`, `custom-oracle-se2-cdb`)
+ `--engine-version cev`(*`cev`*는 수정하려는 사용자 지정 엔진 버전의 이름)
+ `--status`` status`(*`status`*는 CEV에 할당하려는 가용 상태)

다음 예제에서는 이름이 `19.my_cev1`로 지정된 CEV를 현재 상태에서 `inactive`로 변경합니다.

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

```
1. aws rds modify-custom-db-engine-version \
2.     --engine custom-oracle-se2 \ 
3.     --engine-version 19.my_cev1 \
4.     --status inactive
```
Windows의 경우:  

```
1. aws rds modify-custom-db-engine-version ^
2.     --engine custom-oracle-se2 ^
3.     --engine-version 19.my_cev1 ^
4.     --status inactive
```

# Amazon RDS Custom for Oracle의 CEV 세부 정보 보기
<a name="custom-cev.view"></a>

AWS Management Console 또는 AWS CLI를 사용하여 CEV 매니페스트 세부 정보와 CEV를 만드는 데 사용한 명령 관련 세부 정보를 볼 수 있습니다.

## 콘솔
<a name="custom-cev.view.console"></a>

**CEV 세부 정보를 보려면**

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

1. 탐색 창에서 **사용자 지정 엔진 버전(Custom engine versions)**을 선택합니다.

   **사용자 지정 엔진 버전(Custom engine versions)** 페이지에는 현재 존재하는 모든 CEV가 표시됩니다. CEV를 생성한 적이 없으면 페이지가 비어 있습니다.

1. 확인할 CEV의 이름을 선택합니다.

1. **Configuration**(구성)을 선택하면 매니페스트에 지정된 설치 파라미터를 볼 수 있습니다.  
![\[CEV의 설치 파라미터를 확인합니다.\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/cev-configuration-tab.png)

1. `create-custom-db-engine-version` 명령의`--manifest` 옵션에 지정된 설치 파라미터를 보려면 **Manifest**(매니페스트)를 선택합니다. 이 텍스트를 복사하고, 필요한 경우 값을 바꾸고, 새 명령에서 사용할 수 있습니다.  
![\[CEV를 만드는 데 사용한 명령을 볼 수 있습니다.\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/cev-manifest-tab.png)

## AWS CLI
<a name="custom-cev.view.CEV"></a>

AWS CLI를 사용하여 CEV에 대한 세부 정보를 보려면 [describe-db-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html) 명령을 실행합니다.

다음 옵션이 필요합니다.
+ `--engine engine-type`(*엔진 유형*은 `custom-oracle-ee`, `custom-oracle-se2`, `custom-oracle-ee-cdb`, `custom-oracle-se2-cdb`)
+ `--engine-version major-engine-version.customized_string`

다음 예제에서는 Enterprise Edition을 사용하는 비CDB CEV를 생성합니다. CEV의 `19.my_cev1` 이름이 메이저 엔진 버전 번호로 시작하며, 이 번호는 필수 항목입니다.

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

```
1. aws rds describe-db-engine-versions \
2.     --engine custom-oracle-ee \
3.     --engine-version 19.my_cev1
```
Windows의 경우:  

```
1. aws rds describe-db-engine-versions ^
2.     --engine custom-oracle-ee ^
3.     --engine-version 19.my_cev1
```
다음 부분 샘플 출력은 엔진, 파라미터 그룹, 매니페스트 및 기타 정보를 보여줍니다.  

```
 1. "DBEngineVersions": [
 2.     {
 3.         "Engine": "custom-oracle-ee",
 4.         "MajorEngineVersion": "19",
 5.         "EngineVersion": "19.my_cev1",
 6.         "DatabaseInstallationFilesS3BucketName": "us-east-1-123456789012-cev-customer-installation-files",
 7.         "DatabaseInstallationFilesS3Prefix": "123456789012/cev1",
 8.         "CustomDBEngineVersionManifest": "{\n\"mediaImportTemplateVersion\": \"2020-08-14\",\n\"databaseInstallationFileNames\": [\n\"V982063-01.zip\"\n],\n\"installationParameters\": {\n\"oracleBase\":\"/tmp\",\n\"oracleHome\":\"/tmp/Oracle\"\n},\n\"opatchFileNames\": [\n\"p6880880_190000_Linux-x86-64.zip\"\n],\n\"psuRuPatchFileNames\": [\n\"p32126828_190000_Linux-x86-64.zip\"\n],\n\"otherPatchFileNames\": [\n\"p29213893_1910000DBRU_Generic.zip\",\n\"p29782284_1910000DBRU_Generic.zip\",\n\"p28730253_190000_Linux-x86-64.zip\",\n\"p29374604_1910000DBRU_Linux-x86-64.zip\",\n\"p28852325_190000_Linux-x86-64.zip\",\n\"p29997937_190000_Linux-x86-64.zip\",\n\"p31335037_190000_Linux-x86-64.zip\",\n\"p31335142_190000_Generic.zip\"\n]\n}\n",
 9.         "DBParameterGroupFamily": "custom-oracle-ee-19",
10.         "DBEngineDescription": "Oracle Database server EE for RDS Custom",
11.         "DBEngineVersionArn": "arn:aws:rds:us-west-2:123456789012:cev:custom-oracle-ee/19.my_cev1/0a123b45-6c78-901d-23e4-5678f901fg23",
12.         "DBEngineVersionDescription": "test",
13.         "KMSKeyId": "arn:aws:kms:us-east-1:123456789012:key/ab1c2de3-f4g5-6789-h012-h3ijk4567l89",
14.         "CreateTime": "2022-11-18T09:17:07.693000+00:00",
15.         "ValidUpgradeTarget": [
16.         {
17.             "Engine": "custom-oracle-ee",
18.             "EngineVersion": "19.cev.2021-01.09",
19.             "Description": "test",
20.             "AutoUpgrade": false,
21.             "IsMajorVersionUpgrade": false
22.         }
23. ]
```

# CEV 삭제
<a name="custom-cev.delete"></a>

AWS Management Console 또는 AWS CLI를 사용하여 CEV를 삭제할 수 있습니다. 일반적으로 삭제하는 데는 몇 분 정도 걸립니다.

CEV를 삭제하면 다음 중 어디에서도 CEV를 사용할 수 없습니다.
+ RDS Custom DB 인스턴스
+ RDS Custom DB 인스턴스의 스냅샷
+ RDS Custom DB 인스턴스의 자동 백업

## 콘솔
<a name="custom-cev.create.console"></a>

**CEV를 삭제하는 방법**

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

1. 탐색 창에서 **사용자 지정 엔진 버전(Custom engine versions)**을 선택합니다.

1. 삭제하려는 설명 또는 상태가 지정된 CEV를 선택합니다.

1. **작업**에 대해 **삭제**를 선택합니다.

   ***cev\$1name*을 삭제하시겠습니까?(Delete cev\$1name?)** 대화 상자가 표시됩니다.

1. **delete me**를 입력한 다음 **삭제**를 선택합니다.

   **사용자 지정 엔진 버전(Custom engine versions)** 페이지의 배너에서 CEV가 삭제 중임을 표시합니다.

## AWS CLI
<a name="custom-cev.create.console.cli"></a>

AWS CLI를 사용하여 CEV를 삭제하려면 [delete-custom-db-engine-version](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-custom-db-engine-version.html) 명령을 실행합니다.

다음 옵션이 필요합니다.
+ `--engine engine-type`(*엔진 유형*은 `custom-oracle-ee`, `custom-oracle-se2`, `custom-oracle-ee-cdb`, `custom-oracle-se2-cdb`)
+ `--engine-version cev`(*cev*는 삭제할 사용자 지정 엔진 버전의 이름)

다음 예제에서는 이름이 `19.my_cev1`인 CEV를 삭제합니다.

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

```
1. aws rds delete-custom-db-engine-version \
2.     --engine custom-oracle-ee \
3.     --engine-version 19.my_cev1
```
Windows의 경우:  

```
1. aws rds delete-custom-db-engine-version ^
2.     --engine custom-oracle-ee ^
3.     --engine-version 19.my_cev1
```