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;
この例では、pdb1SnapshotNがExascaleストレージでシン・プロビジョニングされたPDBスナップショットを識別すると、新しいPDB (pdbCloneFromSnap)もシン・プロビジョニングされます。
PDBスナップショットに基づいてクローン(スナップショット・コピー)を作成するには、PDBデータ・ファイル間の整合性を確保するために、スナップショットの時点からのアーカイブREDOログ・ファイルにアクセスする必要があります。