4.7.3 シン・プロビジョニングされたプラガブル・データベース・スナップショットのカルーセルの使用

Oracle Database内で、プラガブル・データベース(PDB)スナップショットのライブラリ(PDBスナップショット・カルーセルとも呼ばれる)を作成できます。PDBスナップショットはPDBのPoint-in-Timeコピーです。スナップショットの作成中に、ソースPDBを読取り専用または読取り/書込みでオープンできます。PDBスナップショット・カルーセルは、Point-in-Timeリカバリ用およびクローニング用に最新PDBコピーのライブラリを維持するために役立ちます。

たとえば、次のコマンドでは、新しいスナップショットが2時間ごとに取得されるpdb1に基づいてスナップショット・カルーセルを作成します。

SQL> ALTER PLUGGABLE DATABASE pdb1
     SNAPSHOT MODE EVERY 2 hours;

Oracle DatabaseでExascaleストレージを使用する場合、PDBスナップショット操作では、ネイティブのExascale機能が自動的に使用され、基礎となるOracle Databaseファイルのスナップショットが作成されます。Exascaleストレージに基づくPDBスナップショット・カルーセルには、最大4096個のPDBスナップショットを含めることができます。カルーセルが制限に達すると、新しい各スナップショットは、最も古いスナップショットと自動的に置き換えられます。

スナップショットは、基礎となるソース・データ・ファイルと同じExascaleボールト内に存在し、Exascaleではリダイレクト・オンライト手法を使用してシン・プロビジョニングされたスナップショット・データ・ファイルを作成および保守します。その結果、基礎となるデータ・ファイルのサイズに関係なく、スナップショット操作は即時実行されます。また、各スナップショットは追加領域を消費しません。領域は、新しいデータがソースPDBまたはスナップショットに基づく書込み可能クローンに書き込まれる際にのみ消費されます。

Oracle Database内では、スナップショット・データ・ファイルは、DBA_PDB_SNAPSHOTFILEなどの標準のOracle Databaseディクショナリ・ビューに表示されます。また、V$EXA_FILE Oracle Databaseディクショナリ・ビューで、様々なExascale固有のファイルの詳細を確認できます。

Exascale内では、ESCLI lssnapshotsコマンドを使用すると、スナップショットとその基礎となるソース・ファイル間のアソシエーションを表示できます。

ノート:

シン・プロビジョニングされたPDBスナップショットをOracle Data Guardプライマリ・データベースに作成すると、スナップショット・メタデータがスタンバイに伝播されます。ただし、Oracle Data Guardロール遷移(スイッチオーバーまたはフェイルオーバー)後でも、スタンバイ・サイトではスナップショットにアクセスできません。

PDBスナップショット・カルーセルのスナップショットを書込み可能なPDBとして使用するには、スナップショットに基づいてクローン(スナップショット・コピー)を作成する必要があります。次に例を示します:

SQL> CREATE PLUGGABLE DATABASE pdbCloneFromSnap FROM pdb1
     USING SNAPSHOT pdb1SnapshotN SNAPSHOT COPY;

この例では、pdb1SnapshotNExascaleストレージでシン・プロビジョニングされたPDBスナップショットを識別すると、新しいPDB (pdbCloneFromSnap)もシン・プロビジョニングされます。

PDBスナップショットに基づいてクローン(スナップショット・コピー)を作成するには、PDBデータ・ファイル間の整合性を確保するために、スナップショットの時点からのアーカイブREDOログ・ファイルにアクセスする必要があります。