日本語PDF

20 CDBとPDBのバックアップおよびリカバリ

マルチテナント・コンテナ・データベース(CDB)およびプラガブル・データベース(PDB)をバックアップおよびリカバリできます。

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のバックアップおよび完全リカバリ

マルチテナント・コンテナ・データベース(CDB)全体に対するバックアップと完全リカバリ操作を実行するには、TARGETとしてルートに接続します。

SYSDBA権限またはSYSBACKUP権限を持つ共通ユーザーとして接続を確立する必要があります。

ルートに接続したら、非CDBに対する操作の実行に使用するものと同じコマンドを使用して、CDB全体のバックアップと完全リカバリを実行します。

関連項目:

CDBのバックアップと完全リカバリの実行の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』の次の項を参照してください。

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 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のリストを指定して使用します。次の例では、ルートに接続されている場合にhrpdbsalespdbおよびinvpdbの各PDBをバックアップします。

    BACKUP PLUGGABLE DATABASE hrpdb, salespdb, invpdb;
    

関連項目:

PDBのバックアップおよびリカバリの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』で次の項を参照してください。

マルチテナント環境での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を指定するためのPLUGGABLE DATABASE句を含めます。

RMANは、リカバリ時に作成される一時ファイルを格納するために、補助の宛先を使用します。高速リカバリ領域が構成されている場合は、その領域が補助の宛先として使用されます。補助の宛先は、RECOVERコマンドにAUXILIARY DESTINATION句を使用することで、明示的に指定できます。

ローカル

いいえ

CDBルートまたはPDB

PDBに接続したときには、非CDBに使用するのと同じコマンドを使用します。ルートに接続したときには、リカバリする必要のあるPDBを指定するためのPLUGGABLE DATABASE句を含めます。

関連項目:

Point-in-Timeリカバリの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』の次の項を参照してください。

マルチテナント環境でのフラッシュバック・データベース

マルチテナント・コンテナ・データベース(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ルート

FLASHBACK PLUGGABLE DATABASEコマンドを使用します。クリーンPDBリストア・ポイントにのみフラッシュバックできます。

RMANは、フラッシュバック時に作成される一時ファイルを格納するために、補助の宛先を使用します。高速リカバリ領域が構成されている場合は、その領域が補助の宛先として使用されます。補助の宛先は、FLASHBACK PLUGGABLE DATABASEコマンドでAUXILIARY DESTINATION句を使用して、明示的に指定できます。

ローカル

いいえ

CDBルートまたはPDB

FLASHBACK PLUGGABLE DATABASEコマンドを使用します。フラッシュバック操作の目標時点は、CDBリストア・ポイント、PDBリストア・ポイント、時間式、または目的のSCNを使用して指定できます。