

# RDS for Oracle の 非 CDB から CDB への変換
<a name="oracle-cdb-converting"></a>

Oracle データベースのアーキテクチャは、非 CDB アーキテクチャから Oracle マルチテナントアーキテクチャ (*CDB アーキテクチャ*とも呼ばれます) に `modify-db-instance` コマンドで変更できます。ほとんどの場合、新しい CDB を作成してデータをインポートするよりも、この手法を使用することをお勧めします。変換操作にはダウンタイムが発生します。

データベースエンジンのバージョンをアップグレードする場合、同じオペレーションでデータベースアーキテクチャを変更することはできません。したがって、Oracle Database 19c 非 CDB を Oracle Database 21c CDB にアップグレードするには、まず 1 つのステップで非 CDB を CDB に変換してから、別のステップで 19c CDB を 21c CDB にアップグレードする必要があります。

非 CDB 変換オペレーションには次の要件があります。
+ DB エンジンタイプに対して `oracle-ee-cdb` または `oracle-se2-cdb` を指定する必要があります。これらの値のみがサポートされています。
+ お使いの DB エンジンが、April 2021 以降のリリースアップデート (RU) で Oracle Database 19c を使用している必要があります。

 このオペレーションには次の制約事項があります。
+ CDB を非 CDB に変換することはできません。非 CDB を CDB に変換することしかできません。
+ 非 CDB を 1 回の `modify-db-instance` 呼び出しでマルチテナント設定に変換することはできません。非 CDB を CDB に変換した後、CDB はシングルテナント設定になります。シングルテナント設定をマルチテナント設定に変換するには、`modify-db-instance` をもう一度実行してください。詳細については、「[シングルテナント設定からマルチテナント設定への変換](oracle-single-tenant-converting.md)」を参照してください。
+ Oracle Data Guardが有効になっているプライマリデータベースまたはレプリカデータベースは変換できません。リードレプリカのある非 CDB を変換するには、まずリードレプリカをすべて削除します。
+ 同じオペレーションで DB エンジンのバージョンをアップグレードし、非 CDB を CDB に変換することはできません。

非 CDB を変換する前に、次の点を考慮してください。
+ オプションとパラメータグループの考慮事項は、DB エンジンをアップグレードする場合と同じです。詳細については、「[Oracle のデータベースアップグレードに関する考慮事項](USER_UpgradeDBInstance.Oracle.OGPG.md)」を参照してください。
+ マネージドマスターパスワードを使用する既存の非 CDB インスタンスは、1 回のオペレーションでシングルテナントインスタンスに変換できます。シングルテナントインスタンスはマネージドパスワードを継承します。
+ DB インスタンスに `OEMAGENT` オプションがインストールされている場合は、非 CDB を変換する前にこのオプションを削除することをお勧めします。非 CDB が CDB に変換されたら、オプションを再インストールします。詳細については、「[Enterprise Manager Cloud Control 向け Oracle Management Agent](Oracle.Options.OEMAgent.md)」を参照してください。
+ 変換プロセス中、RDS はオンライン REDO ログサイズをデフォルトの 128M にリセットします。

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

**非 CDB を CDB に変換するには**

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

1. Amazon RDS コンソールの右上で、DB インスタンスのある AWS リージョン を選択します。

1. ナビゲーションペインで、**[データベース]** を選択し、CDB インスタンスに変更する 非 CDB インスタンスを選択します。

1. **[Modify]** (変更) を選択します。

1. **[アーキテクチャ設定]** では、**[Oracle マルチテナントアーキテクチャ]** を選択します。変換後、CDB はシングルテナント設定になります。

1. (オプション) **[DB パラメータグループ]** には、CDB インスタンスの新しいパラメータグループを選択します。DB インスタンスを変換するときも、DB インスタンスをアップグレードするときと同じパラメータグループの考慮事項が適用されます。詳細については、「[パラメータグループに関する考慮事項](USER_UpgradeDBInstance.Oracle.OGPG.md#USER_UpgradeDBInstance.Oracle.OGPG.PG)」を参照してください。

1. (オプション) **[オプショングループ]** では、CDB インスタンスの新しいオプショングループを選択します。DB インスタンスを変換するときも、DB インスタンスをアップグレードするときと同じオプショングループの考慮事項が適用されます。詳細については、「[オプショングループに関する考慮事項](USER_UpgradeDBInstance.Oracle.OGPG.md#USER_UpgradeDBInstance.Oracle.OGPG.OG)」を参照してください。

1. (オプション) **[認証情報管理]** では、**[AWS Secrets Manager で管理]** または **[セルフマネージド]** を選択します。詳細については、「[Secrets Manager による DB インスタンスのマスターユーザーパスワードの管理](rds-secrets-manager.md#rds-secrets-manager-db-instance)」を参照してください。

1. すべての変更が正しいことを確認したら、[**Continue**] を選択して変更の概要を確認します。

1. (省略可能) 変更をすぐに適用するには、[**すぐに適用**] を選択します。このオプションを選択すると、ダウンタイムを発生させる場合があります。詳細については、「[スケジュール変更設定の使用](USER_ModifyInstance.ApplyImmediately.md)」を参照してください。

1. 確認ページで、変更内容を確認します。正しい場合は、**[DB インスタンスを変更]** を選択します。

   または、[**戻る**] を選択して変更を編集するか、**キャンセル**を選択して変更をキャンセルします。

## AWS CLI
<a name="oracle-cdb-converting.cli"></a>

シングルテナント設定で DB インスタンス上の非 CDB を CDB に変換するには、AWS CLI コマンド [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) で `--engine` を `oracle-ee-cdb` または `oracle-se2-cdb` に設定します。詳細については、「[DB インスタンスの設定](USER_ModifyInstance.Settings.md)」を参照してください。

次の例では、*my-non-cdb* という名前の DB インスタンスを変換し、カスタムオプショングループとパラメータグループを指定します。コマンドは、Secrets Manager を使用したパスワード管理も有効にします。

**Example**  
Linux、macOS、Unix の場合:  

```
aws rds modify-db-instance \
    --db-instance-identifier my-non-cdb \
    --engine oracle-ee-cdb \
    --option-group-name custom-option-group \
    --db-parameter-group-name custom-parameter-group \
    --manage-master-user-password
```
Windows の場合:  

```
aws rds modify-db-instance ^
    --db-instance-identifier my-non-cdb ^
    --engine oracle-ee-cdb ^
    --option-group-name custom-option-group ^
    --db-parameter-group-name custom-parameter-group ^
    --manage-master-user-password
```

## RDS API
<a name="oracle-cdb-converting.api"></a>

非 CDB を CDB に変換するには、RDS API オペレーション [ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) で `Engine` を指定します。