16 PDBスナップショット・カルーセルの管理
指定したPDBのPDBスナップショット・カルーセルを構成し、スナップショットを手動または自動的に作成して、スナップショットの最大数を設定できます。
- PDBスナップショット・カルーセルについて
PDBスナップショット・カルーセルとは、PDBスナップショットのライブラリのことです。 - PDBスナップショット・カルーセル内のスナップショットの最大数の設定
PDBのPDBスナップショットの最大数を設定できます。 - 自動PDBスナップショットの構成
PDBを作成または変更する際にSNAPSHOT MODE EVERY
句を使用して、自動スナップショットのPDBを構成します。 - PDBスナップショットの手動作成
PDBスナップショットを手動で作成するには、ALTER PLUGGABLE DATABASE
またはCREATE PLUGGABLE DATABASE
でSNAPSHOT snapshot_name
句を指定します。 - PDBスナップショットの削除
DROP SNAPSHOT
句を指定したALTER PLUGGABLE DATABASE
文を実行して、PDBスナップショットを削除できます。 - PDBスナップショットのメタデータの表示
データ・ディクショナリ・ビューのDBA_PDB_SNAPSHOTS
とDBA_PDB_SNAPSHOTFILE
にPDBスナップショットのメタデータが示されます。
親トピック: マルチテナント環境の管理
PDBスナップショット・カルーセルについて
PDBスナップショット・カルーセルとは、PDBスナップショットのライブラリのことです。
PDBスナップショットはPDBのPoint-in-Timeコピーです。スナップショットの作成中に、ソースPDBを読取り専用または読取り/書込みでオープンできます。スナップショットは、CREATE PLUGGABLE DATABASE
(またはALTER PLUGGABLE DATABASE
)のSNAPSHOT
句を使用して手動で作成するか、またはEVERY間隔
句を使用して自動的に作成できます。ストレージ・システムでスパース・クローンがサポートされている場合は、前述のコマンドではスパース・コピーが作成されます。それ以外の場合は、完全コピーが作成されます。
- PDBスナップショット・カルーセルの目的
PDBスナップショット・カルーセルは、Point-in-Timeリカバリ用およびクローニング用に最新PDBコピーのライブラリを維持するために役立ちます。 - PDBスナップショット・カルーセルの仕組み
特定のPDBのカルーセルは、このPDBのコピーの循環ライブラリです。 - PDBスナップショット・カルーセルのユーザー・インタフェース
SNAPSHOT MODE
句を使用してスナップショットの作成を制御し、作成が手動、自動または無効かを決定します。
関連項目:
各種エディションおよびサービスでサポートされる機能の詳細は、『Oracle Databaseライセンス情報ユーザー・マニュアル』を参照
親トピック: PDBスナップショット・カルーセルの管理
PDBスナップショット・カルーセルの目的
PDBスナップショット・カルーセルは、Point-in-Timeリカバリ用およびクローニング用に最新PDBコピーのライブラリを維持するために役立ちます。
開発およびテスト用にPDBをクローニング
一般的な開発ユースケースでは、CREATE PLUGGABLE DATABASE newpdb FROM srcpdb
という形式のコマンドを使用して、テスト用に本番PDBをクローニングします。CDBがARCHIVELOG
モードおよびローカルUNDOモードの場合、ソースの本番PDBは読取り/書込みモードでオープンでき、そのクローニング時に十分に機能します(ホット・クローニングと呼ばれる手法)。ホット・クローンPDBは、ALTER PLUGGABLE DATABASE ... OPEN
文が完了したSCNの時点でのソースPDBとトランザクション的に一貫した状態です。
次のステップは、一般的な開発シナリオを示しています。
-
pdb1_prod
という本番PDBがオープンされ使用されている間に、pdb1_test_master
というリフレッシュ可能クローンPDBを作成します。リフレッシュ可能クローンPDBは、読取り専用モードでのみオープンできます。そのクローンPDBを
pdb1_prod
からリフレッシュするには、それをクローズする必要があります。 -
ALTER PLUGGABLE DATABASE pdb1_test_master SNAPSHOT MODE EVERY 24 HOURS
を実行します。これにより、pdb1_test_master
の自動スナップショットを毎日生成するようにPDBが構成されます。 -
テスト用に新しいPDBが必要な場合は、
CREATE PLUGGABLE DATABASE … USING SNAPSHOT
コマンドを使用してフル・クローンPDBを作成します。 -
CREATE PLUGGABLE DATABASE ... SNAPSHOT COPY
を使用して、フル・クローンPDBのスパース・スナップショット・コピーPDBを作成します。
次の図は、4月5日に取得したPDBスナップショットからクローンのpdb1_test_full1
を作成する手順を示しています。図には、pdb1_test_full1
から作成された3つのスナップショット・コピーPDBが示されています。
PDBスナップショット・カルーセルを使用したPoint-in-Timeリストア
PDBのスナップショットを毎日同じ時刻に取得するという方法があります。データ・ロード前に、PDBスナップショットを手動で取得する方法もあります。いずれの場合も、PDBスナップショット・カルーセルを使用すると、利用可能なPDBスナップショットを使用してPDBをリストアできます。
たとえば、pdb1_prod
という名前の販売履歴PDBは、毎日午前12時1分に自動スナップショットを生成します。4月9日月曜日の午後に実行した日次データ・ロード時に、誤ったデータをロードしてPDBが破損しました。4月9日月曜日のスナップショットに基づいて新しい本番PDBを作成し、破損したPDBを削除して、データ・ロードを再試行できます。
関連項目:
-
CREATE PLUGGABLE DATABASE
の構文およびセマンティクスについては、『Oracle Database SQL言語リファレンス』を参照してください -
各種エディションおよびサービスでサポートされる機能の詳細は、『Oracle Databaseライセンス情報ユーザー・マニュアル』を参照
親トピック: PDBスナップショット・カルーセルについて
PDBスナップショット・カルーセルの仕組み
特定のPDBのカルーセルは、このPDBのコピーの循環ライブラリです。
データベースでは、必要に応じてまたは自動的に、カルーセル内に連続してコピーを作成します。スナップショット制限に達すると、データベースでは最も古いスナップショットが上書きされます。
- PDBスナップショットの内容
PDBスナップショットの内容は、基礎となるファイル・システムでスパース・ファイルがサポートされているかどうかで異なります。 - PDBスナップショット・カルーセルの内容
PDBスナップショット・カルーセルは、PDBのすべての既存のスナップショットのセットです。
親トピック: PDBスナップショット・カルーセルについて
PDBスナップショットの内容
PDBスナップショットの内容は、基礎となるファイル・システムでスパース・ファイルがサポートされているかどうかで異なります。
スナップショット名
データベース管理PDBスナップショットの名前は、ユーザー指定またはシステム生成のいずれかになります。システム生成のスナップショット名の場合は、スナップショットSCNを含む一意の識別子にSNAP_
という接頭辞が付きます。たとえば、次の問合せにより、システム生成の名前と取得時のSCNが付いた3つのスナップショットが示されます。
SET LINESIZE 200
SET PAGESIZE 50000
COL CON_ID FORMAT 999999
COL CON_NAME FORMAT a15
COL SNAPSHOT_NAME FORMAT a27
SELECT CON_ID, CON_NAME, SNAPSHOT_NAME, SNAPSHOT_SCN FROM DBA_PDB_SNAPSHOTS;
CON_ID CON_NAME SNAPSHOT_NAME SNAPSHOT_SCN
------- --------------- --------------------------- ------------
5 HRPDB SNAP_1389467754_993556301 2925293
5 HRPDB SNAP_1389467754_993556306 2925679
5 HRPDB SNAP_1389467754_993556309 2925698
ノート:
各種エディションおよびサービスでサポートされる機能の詳細は、『Oracle Databaseライセンス情報ユーザー・マニュアル』を参照してください。
フル・スナップショットとスパース・スナップショット
ALTER PLUGGABLE DATABASE ... SNAPSHOT
によって生成されるスナップショットの内容は、基礎となるファイル・システムに応じて異なります。基礎となるファイル・システムでスパース・コピーがサポートされている場合、PDBレベルのスナップショットはスパースとなります。最初のPDB管理PDBスナップショットのみがフルになります。それ以外の場合、PDBスナップショットにはデータ・ファイルの完全コピーが含まれます。スナップショットには、そのスナップショットからPDBを作成するために必要な他のファイルが含まれています。
スナップショット・ディレクトリ
すべてのPDBに、専用のスナップショット・ディレクトリがあります。このディレクトリ内には、各スナップショットの取得時のSCNに関係する名前が付いた専用のサブディレクトリがあります。次の問合せにより、DBIDが1389467754
のhrpdb
のスパースPDBスナップショットが示されます。
SET LINESIZE 200
SET PAGESIZE 50000
COL SNAPSHOT_NAME FORMAT a27
COL FULL_SNAPSHOT_PATH FORMAT a65
SELECT SNAPSHOT_NAME, SNAPSHOT_SCN, FULL_SNAPSHOT_PATH FROM DBA_PDB_SNAPSHOTS;
SNAPSHOT_NAME SNAPSHOT_SCN FULL_SNAPSHOT_PATH
--------------------------- ------------ ---------------------------------------
SNAP_1389467754_993556301 2925293 /d1/snapshots/pdb_1389467754/2925293/
SNAP_1389467754_993556306 2925679 /d1/snapshots/pdb_1389467754/2925679/
SNAP_1389467754_993556309 2925698 /d1/snapshots/pdb_1389467754/2925698/
ノート:
スナップショットがスパースではなくフルである場合、フル・スナップショット・パスでは接尾辞が.pdb
のアーカイブを指定します。
/d1/snapshots/pdb_1389467754/2925698/
のディレクトリには、次のファイルが格納されています。
archparlog_1_63_52d1986a_993552590.arc
o1_mf_salestbs_g03341t2_.dbf
o1_mf_sysext_g0333vqw_.dbf
o1_mf_undo_1_g033gd2j_.dbf
o1_mf_sysaux_g0333vqv_.dbf
o1_mf_system_g0333vqt_.dbf
HRPDB.xml
このセットには、データファイル、アーカイブREDOログ・ファイルおよびPDBスナップショットに関するメタデータを格納しているXMLファイルが含まれます。次のdu
コマンドにより、スパースのスナップショット・データ・ファイルのサイズが、データ・ファイルのサイズと比較して小さいことが示されます。
% du -h *dbf
16K o1_mf_salestbs_g03341t2_.dbf
16K o1_mf_sysaux_g0333vqv_.dbf
16K o1_mf_sysext_g0333vqw_.dbf
16K o1_mf_system_g0333vqt_.dbf
16K o1_mf_undo_1_g033gd2j_.dbf
次のデータ・ディクショナリ結合により、スナップショット2925698
のスナップショット・ファイル名とタイプが示されます。
SELECT f.SNAPSHOT_FILENAME, f.SNAPSHOT_FILETYPE
FROM DBA_PDB_SNAPSHOTS s, DBA_PDB_SNAPSHOTFILE f
WHERE s.SNAPSHOT_SCN=f.SNAPSHOT_SCN
AND s.CON_ID=f.CON_ID
ORDER BY s.SNAPSHOT_SCN DESC;
SNAPSHOT_FILENAME SNAPSHOT
----------------------------------------------------------------- --------
/d1/snapshots/pdb_1389467754/2925698/o1_mf_sysaux_g0333vqv_.dbf DATA
/d1/snapshots/pdb_1389467754/2925698/o1_mf_system_g0333vqt_.dbf DATA
/d1/snapshots/pdb_1389467754/2925698/HRPDB.xml XML
/d1/snapshots/pdb_1389467754/2925698/o1_mf_sysext_g0333vqw_.dbf DATA
/d1/snapshots/pdb_1389467754/2925698/o1_mf_salestbs_g03341t2_.dbf DATA
/d1/snapshots/pdb_1389467754/2925698/o1_mf_undo_1_g033gd2j_.dbf DATA
/d1/snapshots/pdb_1389467754/2925698/archparlog_1_63_52d1986a_993552590.arc ARCH
/d1/snapshots/pdb_1389467754/2925679/o1_mf_sysext_g0333vqw_.dbf DATA
/d1/snapshots/pdb_1389467754/2925679/o1_mf_salestbs_g03341t2_.dbf DATA
/d1/snapshots/pdb_1389467754/2925679/o1_mf_undo_1_g033gd2j_.dbf DATA
/d1/snapshots/pdb_1389467754/2925679/o1_mf_sysaux_g0333vqv_.dbf DATA
/d1/snapshots/pdb_1389467754/2925679/archparlog_1_63_52d1986a_993552590.arc ARCH
/d1/snapshots/pdb_1389467754/2925679/HRPDB.xml XML
/d1/snapshots/pdb_1389467754/2925679/o1_mf_system_g0333vqt_.dbf DATA
/d1/snapshots/pdb_1389467754/2925293/HRPDB.xml XML
/d1/snapshots/pdb_1389467754/2925293/o1_mf_system_g0333vqt_.dbf DATA
/d1/snapshots/pdb_1389467754/2925293/o1_mf_sysaux_g0333vqv_.dbf DATA
/d1/snapshots/pdb_1389467754/2925293/o1_mf_undo_1_g033gd2j_.dbf DATA
/d1/snapshots/pdb_1389467754/2925293/o1_mf_salestbs_g03341t2_.dbf DATA
/d1/snapshots/pdb_1389467754/2925293/o1_mf_sysext_g0333vqw_.dbf DATA
/d1/snapshots/pdb_1389467754/2925293/archparlog_1_63_52d1986a_993552590.arc ARCH
親トピック: PDBスナップショット・カルーセルの仕組み
PDBスナップショット・カルーセルの内容
PDBスナップショット・カルーセルは、PDBのすべての既存のスナップショットのセットです。
MAX_PDB_SNAPSHOTS
プロパティは、カルーセルで許可されるスナップショットの最大数を指定します。現在の設定は、CDB_PROPERTIES
ビューに表示されます。
次の図は、cdb1_pdb1
のカルーセルを示しています。この例では、データベースはPDBスナップショットを毎日自動的に取得して、8個のスナップショットのセットを維持します。最初の8個のスナップショットが作成された後は、最新のスナップショットが作成されるたびに最も古いスナップショットと置き換えられます。たとえば、4月10日火曜日のスナップショットは4月2日月曜日のスナップショットと置き換えられ、4月11日水曜日のスナップショットは4月3日火曜日のスナップショットと置き換えられます。
ファイル・システムでスパース・ファイルがサポートされている場合、カルーセル内の、最初のPDBスナップショットを除くすべてのPDBスナップショットはスパースとなります。ソースPDBは、読取り/書込みモードのままにできます。スパース・ファイルにより、カルーセルの記憶領域が大幅に削減されます。
関連項目:
各種エディションおよびサービスでサポートされる機能の詳細は、『Oracle Databaseライセンス情報ユーザー・マニュアル』を参照
親トピック: PDBスナップショット・カルーセルの仕組み
PDBスナップショット・カルーセルのユーザー・インタフェース
SNAPSHOT MODE
句を使用してスナップショットの作成を制御し、作成が手動、自動または無効かを決定します。
ALTER PLUGGABLE DATABASE … SNAPSHOT文
PDBのスナップショット・モードを設定するには、ALTER PLUGGABLE DATABASE
またはCREATE PLUGGABLE DATABASE
のSNAPSHOT MODE
句で次のいずれかの値を使用します。
-
MANUAL
この句(デフォルト)は、PDBの手動スナップショットの作成を有効にします。必要に応じてスナップショットを作成するには、
ALTER PLUGGABLE DATABASE
またはCREATE PLUGGABLE DATABASE
文でSNAPSHOT snapshot_name
句を指定します。 -
EVERY snapshot_interval [MINUTES|HOURS]
この句は、時間間隔ごとのスナップショットの自動作成を有効にします。指定する間隔には次の制限があります。
-
分の値は
3000
より小さくする必要があります。 -
時間の値は
2000
より小さくする必要があります。
データベースでは、各自動スナップショットにシステム生成の名前が割り当てられます。
EVERY
が指定されている場合は、PDBに対して手動スナップショットもサポートされていることに注意してください。 -
-
NONE
この句は、PDBのスナップショット作成を無効にします。
関連項目:
-
SNAPSHOT
句の構文およびセマンティクスについては、『Oracle Database SQL言語リファレンス』を参照してください
MAX_PDB_SNAPSHOTSデータベース・プロパティ
PDBのスナップショットの最大数を設定するには、ALTER PLUGGABLE DATABASE
またはCREATE PLUGGABLE DATABASE
でMAX_PDB_SNAPSHOTS
プロパティを指定します。プロパティのデフォルトは8
で、これは最大値でもあります。スナップショットの最大許容数がすでに作成されている場合、データベースでは最も古いスナップショットが削除されます。CDB_PROPERTIES
ビューに、MAX_PDB_SNAPSHOTS
の設定が表示されます。
関連項目:
ALTER PLUGGABLE DATABASE
文の構文については、『Oracle Database SQL言語リファレンス』を参照してください
スナップショット関連のデータ・ディクショナリ・ビュー
次のデータ・ディクショナリ・ビューは、スナップショット情報を提供します。
-
DBA_PDB_SNAPSHOTS
ビューには、スナップショットに関するメタデータ(名前、作成SCN、作成時間およびファイル名を含む)が記録されます。 -
DBA_PDB_SNAPSHOTFILE
ビューには、PDBスナップショット内のファイルの名前とタイプがリストされます。このビューは、スナップショットがスパースの場合にのみ移入されます。 -
DBA_PDBS
ビューには、SNAPSHOT_MODE
およびSNAPSHOT_INTERVAL
列があります。
関連項目:
DBA_PDB_SNAPSHOTS
、DBA_PDB_SNAPSHOTFILE
およびDBA_PDBS
について学習するには、『Oracle Databaseリファレンス』を参照
親トピック: PDBスナップショット・カルーセルについて
PDBスナップショット・カルーセル内のスナップショットの最大数の設定
PDBのPDBスナップショットの最大数を設定できます。
MAX_PDB_SNAPSHOTS
データベース・プロパティは、PDBスナップショット・カルーセルでの各PDBのスナップショットの最大数を設定します。デフォルトの最大値は8
です。プロパティには8
より大きい数値を設定できません。
前提条件
PDBが読取り/書込みモードでオープンしている必要があります。
PDBのPDBスナップショットの最大数を設定するには:
-
SQL*Plusで、現在のコンテナが制限を設定するPDBであることを確認します。
-
必要に応じて、
SET MAX_PDB_SNAPSHOTS
プロパティの現在の設定に対してCDB_PROPERTIES
を問い合せます。 -
SET MAX_PDB_SNAPSHOTS
句を指定して、ALTER PLUGGABLE DATABASE
またはALTER DATABASE
文を実行します。
例16-1 PDBのPDBスナップショットの最大数の設定
次の問合せは、cdb1_pdb1
のカルーセル内の最大値を示しています(出力例も示します)。
SET LINESIZE 150
COL ID FORMAT 99
COL PROPERTY_NAME FORMAT a17
COL PDB_NAME FORMAT a9
COL VALUE FORMAT a3
COL DESCRIPTION FORMAT a43
SELECT r.CON_ID AS id, p.PDB_NAME, PROPERTY_NAME,
PROPERTY_VALUE AS value, DESCRIPTION
FROM CDB_PROPERTIES r, CDB_PDBS p
WHERE r.CON_ID = p.CON_ID
AND PROPERTY_NAME LIKE 'MAX_PDB%'
ORDER BY PROPERTY_NAME;
ID PDB_NAME PROPERTY_NAME VAL DESCRIPTION
-- --------- ----------------- --- ------------------------------------
3 CDB1_PDB1 MAX_PDB_SNAPSHOTS 8 maximum number of snapshots for a PDB
次のSQL文は、現在のPDBのPDBスナップショットの最大数を7に設定します。
ALTER PLUGGABLE DATABASE SET MAX_PDB_SNAPSHOTS=7;
例16-2 PDBスナップショット・カルーセル内のすべてのスナップショットの削除
PDBスナップショット・カルーセル内のすべてのスナップショットを削除するには、次の文に示すように、MAX_PDB_SNAPSHOTS
データベース・プロパティを0
(ゼロ)に設定します。
ALTER PLUGGABLE DATABASE SET MAX_PDB_SNAPSHOTS=0;
この手法は、スナップショットごとにALTER PLUGGABLE DATABASE ... DROP SNAPSHOT snapshot_name
を実行するよりも高速です。
関連項目:
親トピック: PDBスナップショット・カルーセルの管理
自動PDBスナップショットの構成
PDBを作成または変更する際にSNAPSHOT MODE EVERY
句を使用して、自動スナップショットのPDBを構成します。
前提条件
ALTER PLUGGABLE DATABASE SNAPSHOT
文の次の前提条件に注意してください。
-
CDBはローカルUNDOモードである必要があります。
-
管理者はPDBを作成および削除する権限を持っている必要があります。
PDBの変更時に自動スナップショットを構成するには:
-
SQL*Plusで、スナップショット・モードを構成するPDBに管理者としてログインしていることを確認します。
-
必要に応じて、
DBA_PDBS
を問い合せて、現在のスナップショット・モードを確認します。 -
SNAPSHOT MODE EVERY interval
句にMINUTES
またはHOURS
を指定して、ALTER PLUGGABLE DATABASE
を実行します。
PDBの作成時に自動スナップショットを構成するには:
-
SQL*Plusで、CDBルートまたはアプリケーション・ルートに管理者としてログインしていることを確認します。
-
必要に応じて、
DBA_PDBS
を問い合せて、現在のスナップショット・モードを確認します。 -
SNAPSHOT MODE EVERY interval
句にMINUTES
またはHOURS
を指定して、CREATE PLUGGABLE DATABASE
を実行します。
例16-3 既存のPDBに対する毎日の自動スナップショットの構成
この例では、スナップショット・モードを変更するPDBにログインしていることを想定しています。データ・ディクショナリを問い合せて、現在、PDBがMANUAL
モードであることを確認します(出力例も示します)。
SELECT SNAPSHOT_MODE "S_MODE", SNAPSHOT_INTERVAL/60 "SNAP_INT_HRS"
FROM DBA_PDBS;
S_MODE SNAP_INT_HRS
------ ------------
MANUAL
スナップショット・モードを24時間ごとに変更します。
ALTER PLUGGABLE DATABASE SNAPSHOT MODE EVERY 24 HOURS;
自動モードへの変更を確認します。
SELECT SNAPSHOT_MODE "S_MODE", SNAPSHOT_INTERVAL/60 "SNAP_INT_HRS"
FROM DBA_PDBS;
S_MODE SNAP_INT_HRS
------ ------------
AUTO 24
例16-4 2時間ごとにスナップショットを取得するPDBの作成
この例では、CDBルートにログインしていることを想定しています。次の文は、cdb1_pdb1
という名前の既存のPDBからのcdb1_pdb3
を作成し、2時間ごとにスナップショットを自動的に取得するように構成します。
CREATE PLUGGABLE DATABASE cdb1_pdb3 FROM cdb1_pdb1
FILE_NAME_CONVERT=('cdb1_pdb1','cdb1_pdb3')
SNAPSHOT MODE EVERY 120 MINUTES;
PDBスナップショットの手動作成
PDBスナップショットを手動で作成するには、ALTER PLUGGABLE DATABASE
またはCREATE PLUGGABLE DATABASE
でSNAPSHOT snapshot_name
句を指定します。
前提条件
ALTER PLUGGABLE DATABASE SNAPSHOT
文の次の前提条件に注意してください。
-
CDBはローカルUNDOモードである必要があります。次の問合せを使用すると、モードを確認できます。ローカルUNDOが有効な場合、この問合せは
TRUE
を返します。SELECT * FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME='LOCAL_UNDO_ENABLED';
-
DBAは、PDBの作成および削除の権限を持っている必要があります。
-
スナップショットをスパースにする場合は、基礎となるストレージ・システムでスパース・ファイルがサポートされている必要があります。この場合、最初のスナップショットのみがフルになります。
PDBスナップショットを作成するには:
-
SQL*Plusで、スナップショット・モードを作成するPDBに管理者としてログインしていることを確認します。
-
必要に応じて、
DBA_PDBS.SNAPSHOT_MODE
を問い合せて、スナップショットのモードがNONE
に設定されていないことを確認します。 -
SNAPSHOT
句を指定してALTER PLUGGABLE DATABASE
文を実行します。
例16-5 ユーザー指定の名前を使用したPDBスナップショットの作成
次のSQL文は、cdb1_pdb1
の2つのPDBスナップショット(水曜日のデータ・ロードの前と後に1つずつ)を作成します。
ALTER PLUGGABLE DATABASE SNAPSHOT cdb1_pdb1_b4WLOAD;
-- data load
ALTER PLUGGABLE DATABASE SNAPSHOT cdb1_pdb1_afWLOAD;
DBA_PDB_SNAPSHOTS
の次の問合せは、cdb1_pdb1
という名前のPDBの2つのスナップショットの場所を示しています(出力例も示します)。
SET LINESIZE 150
COL CON_NAME FORMAT a9
COL ID FORMAT 99
COL SNAPSHOT_NAME FORMAT a17
COL SNAP_SCN FORMAT 9999999
COL FULL_SNAPSHOT_PATH FORMAT a61
SELECT CON_ID AS ID, CON_NAME, SNAPSHOT_NAME,
SNAPSHOT_SCN AS snap_scn, FULL_SNAPSHOT_PATH
FROM DBA_PDB_SNAPSHOTS
ORDER BY SNAP_SCN;
ID SNAPSHOT_NAME SNAP_SCN FULL_SNAPSHOT_PATH
--- ----------------- -------- -------------------------------------------------------------
4 CDB1_PDB1_B4WLOAD 5056465 /ade/b/813544604/oracle/dbs/snapshots/pdb_2935056285/5056465/
4 CDB1_PDB1_AFWLOAD 5056501 /ade/b/813544604/oracle/dbs/snapshots/pdb_2935056285/5056501/
PDBスナップショット名を指定しない場合、データベースでは一意の名前が生成されます。
例16-6 システム指定の名前を使用したPDBスナップショットの作成
次のSQL文は、スナップショットは作成されますが、名前が指定されていません。
ALTER PLUGGABLE DATABASE SNAPSHOT;
次の問合せ例は、データベースでSNAP_
という接頭辞が付いた名前をスナップショットに割り当てることを示しています。
SET LINESIZE 150
COL CON_NAME FORMAT a9
COL ID FORMAT 99
COL SNAPSHOT_NAME FORMAT a26
COL SNAP_SCN FORMAT 9999999
COL FULL_SNAPSHOT_PATH FORMAT a61
SELECT CON_ID AS id, CON_NAME, SNAPSHOT_NAME,
SNAPSHOT_SCN AS snap_scn, FULL_SNAPSHOT_PATH
FROM DBA_PDB_SNAPSHOTS
ORDER BY SNAP_SCN;
ID SNAPSHOT_NAME SNAP_SCN FULL_SNAPSHOT_PATH
--- -------------------------- -------- -------------------------------------------------------------
4 CDB1_PDB1_B4WLOAD 5056465 /ade/b/813544604/oracle/dbs/snapshots/pdb_2935056285/5056465/
4 CDB1_PDB1_AFWLOAD 5056501 /ade/b/813544604/oracle/dbs/snapshots/pdb_2935056285/5056501/
4 SNAP_2935056285_1031574118 5057389 /ade/b/813544604/oracle/dbs/snapshots/pdb_2935056285/5057389/
PDBスナップショットの削除
DROP SNAPSHOT
句を指定したALTER PLUGGABLE DATABASE
文を実行して、PDBスナップショットを削除できます。
PDBに基づくPDBスナップショットをすべて削除するには、PDBのMAX_PDB_SNAPSHOTS
プロパティを0
(ゼロ)に設定します。
PDBスナップショットを削除するには:
-
SQL*Plusで、現在のコンテナがPDBスナップショットを作成したPDBであることを確認します。
-
DROP SNAPSHOT
句を指定してALTER PLUGGABLE DATABASE
文を実行します。
例16-7 PDBスナップショットの削除
次のSQL文は、sales_snap
という名前のPDBスナップショットを削除します。
ALTER PLUGGABLE DATABASE DROP SNAPSHOT sales_snap;
関連項目:
親トピック: PDBスナップショット・カルーセルの管理
PDBスナップショットのメタデータの表示
データ・ディクショナリ・ビューのDBA_PDB_SNAPSHOTS
とDBA_PDB_SNAPSHOTFILE
では、PDBスナップショットのメタデータが示されます。
DBA_PDB_SNAPSHOTS
には、スナップショットに関する一般情報(名前、SCN、時間、パスなど)が含まれています。DBA_PDB_SNAPSHOTFILE
では、スナップショット内のすべてのファイルのパスとファイル名(データファイル、アーカイブREDOログ・ファイルおよびXMLファイル)が示されます。
ノート:
DBA_PDB_SNAPSHOTFILE
では、スパース・クローンPDBのみが示されます。スパース・クローンを作成するには、CLONEDB
初期化パラメータをTRUE
に設定する必要があります。
PDBスナップショットのメタデータを表示するには:
-
SQL*Plusで、管理ユーザーとしてデータベースにログインします。
-
DBA_PDB_SNAPSHOTS
を問い合せます。たとえば、次の問合せを実行します(出力例も示します)。
COL SNAPSHOT_NAME FORMAT a30 SELECT SNAPSHOT_NAME, SNAPSHOT_SCN, SNAPSHOT_TIME FROM DBA_PDB_SNAPSHOTS; SNAPSHOT_NAME SNAPSHOT_SCN SNAPSHOT_TIME ------------------------------ ------------ ------------- HRPDB_SNAP_F 3678939 1536262569 HRPDB_SNAP_S 4954803 986473745
-
DBA_PDB_SNAPSHOTFILE
を問い合せます。たとえば、次の結合問合せを実行します(出力例も示します)。
SET LINESIZE 120 COL SNAPSHOT_NAME FORMAT a12 COL SNAPSHOT_FILENAME FORMAT a54 SELECT SNAPSHOT_NAME, SNAPSHOT_FILENAME, SNAPSHOT_FILETYPE AS TYPE FROM DBA_PDB_SNAPSHOTS s, DBA_PDB_SNAPSHOTFILE f WHERE s.SNAPSHOT_SCN=f.SNAPSHOT_SCN; SNAPSHOT_NAM SNAPSHOT_FILENAME TYPE ------------ ------------------------------------------------------ ---- HRPDB_SNAP_S /d1/snapshots/4954803/o1_mf_undo_1_fry1l5bq_.dbf DATA HRPDB_SNAP_S /d1/snapshots/4954803/o1_mf_salestbs_fry19m6h_.dbf DATA HRPDB_SNAP_S /d1/snapshots/4954803/o1_mf_sysext_fry19d1n_.dbf DATA HRPDB_SNAP_S /d1/snapshots/4954803/o1_mf_sysaux_fry19d1m_.dbf DATA HRPDB_SNAP_S /d1/snapshots/4954803/o1_mf_system_fry19d1k_.dbf DATA HRPDB_SNAP_S /d1/snapshots/4954803/HRPDB.xml XML HRPDB_SNAP_S /d1/snapshots/4954803/archparlog_1_274_b87ca51e_985963 814.arc ARCH
例16-8 完全PDBスナップショットのメタデータの問合せ
次の問合せは、2つのPDBスナップショットを示します。.pdb
拡張子で示されるように、スナップショットはスパースではなくフルです。
SET LINESIZE 200
SET PAGESIZE 50000
COL ID FORMAT 99
COL CON_NAME FORMAT a7
COL SNAPSHOT_NAME FORMAT a25
COL SNAPSHOT_SCN FORMAT a7
COL FULL_SNAPSHOT_PATH FORMAT a65
SELECT CON_ID AS ID, CON_NAME, SNAPSHOT_NAME,
SNAPSHOT_SCN, FULL_SNAPSHOT_PATH
FROM DBA_PDB_SNAPSHOTS;
ID CON_NAM SNAPSHOT_NAME SNAPSHO FULL_SNAPSHOT_PATH
-- ------- ------------------------- ------- -------------------------------
5 HRPDB SNAP_3286480866_994766895 3160319 /d1/snap_3286480866_3160319.pdb
5 HRPDB SNAP_3286480866_994767095 3165758 /d1/snap_3286480866_3165758.pdb
次のDBA_PDB_SNAPSHOTFILE
の問合せでは、行が返されません。このビューはPDBスナップショットがスパースの場合にのみ移入されるためです。
SQL> SELECT COUNT(*) FROM DBA_PDB_SNAPSHOTFILE;
COUNT(*)
----------
0
親トピック: PDBスナップショット・カルーセルの管理