20 CDBとPDBのバックアップおよびリカバリ
マルチテナント・コンテナ・データベース(CDB)およびプラガブル・データベース(PDB)をバックアップおよびリカバリできます。
この項では、次の項目について説明します。
- CDBとPDBのバックアップおよびリカバリの概要
マルチテナント・アーキテクチャを使用すると、マルチテナント・コンテナ・データベース(CDB)全体、ルート、または1つ以上のプラガブル・データベース(PDB)に対してバックアップおよびリカバリ操作を実行できます。 - CDBのバックアップおよび完全リカバリ
マルチテナント・コンテナ・データベース(CDB)全体に対するバックアップと完全リカバリ操作を実行するには、TARGET
としてルートに接続します。 - PDBのバックアップおよび完全リカバリ
バックアップと完全リカバリ操作は、単一のプラガブル・データベース(PDB)または複数のPDBに対して実行できます。 - マルチテナント環境でのPoint-in-Timeリカバリ
マルチテナント・コンテナ・データベース(CDB)全体または特定のプラガブル・データベース(PDB)のPoint-in-Timeリカバリを実行できます。 - マルチテナント環境でのフラッシュバック・データベース
マルチテナント・コンテナ・データベース(CDB)全体または特定のブラガブル(PDB)に対して、フラッシュバック・データベース操作を実行できます。
親トピック: マルチテナント環境でのOracle機能の使用
CDBとPDBのバックアップおよびリカバリの概要
マルチテナント・アーキテクチャを使用すると、マルチテナント・コンテナ・データベース(CDB)全体、ルート、または1つ以上のプラガブル・データベース(PDB)に対してバックアップおよびリカバリ操作を実行できます。
CDBとPDBのバックアップおよびリカバリで使用するOracle Recovery Manager (RMAN)コマンドは、非CDBで使用するコマンドと同じです(ただし、構文にわずかな違いがあります)。非CDBで実行するバックアップおよびリカバリ操作は、CDBとPDBでも実行可能です。次のものが必要となります。
-
全体バックアップと増分バックアップ
-
完全なPoint-in-Timeリカバリ(PITR)
-
フラッシュバック・データベース
-
レポート作成操作(バックアップのリスト作成およびバックアップの照合チェック)
CDBおよびPDBへの接続について
ルートには、次のいずれかの方法で接続できます。
-
オペレーティング・システム認証を使用した接続
SYSDBA
権限を持つSYS
ユーザーとしてルートに接続されます。 -
共通ユーザーとしてのローカル接続
-
共通ユーザーとしてのOracle Net Servicesを介した接続
TARGET
としてPDBに接続するには、次のいずれかの手法を使用します。
-
PDBのデータベース・サービスに変換されるネット・サービス名を使用して接続します
-
SYSDBA
権限またはSYSBACKUP
権限を持つ共通ユーザーまたはローカル・ユーザーとしてローカルに接続します
ノート:
PDBに直接接続している場合には、一部の操作は使用できません。これらの操作のリストは、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。
関連項目:
PDBのバックアップおよびリカバリの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』で次の項を参照してください。
親トピック: CDBとPDBのバックアップおよびリカバリ
CDBのバックアップおよび完全リカバリ
マルチテナント・コンテナ・データベース(CDB)全体に対するバックアップと完全リカバリ操作を実行するには、TARGET
としてルートに接続します。
SYSDBA
権限またはSYSBACKUP
権限を持つ共通ユーザーとして接続を確立する必要があります。
ルートに接続したら、非CDBに対する操作の実行に使用するものと同じコマンドを使用して、CDB全体のバックアップと完全リカバリを実行します。
関連項目:
CDBのバックアップと完全リカバリの実行の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』の次の項を参照してください。
親トピック: CDBとPDBのバックアップおよびリカバリ
PDBのバックアップおよび完全リカバリ
バックアップと完全リカバリ操作は、単一のプラガブル・データベース(PDB)または複数のPDBに対して実行できます。
PDBのバックアップ
PDBを再配置したり非CDBをPDBとしてクローニングする場合、プリプラグイン・バックアップ使用の維持が必要になる場合があります。宛先CDBでプリプラグイン・バックアップを使用可能にするには、プリプラグイン・バックアップに関するメタデータが宛先CDBのRMANリポジトリにエクスポートされる必要があります。
バックアップを使用可能にする方法は、操作のタイプによって異なります。
-
非CDBのクローニングによるPDBの作成
非CDBが読取り/書込みモードでオープンされている場合は、クローニングの前の最後のステップとして
DBMS_PDB.EXPORTRMANBACKUP
プロシージャを実行する必要があります。非CDBをPDBとして宛先CDBに接続するとき、ソース非CDBのバックアップ・メタデータが、宛先CDBのデータ・ディクショナリにコピーされます。 -
別のCDBへのPDBの再配置
ソースPDBを切断するとき、バックアップ・メタデータは自動的にエクスポートされます。したがって、
DBMS_PDB.EXPORTRMANBACKUP
を実行する必要はありません。
プリプラグイン・バックアップは、ソース非CDBまたはPDBを接続する宛先CDBでのみ使用できます。
ノート:
-
プリプラグイン・バックアップについて学習するには、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください
-
データベース全体のプリプラグイン・バックアップを作成する方法を学習するには、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください
-
DBMS_PDB.EXPORTRMANBACKUP
プロシージャについてさらに学習するには、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください
バックアップ・コマンドの構文
Oracle Recovery Manager (RMAN)コマンドは同じですが、複数のPDBに対する操作の実行で使用する構文は一部変更します。
単一のPDBに対するバックアップと完全リカバリ操作を実行するには、TARGET
として次のいずれかのコンテナに接続します。
-
PDB
この場合は、非CDBのバックアップまたはリカバリで使用するのと同じコマンドを使用します。たとえば、PDBをバックアップするには、
BACKUP DATABASE
コマンドを使用します。 -
CDB$ROOT
この場合は、RMANコマンドで
PLUGGABLE DATABASE
句を使用します。次のコマンドでは、ルートに接続されている場合にhrpdb
というPDBをバックアップします。BACKUP PLUGGABLE DATABASE hrpdb;
単一のコマンドを使用して複数のPDBに対するバックアップと完全リカバリ操作を実行するには、ルートに接続する必要があります。
PLUGGABLE DATABASE
句の後に、操作を実行する対象のPDBのリストを指定して使用します。次の例では、ルートに接続されている場合にhrpdb
、salespdb
およびinvpdb
の各PDBをバックアップします。BACKUP PLUGGABLE DATABASE hrpdb, salespdb, invpdb;
関連項目:
PDBのバックアップおよびリカバリの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』で次の項を参照してください。
親トピック: CDBとPDBのバックアップおよびリカバリ
マルチテナント環境でのPoint-in-Timeリカバリ
マルチテナント・コンテナ・データベース(CDB)全体または特定のプラガブル・データベース(PDB)のPoint-in-Timeリカバリを実行できます。
CDBのPoint-in-Timeリカバリ
CDBのPoint-in-Timeリカバリを実行するには、次の前提条件を満たしている必要があります。
-
SYSDBA
またはSYSBACKUP
権限を持つ共通ユーザーとしてルート・コンテナにログインする必要があります。 -
CDBはマウントされている必要があります。
リカバリ操作を実行するときは、非CDBで使用するのと同じコマンドを使用します。
PDBのPoint-in-Timeリカバリ
オープンまたはクローズのCDBでPDBがクローズされたときには、PDBを過去の時点にリカバリできます。その手法は、CDBのUNDOモードによって異なります。次の表で、その違いを説明します。
表20-1 Point-in-Timeリカバリ方法の違い
UNDOモード | 補助インスタンスを使用するか | TARGETとして接続する場所 | リカバリに使用するRMANコマンド |
---|---|---|---|
共有 |
はい |
CDBルート |
リカバリする必要のあるPDBを指定するための RMANは、リカバリ時に作成される一時ファイルを格納するために、補助の宛先を使用します。高速リカバリ領域が構成されている場合は、その領域が補助の宛先として使用されます。補助の宛先は、 |
ローカル |
いいえ |
CDBルートまたはPDB |
PDBに接続したときには、非CDBに使用するのと同じコマンドを使用します。ルートに接続したときには、リカバリする必要のあるPDBを指定するための |
関連項目:
Point-in-Timeリカバリの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』の次の項を参照してください。
親トピック: CDBとPDBのバックアップおよびリカバリ
マルチテナント環境でのフラッシュバック・データベース
マルチテナント・コンテナ・データベース(CDB)全体または特定のブラガブル(PDB)に対して、フラッシュバック・データベース操作を実行できます。
RMANは、Point-in-Timeリカバリ時に作成される一時ファイルを格納するために、補助の宛先を使用します。デフォルトでは、高速リカバリ領域が補助の宛先として使用されます。補助の宛先は、RECOVER
コマンドにAUXILIARY DESTINATION
句を使用することで、明示的に指定できます。
CDBのフラッシュバック
CDBのフラッシュバック・データベースを実行するには、次の前提条件を満たしている必要があります。
-
SYSDBA
またはSYSBACKUP
権限を持つ共通ユーザーとしてルートに接続する必要があります。 -
CDBはマウントされている必要があります。
フラッシュバック操作の目標時点は、CDBリストア・ポイント、時間式、またはSCNを使用して指定します。CDBリストア・ポイントは、そのCDB内のどのPDBからでもアクセスできます。ただし、リストア・ポイントは、そのPDBのPDBサブインカネーションを反映しません。
PDBのフラッシュバック
PDBがクローズされていてCDBがオープンしている場合は、FLASHBACK DATABASE
コマンドを使用することで、このPDBに対するフラッシュ・バック・データベース操作を実行できます。特定のPDBでフラッシュバック・データベース操作を実行すると、そのPDBに関連するデータファイルのみを変更します。CDB内のその他のPDBは影響を受けず、使用できます。PDBリストア・ポイントは、そのリストア・ポイントが定義されたPDBからのみアクセス可能で、このPDBに対する操作にのみ使用できることに注意してください。
表20-2 フラッシュバック方法の違い
CDBのUNDOモード | 補助インスタンスを使用するか | TARGETとして接続する場所 | コマンド |
---|---|---|---|
共有 |
はい |
CDBルート |
RMANは、フラッシュバック時に作成される一時ファイルを格納するために、補助の宛先を使用します。高速リカバリ領域が構成されている場合は、その領域が補助の宛先として使用されます。補助の宛先は、 |
ローカル |
いいえ |
CDBルートまたはPDB |
|
関連項目:
CDBおよびPDBのフラッシュバックの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』の次の項を参照してください。
親トピック: CDBとPDBのバックアップおよびリカバリ