プラガブル・データベースについて

この記事では、プラガブル・データベースの詳細と、バックアップ、リストア、再配置、クローニングなどの様々な機能の管理について説明します。

マルチテナント・アーキテクチャにより、Oracleデータベースをコンテナ・データベースとすることができます。コンテナ・データベース(CDB)には、ユーザーが作成した1つ以上のプラガブル・データベースおよびアプリケーション・コンテナが含まれています。プラガブル・データベース(PDB)は、アプリケーションに個別のデータベースとして表示されるスキーマ、スキーマ・オブジェクトおよび非スキーマ・オブジェクトのポータブル・コレクションです。物理レベルでは、各PDBに、そのPDBのデータを格納する独自のデータ・ファイルのセットがあります。CDBには、そこに格納されるPDBのすべてのデータ・ファイル、およびCDB自体のメタデータを格納する一連のシステム・データが含まれます。

DBシステムで作成されたOracle 19c以上のデータベースには初期PDBが含まれ、コンソールの「データベース詳細」ページからアクセスできます。コンソールまたはAPIを使用して、PDBを起動、停止、クローニングおよび削除できます。CDBに追加のPDBを作成することもできます。コンソールまたはAPIを使用して実行されたすべてのPDB操作は、操作によって生成された作業リクエストを使用してモニターできます。詳細は、作業リクエストを参照してください。

OCIコンソールおよびAPIを使用して、DBシステムでPDBを作成および管理できます。

ノート

通常、「データベース」という用語はコンテナ・データベース(CDB)を指します。

作成

1つのCDBに複数のPDBを設定できます。PDBは一度に1つずつ作成する必要があり、新しいPDBを作成してもCDB内の既存のPDBには影響しません。

コンソールを使用してPDBを作成するには、プラガブル・データベースの作成を参照してください。

バックアップ

CDBが自動バックアップ機能で構成されている場合、必要に応じて、作成、クローニングまたは再配置操作中にPDBのバックアップを作成できます。PDBバックアップの保存先は常にCDBと同じであり、バックアップに直接アクセスしたり、オンデマンドで作成することはできません。Oracleでは、PDBを作成またはクローニングした後、PDBをすぐにバックアップすることをお薦めします。これは、次の日次自動バックアップが正常に完了するまでPDBはリカバリできず、データが失われる可能性があるためです。

リストア

PDBはバックアップからリストアできます。

  • アウトオブプレース・リストア: PDBをリストアするには、バックアップからCDBを作成し、新しいデータベースでリストアするPDBまたはそれらのサブセットを選択します。
  • インプレース・リストア: 同じCDB内のPDBを、最後に認識された正常な状態または指定したタイムスタンプにリストアできます。

PDBを指定した状態または時間に戻す場合は、インプレース・リストアを実行できます。CDBとPDBの両方が稼働中である必要があり、一度にリストアできるPDBは1つのみです。

  • CDBに複数のPDBがあり、それらの複数を同じCDBにリストアする場合は、CDBバックアップから個々のPDBを一度に1つずつリストアできます。
  • CDBが停止すると、完全なCDBをリストアでき、そのCDB内のすべてのPDBもリストアされます。
  • データベースを指定されたタイムスタンプにリストアすることも、最後に確認された良好な状態にリストアすることもできます。

コンソールを使用してPDBをリストアするには、プラガブル・データベースのリストアを参照してください。

移動

PDBを同じ可用性ドメイン(AD)内のあるCDBから別のCDBに、コンパートメント、DBシステムまたはVCN間で同じまたはそれ以降のデータベース・バージョンに再配置できます。2つの異なるVCNを使用する場合は、再配置する前に両方のVCNをピアリングする必要があります。再配置中、PDBはソースCDBから削除され、稼働中の宛先CDBに移動されます。Data Guardアソシエーションでは、プライマリに再配置されたPDBもスタンバイと同期されます。

コンソールを使用してPDBを再配置するには、プラガブル・データベースの再配置を参照してください。

クローンの作成

クローンは、クローニング操作時に存在していた特定のデータベースの独立した完全なコピーです。同じCDBまたは別のCDB内にPDBのクローンを作成し、クローニングされたPDBをリフレッシュできます。

次のタイプのクローンがサポートされています。

  • ローカル・クローン: PDBのコピーは同じCDB内に作成されます。
  • リモート・クローン: PDBのコピーが別のCDBに作成されます。

    同じ可用性ドメイン(AD)内のあるCDBから別のCDBへのPDBのリモート・クローンを、コンパートメント、DBシステムまたはVCN間で同じまたはそれ以降のデータベース・バージョンに実行できます。2つの異なるVCNを使用する場合は、クローニングの前に両方のVCNをピアリングする必要があります。

  • リフレッシュ可能クローン: PDBのコピーが別のCDBに作成され、クローニングされたPDBをリフレッシュできます。

    同じ可用性ドメイン(AD)内のあるCDBから別のCDBへのPDBのリフレッシュ可能なクローンを、コンパートメント、DBシステムまたはVCN間で同じまたはそれ以降のデータベース・バージョンに実行できます。2つの異なるVCNを使用する場合は、クローニングの前に両方のVCNをピアリングする必要があります。

コンソールを使用してPDBをクローニングするには、プラガブル・データベースのクローニングを参照してください。

リフレッシュ可能クローン

リフレッシュ可能クローンを使用すると、リモート・クローンをソースPDBで更新したままにできます。PDBがマウント・モードの場合にのみリフレッシュできます。オープン・モードは読取り専用のみであり、読取り専用モードの間はリフレッシュを実行できません。

  • リフレッシュ可能クローンを作成するには、データベース・リンク・ユーザー資格証明が必要です。
  • リフレッシュ可能クローンでは、クローン、再配置およびインプレース・リストア操作はサポートされていません。再配置およびインプレース・リストア操作はソースではサポートされず、ソースはリフレッシュ可能クローンの切断または削除後にのみ削除できます。
  • Data Guardアソシエーションでは、リフレッシュ可能クローンはスタンバイに作成できませんが、プライマリに作成できます。ただし、プライマリはスタンバイに同期されません。
    ノート

    スタンバイのPDBは、リフレッシュ可能なPDBのソースとして使用できません。

コンソールを使用してリフレッシュ可能クローンを作成するには、プラガブル・データベースのクローニングを参照してください。

コンソールを使用してクローンをリフレッシュするには、プラガブル・データベースのリフレッシュを参照してください。

リフレッシュ可能クローンを通常のPDBに変換

ソースPDBからリフレッシュ可能クローン(宛先PDB)をいつでも切断することで、リフレッシュ可能クローンを通常のPDBに変換できます。リフレッシュPDBがData Guardアソシエーションにある場合、通常のPDBに変換されると、PDBは変換プロセスの一部としてスタンバイに同期されます。

コンソールを使用してPDBを変換するには、リフレッシュ可能クローンの通常のプラガブル・データベースへの変換を参照してください。

オープン・モード

コンソールで、PDBのオープン・モード(読取り/書込み、読取り専用、マウントなど)を確認できます。PDBステータスがすべてのノードで同じ場合、すべてのPDBで同じステータスが表示されます。PDBステータスがノード間で異なる場合、PDBが読取り/書込みモードでオープンされているノードを示すメッセージが表示されます。APIまたはコンソールを使用してPDBのオープン・モードを変更することはできません。ただし、PDBを起動または停止できます。PDBを起動すると、読取り/書込みモードで起動します。PDBを停止すると、PDBはクローズされ、マウント・モードのままになります。

PDB管理の制限事項

  • SQLで作成された新しいPDBは、すぐに検出されてコンソールに表示されるわけではありません。ただし、OCIは手動で作成されたPDBを検出するために定期的に同期操作を実行するため、作成から6時間以内にコンソールおよびAPIベースのツールに表示されるようになります。コンソールまたはAPIベースのツール(OCI CLI、SDK、Terraformなど)を使用してPDBを作成することをお薦めします。
  • PDB操作は、Oracle Database 19c以降を使用するデータベースでのみサポートされます。
  • PDBはCDBレベルでバックアップされ、各バックアップにはCDB内のすべてのPDBが含まれます。OCIでは、個々のPDBのバックアップの作成はサポートされていません。