

# RDS for Oracle テナントデータベースを CDB インスタンスに追加する
<a name="oracle-cdb-configuring.adding.pdb"></a>

RDS for Oracle のマルチテナント設定で、テナントデータベースは PDB です。テナントデータベースを追加するには、次の前提条件を満たしていることを確認します。
+ CDB ではマルチテナント設定が有効になっています。詳細については、「[CDB アーキテクチャのマルチテナント設定](Oracle.Concepts.CDBs.md#multi-tenant-configuration)」を参照してください。
+ テナントデータベースを作成するのに必要な IAM アクセス権限があります。

AWS マネジメントコンソール、AWS CLI、または RDS API を使用してテナントデータベースを追加できます。1 回の操作で複数のテナントデータベースを追加することはできません。一度に 1 つずつ追加する必要があります。CDB でバックアップ保持が有効になっている場合、Amazon RDS は新しいテナントデータベースを追加する前後に DB インスタンスをバックアップします。CDB にリードレプリカがある場合は、プライマリ DB インスタンスにのみテナントデータベースを追加できます。Amazon RDS は、レプリカにテナントデータベースを自動的に作成します。レプリケーションの正常性も検証され、テナントが作成される前に、すべてのレプリカが利用可能であり、レプリケーションの遅延が 5 分未満であることが確認されます。

## コンソール
<a name="oracle-cdb-configuring.adding.pdb.console"></a>

**DB インスタンスにテナントデータベースを追加するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. Amazon RDS コンソールの右上で、テナントデータベースを作成する AWS リージョン を選択します。

1. ナビゲーションペインで、**[Databases]** (データベース) を選択します。

1. テナントデータベースを追加する CDB インスタンスを選択します。DB インスタンスは CDB アーキテクチャのマルチテナント設定を使用する必要があります。

1. **[アクション]** を選択し、**[テナントデータベースを追加]** を選択します。

1. **[テナントデータベース設定]** では、以下の操作を行います。
   + **[テナントデータベース名]** には、新しいデータベースの名前を入力します。
   + **[テナントデータベースのマスターユーザー名]** には、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`

次の例では、RDS for Oracle CDB インスタンス *my-cdb-inst* に *mypdb2* という名前のテナントデータベースを作成します。PDB 文字セットは `UTF-16` です。

**Example**  
Linux、macOS、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",
            ...
        }
}...
```