RDS for Oracle の 非 CDB から CDB への変換
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 Data Guardが有効になっているプライマリデータベースまたはレプリカデータベースは変換できません。リードレプリカのある非 CDB を変換するには、まずリードレプリカをすべて削除します。
-
同じオペレーションで DB エンジンのバージョンをアップグレードし、非 CDB を CDB に変換することはできません。
非 CDB を変換する前に、次の点を考慮してください。
-
オプションとパラメータグループの考慮事項は、DB エンジンをアップグレードする場合と同じです。詳細については、「Oracle のデータベースアップグレードに関する考慮事項」を参照してください。
-
マネージドマスターパスワードを使用する既存の非 CDB インスタンスは、1 回のオペレーションでシングルテナントインスタンスに変換できます。シングルテナントインスタンスはマネージドパスワードを継承します。
-
DB インスタンスに
OEMAGENT
オプションがインストールされている場合は、非 CDB を変換する前にこのオプションを削除することをお勧めします。非 CDB が CDB に変換されたら、オプションを再インストールします。詳細については、「Enterprise Manager Cloud Control 向け Oracle Management Agent」を参照してください。 -
変換プロセス中、RDS はオンライン REDO ログサイズをデフォルトの 128M にリセットします。
非 CDB を CDB に変換するには
AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/
) を開きます。 -
Amazon RDS コンソールの右上で、DB インスタンスのある AWS リージョン を選択します。
-
ナビゲーションペインで、[データベース] を選択し、CDB インスタンスに変更する 非 CDB インスタンスを選択します。
-
[Modify] (変更) を選択します。
-
[アーキテクチャ設定] では、[Oracle マルチテナントアーキテクチャ] を選択します。変換後、CDB はシングルテナント設定になります。
-
(オプション) [DB パラメータグループ] には、CDB インスタンスの新しいパラメータグループを選択します。DB インスタンスを変換するときも、DB インスタンスをアップグレードするときと同じパラメータグループの考慮事項が適用されます。詳細については、「パラメータグループに関する考慮事項」を参照してください。
-
(オプション) [オプショングループ] では、CDB インスタンスの新しいオプショングループを選択します。DB インスタンスを変換するときも、DB インスタンスをアップグレードするときと同じオプショングループの考慮事項が適用されます。詳細については、「オプショングループに関する考慮事項」を参照してください。
-
(オプション) [認証情報管理] では、[AWS Secrets Manager で管理] または [セルフマネージド] を選択します。詳細については、「Secrets Manager による DB インスタンスのマスターユーザーパスワードの管理」を参照してください。
-
すべての変更が正しいことを確認したら、[Continue] を選択して変更の概要を確認します。
-
(省略可能) 変更をすぐに適用するには、[すぐに適用] を選択します。このオプションを選択すると、ダウンタイムを発生させる場合があります。詳細については、「スケジュール変更設定の使用」を参照してください。
-
確認ページで、変更内容を確認します。正しい場合は、[DB インスタンスを変更] を選択します。
または、[戻る] を選択して変更を編集するか、キャンセルを選択して変更をキャンセルします。
シングルテナント設定で DB インスタンス上の非 CDB を CDB に変換するには、AWS CLI コマンド modify-db-instance で --engine
を oracle-ee-cdb
または oracle-se2-cdb
に設定します。詳細については、「DB インスタンスの設定」を参照してください。
次の例では、my-non-cdb
という名前の DB インスタンスを変換し、カスタムオプショングループとパラメータグループを指定します。コマンドは、Secrets Manager を使用したパスワード管理も有効にします。
例
Linux、macOS、Unix の場合:
aws rds modify-db-instance \ --db-instance-identifier
my-non-cdb
\ --engine oracle-ee-cdb \ --option-group-namecustom-option-group
\ --db-parameter-group-namecustom-parameter-group
\ --manage-master-user-password
Windows の場合:
aws rds modify-db-instance ^ --db-instance-identifier
my-non-cdb
^ --engine oracle-ee-cdb ^ --option-group-namecustom-option-group
^ --db-parameter-group-namecustom-parameter-group
^ --manage-master-user-password
非 CDB を CDB に変換するには、RDS API オペレーション ModifyDBInstance で Engine
を指定します。