9.7.4.1 プラガブル・データベースのスナップショットの作成

プラガブル・データベース(PDB)のExadataスナップショットの作成は、手動のステップを加える必要がないため、スナップショットの作成の中で最も単純です。CREATE PLUGGABLE DATABASE文の2つの新しい句は、PDBをExadataスナップショットとして識別します。

個々のExadataスナップショットPDBの作成は、指定のCDB内のPDB数が少ない場合にスナップショットを作成するときに最適です。次の図に、2つのPDBスナップショットがあるPDBの典型的なライフサイクルの概要を例として示します。

図9-12 PDBを使用するExadataスナップショットのライフサイクル

図9-12の説明が続きます
「図9-12 PDBを使用するExadataスナップショットのライフサイクル」の例

OracleのマルチテナントとPDBのメリットの1つは、既存のPDBのクローンを容易にクローニングしてテスト・マスターを作成し、あるCDBから別のCDBに移動できることです。ソースPDBをクローニングしてテスト・マスターを作成し、必要なデータ・スクラブを実行できるテスト環境にテスト・マスターを移行することをお薦めします。これが完了すると、テスト・マスターPDBを使用して多数のExadataスナップショットPDBを作成できます。

ExadataスナップショットPDBは、CDB内のPDBとして作成されます。その他すべてのPDBと同様に、ExadataスナップショットPDBは、単一のCDB内のPDBの最大数に関する一般的な制限を受けます。Oracle Database 12cリリース1 (12.1)では、単一のCDB内のPDB数の制限は252個です。Oracle Database 12cリリース2 (12.2)以降では、単一のCDB内のPDB数の制限は4096個です。

ExadataスナップショットPDBの作成時に、このコマンドによってテスト・マスターPDBに対するファイル権限が変更され、Oracle ASMでファイルがREADONLYとしてマークされます。そのため、テスト・マスターPDBを削除する場合は、最初にスナップショット・コピーをすべて削除し、テスト・マスターPDBファイルの権限をREAD WRITEに戻す必要があります。

ノート:

ファイルの権限をREAD WRITEに変更する前にテスト・マスターPDBを削除した場合、コマンドはエラーなしで完了します。ただし、基礎になるデータベース・ファイルは残り、エントリがデータベース・アラート・ログ・ファイルに書き込まれます。この場合、Oracle ASM内のファイルを手動で削除して、ファイルが占有している領域を解放する必要があります。

テスト・マスターPDBを作成した後で、次のステップを実行してExadataスナップショットPDBを作成します。

  1. SQL*Plusで、CDBルート・コンテナ(cdb$root)に接続します。
  2. すべてのインスタンスでテスト・マスターPDBをクローズします。
    SQL> alter pluggable database PDB1TM1 close instances=all;
  3. ローカル・インスタンスでテスト・マスターPDBを読取り専用モードでオープンします。
    SQL> alter pluggable database PDB1TM1 open read only;
  4. このテスト・マスターのExadataスナップショットPDBを作成します。
    SQL> create pluggable database PDB1S1 from PDB1TM1 tempfile reuse create_file_dest='+SPARSE' snapshot copy;

    create_file_dest引数には、スパース・ディスク・グループの名前を指定する必要があります。snapshot copy句では、フルPDBクローンではなくスナップショットとしてPDBを作成します。

    単一のCDB内の制限を超える数のPDBを作成する必要がある場合は、データベース・リンクを使用するリモート・クローンを作成することで、別のCDB内にExadataスナップショットPDBを作成できます。次に例を示します:

    SQL> create pluggable database PDB1S1 from PDB1TM1@cdb1_dblink tempfile reuse create_file_dest='+SPARSE' snapshot copy;