

# CDB 인스턴스에 RDS for Oracle 테넌트 데이터베이스 추가
<a name="oracle-cdb-configuring.adding.pdb"></a>

RDS for Oracle 다중 테넌트 구성에서 테넌트 데이터베이스는 PDB입니다. 테넌트 데이터베이스를 추가하려면 다음 필수 조건을 충족해야 합니다.
+ CDB에 다중 테넌트 구성이 활성화되어 있습니다. 자세한 내용은 [CDB 아키텍처의 다중 테넌트 구성](Oracle.Concepts.CDBs.md#multi-tenant-configuration) 섹션을 참조하세요.
+ 테넌트 데이터베이스를 생성할 IAM 권한이 있습니다.

AWS Management Console, AWS CLI 또는 RDS API를 사용하여 테넌트 데이터베이스를 추가할 수 있습니다. 한 번의 작업으로 여러 테넌트 데이터베이스를 추가할 수 없습니다. 한 번에 하나씩 추가해야 합니다. CDB에 백업 보존이 활성화된 경우 Amazon RDS는 새 테넌트 데이터베이스를 추가하기 전과 후에 DB 인스턴스를 백업합니다. CDB에 읽기 전용 복제본이 있는 경우 기본 DB 인스턴스에만 테넌트 데이터베이스를 추가할 수 있습니다. Amazon RDS는 복제본에 테넌트 데이터베이스를 자동으로 생성합니다. 또한 테넌트 생성 전에 복제 상태가 검증되어 모든 복제본이 사용 가능하고 복제 지연 시간이 5분 미만인지 확인됩니다.

## 콘솔
<a name="oracle-cdb-configuring.adding.pdb.console"></a>

**DB 인스턴스에 테넌트 데이터베이스를 추가하는 방법**

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

1. Amazon RDS 콘솔의 오른쪽 상단에서 테넌트 데이터베이스를 생성하려는 AWS 리전을 선택합니다.

1. 탐색 창에서 **Databases**(데이터베이스)를 선택합니다.

1. 테넌트 데이터베이스를 추가할 CDB 인스턴스를 선택합니다. DB 인스턴스는 CDB 아키텍처의 다중 테넌트 구성을 사용해야 합니다.

1. **작업**을 선택한 다음 **테넌트 데이터베이스 추가**를 선택합니다.

1. **테넌트 데이터베이스 설정**에서 다음을 수행합니다.
   + **테넌트 데이터베이스 이름**에 새 PDB의 이름을 입력합니다.
   + **테넌트 데이터베이스 마스터 사용자 이름**에 PDB의 마스터 사용자 이름을 입력합니다.
   + 다음 자격 증명 관리 옵션 중 하나를 선택합니다.
     + **에서 관리됨AWS Secrets Manager**

       **암호화 키 선택**에서 Secrets Manager가 만드는 KMS 키 또는 사용자가 만든 키를 선택합니다.
**참고**  
자격 증명을 관리하기 위한 가장 안전한 기법으로 AWS Secrets Manager를 사용하는 것이 좋습니다. 추가 요금이 적용됩니다. AWS Secrets Manager는 읽기 전용 복제본을 사용하는 인스턴스에는 지원되지 않습니다. 자세한 내용은 [Amazon RDS 및 AWS Secrets Manager를 통한 암호 관리](rds-secrets-manager.md) 섹션을 참조하세요.
     + **자체 관리형**

       암호를 지정하려면 **암호 자동 생성** 확인란을 선택 취소합니다(선택되어 있는 경우). **마스터 암호** 및 **마스터 암호 확인**에 동일한 암호를 입력합니다.
     + **추가 구성**에서 **초기 데이터베이스 이름**에 대한 PDB의 이름을 입력합니다. 이름이 기본값 `RDSCDB`인 CDB에는 이름을 지정할 수 없습니다.
   + **테넌트 데이터베이스 문자 집합**에서 PDB의 문자 집합을 선택합니다. 기본값은 **AL32UTF8**입니다. CDB 문자 집합과 다른 PDB 문자 집합을 선택할 수 있습니다. 인스턴스에 읽기 전용 복제본이 있는 경우 사용자 지정 문자 집합으로 테넌트를 생성할 수 없습니다. 필요한 경우 읽기 전용 복제본을 생성하기 전에 사용자 지정 문자 집합으로 테넌트를 생성할 수 있습니다.
   + **테넌트 데이터베이스 내셔널 문자 집합**에서 PDB의 내셔널 문자 집합을 선택합니다. 기본값은 **AL32UTF8**입니다. 내셔널 문자 집합은 `NCHAR` 데이터 유형(`NCHAR`, `NVARCHAR2` 및`NCLOB`)을 사용하는 열의 인코딩만 지정하고 데이터베이스 메타데이터에는 영향을 주지 않습니다.

   위 설정에 대한 자세한 내용은 [DB 인스턴스에 대한 설정](USER_CreateDBInstance.Settings.md) 섹션을 참조하세요.

1. **테넌트 추가**를 선택합니다.

## AWS CLI
<a name="oracle-cdb-configuring.adding.pdb.cli"></a>

AWS CLI를 사용하여 CDB에 테넌트 데이터베이스를 추가하려면 다음 필수 파라미터와 함께 [create-tenant-database](https://docs.aws.amazon.com/cli/latest/reference/rds/create-tenant-database.html) 명령을 사용합니다.
+ `--db-instance-identifier`
+ `--tenant-db-name`
+ `--master-username`
+ `--master-user-password`

다음 예에서는 *my-cdb-inst*라는 RDS for Oracle CDB 인스턴스에 *mypdb2*라는 테넌트 데이터베이스를 생성합니다. PDB 문자 집합은 `UTF-16`입니다.

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

```
1. aws rds create-tenant-database --region us-east-1 \
2.     --db-instance-identifier my-cdb-inst \
3.     --tenant-db-name mypdb2 \
4.     --master-username mypdb2-admin \
5.     --master-user-password mypdb2-pwd \
6.     --character-set-name UTF-16
```
Windows의 경우:  

```
1. aws rds create-tenant-database --region us-east-1 \
2.     --db-instance-identifier my-cdb-inst ^
3.     --tenant-db-name mypdb2 ^
4.     --master-username mypdb2-admin ^
5.     --master-user-password mypdb2-pwd ^
6.     --character-set-name UTF-16
```
출력 결과는 다음과 비슷합니다.  

```
...}
    "TenantDatabase" :
         {
            "DbiResourceId" : "db-abc123",
            "TenantDatabaseResourceId" : "tdb-bac567",
            "TenantDatabaseArn" : "arn:aws:rds:us-east-1:123456789012:db:my-cdb-inst:mypdb2",
            "DBInstanceIdentifier" : "my-cdb-inst",
            "TenantDBName" : "mypdb2",
            "Status" : "creating",
            "MasterUsername" : "mypdb2",
            "CharacterSetName" : "UTF-16",
            ...
        }
}...
```