RDS for Oracle CDB の概要 - Amazon Relational Database Service

RDS for Oracle CDB の概要

Oracle Database 19c 以降を実行している場合、RDS for Oracle DB インスタンスをコンテナデータベース (CDB) として作成できます。Oracle Database 21c 以降では、すべてのデータベースは CDB です。CDB は、RDS for Oracle でテナントデータベースと呼ばれるプラガブルデータベース (PDB) を格納できるという点で、非 CDB とは異なります。PDB は、スキーマとオブジェクトのポータブルコレクションであり、アプリケーションには別のデータベースとして表示されます。

CDB インスタンスを作成するときには、初期テナントデータベース (PDB) を作成します。RDS for Oracle では、クライアントアプリケーションは CDB ではなく PDB とやり取りします。PDB でのエクスペリエンスは、非 CDB でのエクスペリエンスとほぼ同じです。

CDB アーキテクチャのマルチテナント設定

RDS for Oracle は、Oracle マルチテナントアーキテクチャのマルチテナント設定 (CDB アーキテクチャとも呼ばれる) をサポートしています。この設定では、RDS for Oracle CDB インスタンスに、データベースのエディションと必要なオプションライセンスに応じて、1~30 個のテナントデータベースを含めることができます。Oracle データベースでは、テナントデータベースは PDB です。DB インスタンスが 19.0.0.0.0.ru-2022-01.r1 以降の Oracle Database を使用する必要があります。

注記

Amazon RDS 機能は、単に Oracle DB エンジンではなく RDS プラットフォームの機能であるため、「multi-tenant」ではなく「multitenant」と呼ばれています。「Oracle マルチテナント」という用語は、オンプレミスデプロイと RDS デプロイの両方に対応する Oracle データベースアーキテクチャのみを指します。

以下の設定を設定できます。

  • テナントデータベース名

  • テナントデータベースのマスターユーザー名

  • テナントデータベースのマスターパスワード

  • テナントデータベース文字セット

  • テナントデータベース各国語文字セット

テナントデータベース文字セットは CDB の文字セットと異なる場合があります。同じことが各国語文字セットにも当てはまります。最初のテナントデータベースを作成したら、RDS API を使用してテナントデータベースを作成、変更、または削除できます。CDB 名はデフォルトで RDSCDB に設定されており、変更できません。詳細については、DB インスタンスの設定およびRDS for Oracle テナントデータベースの変更を参照してください。

CDB アーキテクチャのシングルテナント設定

RDS for Oracle は、シングルテナント設定と呼ばれる Oracle マルチテナントアーキテクチャのレガシー設定をサポートしています。この設定では、RDS for Oracle CDB インスタンスには 1 つのテナント (PDB) しか格納できません。後にさらに PDB を作成することはできません。

CDB の作成と変換のオプション

Oracle Database 21c は CDB のみをサポートしていますが、Oracle Database 19c は CDB と非 CDB の両方をサポートしています。RDS for Oracle CDB インスタンスはすべて、マルチテナント設定とシングルテナント設定の両方をサポートしています。

Oracle データベースアーキテクチャの作成、変換、アップグレードのオプション

次の表に、RDS for Oracle Database の作成とアップグレードのさまざまなアーキテクチャオプションを示します。

リリース データベース作成オプション アーキテクチャ変換オプション メジャーバージョンアップグレードターゲット
Oracle Database 21c CDB アーキテクチャのみ 該当なし 該当なし
Oracle Database 19c CDB または非 CDB アーキテクチャ 非 CDB から CDB アーキテクチャへ (April 2021 RU 以降) 21c CDB
Oracle Database 12c (廃止) 非 CDB アーキテクチャのみ 該当なし 19c 非 CDB

前の表に示すように、非 CDB を新しいメジャーデータベースバージョンの CDB に直接アップグレードすることはできません。ただし、Oracle Database 19c の非 CDB を Oracle Database 19c CDB に変換してから、Oracle Database 19c CDB を Oracle Database 21c CDB にアップグレードすることはできます。詳細については、「RDS for Oracle の 非 CDB から CDB への変換」を参照してください。

CDB アーキテクチャ設定の変換オプション

次の表は、RDS for Oracle DB インスタンスのアーキテクチャ設定を変換するためのさまざまなオプションを示しています。

現在のアーキテクチャと設定 CDB アーキテクチャのシングルテナント設定への変換 CDB アーキテクチャのマルチテナント設定への変換 非 CDB アーキテクチャへの変換
非 CDB サポート サポート対象* 該当なし
シングルテナント設定を使用した CDB 該当なし サポート サポートされていません
マルチテナント設定を使用した CDB サポートされていません 該当なし サポートされていません

* 非 CDB を 1 回の操作でマルチテナント設定に変換することはできません。非 CDB を CDB に変換すると、CDB はシングルテナント設定になります。その後、別の操作でシングルテナントをマルチテナント設定に変換できます。

CDB のユーザーアカウントと権限

Oracle マルチテナントアーキテクチャでは、すべてのユーザーアカウントが共通ユーザーまたはローカルユーザーのいずれかになります。CDB 共通ユーザーとは、単一のアイデンティティとパスワードが CDB ルート、ならびに既存および将来のすべての PDB で認識されているデータベースユーザーです。対照的に、ローカルユーザーは 1 つの PDB にのみ存在します。

RDS マスターユーザーは PDB 内のローカルユーザーアカウントで、DB インスタンスを作成するときに名前を付けます。新しいユーザーアカウントを作成すると、これらのユーザーも PDB に常駐するローカルユーザーとなります。ユーザーアカウントを使用して新しい PDB を作成したり、既存の PDB の状態を変更したりすることはできません。

rdsadmin ユーザーは共通のユーザーアカウントです。このアカウントに存在する RDS for Oracle パッケージを実行できますが、rdsadmin としてログインすることはできません。詳細については、Oracle のドキュメントの About Common Users and Local Users を参照してください。

CDB のパラメータグループファミリー

CDB には、独自のパラメータグループファミリーおよびデフォルトパラメータ値があります。CDB パラメータグループファミリーは次のとおりです。

  • oracle-ee-cdb-21

  • oracle-se2-cdb-21

  • oracle-ee-cdb-19

  • oracle-se2-cdb-19

RDS for Oracle CDB の制限事項

RDS for Oracle は、オンプレミス CDB で使用できる機能のサブセットをサポートしています。

CDB の制限事項

RDS for Oracle CDB には以下の制限が適用されます。

  • CDB に接続することはできません。常に CDB ではなくテナントデータベース (PDB) に接続します。非 CDB の場合と同様に、PDB のエンドポイントを指定します。唯一の違いは、データベース名に pdb_name を指定することです。ここで、pdb_name は PDB のために選択した名前です。

  • マルチテナント設定の CDB をシングルテナント変換の CDB に変換することはできません。マルチテナント設定への変換は一方向で、元に戻すことはできません。

  • DB インスタンスが 19.0.0.0.ru-2022-01.r1 より前の Oracle データベースのリリースを使用している場合は、マルチテナント設定を有効にしたり、マルチテナント設定に変換したりすることはできません。

  • RDS for Oracle CDB は ORDS v22 以降では使用できません。回避策として、ORDS の下位バージョンを使用するか、Oracle Database 19c の非 CDB を使用することができます。

  • RDS for Oracle CDB は ORDS v22 以降では使用できません。回避策として、ORDS の下位バージョンを使用するか、Oracle Database 19c の非 CDB を使用することができます。

以下の機能のサポートは、アーキテクチャ設定によって異なります。

機能 シングルテナントでサポートされる マルチテナントでサポートされる

Oracle Data Guard

はい いいえ

Oracle Label Security

いいえ いいえ

Oracle Enterprise Manager (OEM)

いいえ いいえ

OEM Agent

いいえ いいえ

データベースアクティビティストリーミング

はい いいえ

テナントデータベース (PDB) の制限事項

RDS for Oracle マルチテナント設定のテナントデータベースには、次の制限が適用されます。

  • テナントデータベースの操作をメンテナンス期間まで延期することはできません。すべての変更はすぐに反映されます。

  • シングルテナント設定を使用する CDB には、テナントデータベースを追加できません。

  • 1 回の操作で、複数のテナントデータベースを追加または変更することはできません。一度に追加または変更できる項目は 1 つのみです。

  • テナントデータベースを CDB$ROOT または PDB$SEED という名前に変更することはできません。

  • CDB 内のテナントが 1 つのみの場合、そのテナントデータベースは削除できません。

  • すべての DB インスタンスクラスタイプが、RDS for Oracle CDB インスタンスで複数の PDB をサポートするのに十分なリソースを備えているわけではありません。PDB 数が増えると、小規模なインスタンスクラスのパフォーマンスと安定性に影響し、データベースのアップグレードなど、ほとんどのインスタンスレベルの操作にかかる時間が長くなります。

  • 同じ CDB に複数の AWS アカウント を使用して PDB を作成することはできません。PDB は、PDB がホストされている DB インスタンスと同じアカウントが所有しているものである必要があります。

  • CDB 内のすべての PDB は、同じエンドポイントとデータベースリスナーを使用します。

  • 以下の操作は PDB レベルではサポートされていませんが、CDB レベルではサポートされています。

    • バックアップとリカバリ

    • データベースアップグレード

    • メンテナンスアクション

  • 以下の機能は PDB レベルではサポートされていませんが、CDB レベルではサポートされています。

    • Performance Insights

    • オプショングループ (オプションは CDB インスタンスのすべての PDB にインストールされます)

    • パラメータグループ (すべてのパラメータは CDB インスタンスに関連付けられたパラメータグループから導出されます)

  • オンプレミスの CDB アーキテクチャではサポートされているが、RDS for Oracle CDB ではサポートされていない PDB レベルの操作には、次のようなものがあります。

    注記

    以下のリストは完全なものではありません。

    • Application ELB

    • Proxy PDBs

    • PDB の起動または停止

    • PDB のアンプラグとプラギング

      CDB へ、または CDB からデータを移動するには、非 CDB と同じ手法を使用します。データ移行に関する詳細については、「Amazon RDS の Oracle にデータをインポートする」を参照してください。

    • PDB レベルでのオプション設定

      PDB は CDB オプショングループからオプション設定を継承します。設定オプションの詳細については、「「パラメータグループを使用する」 」を参照してください。ベストプラクティスについては、DB パラメータグループを使用するを参照してください。

    • PDB のパラメータの設定

      PDB は CDB からパラメータ設定を継承します。設定オプションの詳細については、「Oracle DB インスタンスへのオプションの追加」を参照してください。

    • 同じ CDB 内の PDB に異なるリスナーを設定する

    • Oracle Flashback 機能

    • PDB 内からの監査情報