11 RMAN操作に関するレポート

この章では、Recovery Manager操作に関してレポートする方法について説明します。この章のトピックは、次のとおりです:

11.1 RMANレポートの概要

この項では、RMANレポートの目的および基本的な概念について説明します。

11.1.1 RMANレポートの目的

バックアップおよびリカバリ計画の一部として、バックアップした内容を示すレポートを定期的に実行する必要があります。バックアップが必要なデータファイルまたは最近バックアップされていないファイルを確認しておく必要があります。また、問題発生時にRMANでリストアする必要があるバックアップをプレビューすることもできます。

バックアップおよびリカバリのもう1つ重要な側面は、領域の使用状況の監視です。ディスクにバックアップする場合は、そのディスクが一杯になる可能性があるため、パフォーマンス上の問題が発生したり、データベースが停止することもあります。RMANを使用すると、バックアップが不要なバックアップで、削除可能かどうかを確認できます。

また、RMANジョブについての履歴情報を取得する必要がある場合もあります。たとえば、発行されたバックアップ・ジョブの数、各バックアップ・ジョブのステータス(失敗したか完了したかなど)、ジョブの開始日時と終了日時、および実行されたバックアップのタイプについて確認する必要がある場合があります。

11.1.2 RMANレポートの基本的な概念

RMANは、操作の実行対象となる各データベースのメタデータを格納します。

RMANは常に、メタデータのRMANリポジトリをターゲット・データベースの制御ファイルに格納します。たとえば、RMANを使用して、prod1およびprod2データベースをバックアップするとします。RMANは、prod1のバックアップ用メタデータをprod1の制御ファイルに、prod2のバックアップ用メタデータをprod2の制御ファイルに格納します。

必要に応じて、リカバリ・カタログとともにRMANを使用できます。この場合、RMANは、別のリカバリ・カタログ・データベース内の一連の表に、追加のメタデータ・リポジトリを保持します。たとえば、prod3にリカバリ・カタログを作成するとします。このリカバリ・カタログには、複数のターゲット・データベースを登録できます。たとえば、prod1およびprod2prod3に格納されているリカバリ・カタログに登録すると、RMANは、prod1およびprod2のバックアップに関するメタデータをリカバリ・カタログ・スキーマに格納します。

次の表に、RMANリポジトリのメタデータにアクセスするために使用する方法を示します。

表11-1 RMANリポジトリのデータにアクセスする方法

方法 説明 追加情報

RMAN LISTおよびREPORTコマンド

RMANのLISTおよびREPORTコマンドでは、使用可能なバックアップと、データベースをリストアおよびリカバリするためにそれをどのように使用できるかという詳細な情報が提供されます。

V$ビュー

データベースがオープンしている場合は、いくつかのV$ビューによって、各ターゲット・データベースの制御ファイル内にあるRMANリポジトリ・レコードに直接アクセスできます。

V$DATAFILE_HEADER、V$PROCESSV$SESSIONなどの一部のV$ビューには、リカバリ・カタログ・ビューにはない情報が含まれています。

Oracle Databaseリファレンス

RC_ビュー

データベースがリカバリ・カタログに登録されている場合は、RC_ビューによって、リカバリ・カタログに格納されているRMANリポジトリ・データに直接アクセスできます。

RC_ビューは、V$ビューとほぼ対応しています。

『Oracle Database Recovery Managerリファレンス』

RESTORE ... PREVIEW およびRESTORE ... VALIDATE HEADERコマンド

これらのコマンドは、RMANが指定された時間にリストアできるバックアップを示します。

RESTORE ... PREVIEWは、メタデータを問い合せますが、バックアップ・ファイルを読み取りません。RESTORE ... VALIDATE HEADERコマンドでも同じ操作が実行されますが、リストアおよびリカバリ操作に必要なファイルの表示の他に、ディスク上またはメディア管理カタログ内のファイルがRMANリポジトリのメタデータに対応しているかどうかを確認するためにバックアップ・ファイル・ヘッダーが検証されます。

これらのコマンドについては、「リストア操作で使用されるバックアップのプレビュー」を参照してください

RMANリポジトリでは、ディスクおよびテープの実情を反映できない場合があります。たとえば、ユーザーがオペレーティング・システムのユーティリティを使用してバックアップを削除した場合、そのバックアップは、RMANリポジトリでは誤って使用可能と表示されます。CHANGECROSSCHECKDELETEなどのコマンドを使用すると、使用可能なバックアップの実際の状態を反映してRMANリポジトリを更新できます。そうしない場合、コマンドおよびビューの出力が誤って表示され、データベースをリストアおよびリカバリするためのバックアップをRMANで検出できない可能性があります。

関連項目:

11.1.3 Data Guard環境でのレポート

Data Guard環境では、Data Guardを使用しない場合と同様に、LISTREPORTおよびSHOWコマンドを使用できます。FOR DB_UNIQUE_NAME句を指定してこれらのコマンドを実行すると、指定したデータベースに関連付けられているバックアップを表示できます。

「Data Guard環境でのRMANによるファイル管理について」で説明されているように、すべてのバックアップがそのバックアップを作成したプライマリ・データベースまたはスタンバイ・データベースに関連付けられています。たとえば、standby1DB_UNIQUE_NAMEを使用してデータベースをバックアップすると、standby1データベースがこのバックアップに関連付けられます。

たとえば、次のコマンドでは、sfstandbyにのみ関連付けられているアーカイブREDOログが表示されます。

LIST ARCHIVELOG ALL FOR DB_UNIQUE_NAME sfstandby;

Data Guard環境でFOR DB_UNIQUE_NAME句を指定せずにLISTREPORTおよびSHOWコマンドを使用すると、RMANによって、ターゲット・データベースでアクセス可能なファイルが表示されます。RMANでバックアップにアクセス可能であるとみなされる場合については、「Data Guard環境でのバックアップの関連付けについて」を参照してください。

Data Guard環境では、RMANをリカバリ・カタログとともに使用する必要があります。RMANでは、すべてのバックアップおよびリカバリ・ファイルのメタデータがリカバリ・カタログのData Guard環境に格納されます。RMANのレポート・コマンドの実行時に、マウントまたはオープンされているデータベースにRMANをTARGETとして接続するか、またはSET DBIDコマンドを使用してデータベースを識別することができます。

関連項目:

Data Guard環境でRMAN操作に関してレポートする方法については、Oracle Data Guard概要および管理を参照してください。

11.2 バックアップおよびリカバリ関連オブジェクトの表示

LISTコマンドは、RMANリポジトリの情報を使用して、バックアップやバックアップとリカバリに関連するその他のオブジェクトのリストを表示します。

この項では、次の項目について説明します。

11.2.1 LISTコマンド

LISTコマンドの主な目的は、バックアップおよびコピーを表示することです。

たとえば、次の内容を表示できます。

  • データベース、表領域、データファイル、アーカイブREDOログまたは制御ファイルのバックアップおよびプロキシ・コピー

  • 期限切れのバックアップ

  • 時間、パス名、デバイス・タイプまたはリカバリ可能性で制限されているバックアップ

  • アーカイブREDOログ・ファイルおよびディスク・コピー

RMANでは、バックアップおよびコピーのみでなく、他のタイプのデータも表示できます。次の表に、表示できる有効なオブジェクトをいくつか示します。

表11-2 LISTの対象となるオブジェクト

リストの内容 コマンド 説明

バックアップ・セットおよびプロキシ・コピー

LIST BACKUP

データベース、表領域、データファイル、アーカイブREDOログ、制御ファイルまたはサーバー・パラメータ・ファイルのすべてのバックアップ・セット、コピーおよびプロキシ・コピーを表示できます。

イメージ・コピー

LIST COPY

データファイル・コピーおよびアーカイブREDOログ・ファイルを表示できます。デフォルトでは、LIST COPYによってすべてのデータベース・ファイルおよびアーカイブREDOログのコピーが表示されます。出力には、リストアできないイメージ・コピー、期限切れのイメージ・コピーまたは使用不可能なイメージ・コピーも含め、使用可能なイメージ・コピーおよび使用不可能なイメージ・コピーの両方が含まれます。

アーカイブREDOログ・ファイル

LIST ARCHIVELOG

アーカイブREDOログ・ファイルを表示できます。すべてのアーカイブREDOログ・ファイルを表示するか、SCN、時刻または順序番号の範囲で個々のアーカイブ・ログ・ファイルを指定できます。範囲を指定すると、インカネーション番号を指定することによって戻されるリストをさらに制限できます。

プリプラグイン・バックアップ

LIST ... PREPLUGIN

すべてのプリプラグイン・バックアップおよびプリプラグイン・アーカイブREDOログ・ファイルを表示できます。

データベース・インカネーション

LIST INCARNATION

データベースのすべてのインカネーションを表示できます。RESETLOGSオプションを使用してオープンすると、新しいデータベース・インカネーションが作成されます。

Data Guard環境のデータベース

LIST DB_UNIQUE_NAME

Data Guard環境のデータベースは、そのDB_UNIQUE_NAME初期化パラメータ設定によって識別されます。同じDBIDを持つすべてのデータベースを表示できます。

Data Guard環境のプライマリ・データベースまたはスタンバイ・データベースのバックアップおよびコピー

LIST ... FOR DB_UNIQUE_NAME

Data Guard環境内の指定したデータベースまたはすべてのデータベースのすべてのバックアップおよびコピーを表示できます。

RMANでは、指定したDB_UNIQUE_NAMEを持つデータベースに排他的に関連付けられているファイルまたはオブジェクトに出力が制限されます。たとえば、FOR DB_UNIQUE_NAMEを指定してLISTを使用すると、特定のスタンバイ・データベースまたはプライマリ・データベースに関連付けられているアーカイブREDOログのリストを表示できます。データベースによって所有されていないオブジェクト(リカバリ・カタログ・ビューのSITE_KEY列がNULL)は表示されません。

リストア・ポイント

LIST RESTORE POINT

RMANリポジトリで認識されるリストア・ポイントを表示できます。

ストアド・スクリプトの名前

LIST SCRIPT NAMES

CREATE SCRIPTまたはREPLACE SCRIPTコマンドを使用して作成されたリカバリ・カタログ・スクリプトの名前を表示できます。リカバリ・カタログが必要です。

データ・リカバリ・アドバイザとともに使用する場合の障害

LIST FAILURE

障害とは、修復オプションにマッピングされている永続的なデータの破損のことです。ADVISEおよびREPAIRコマンドとともにLIST FAILUREを使用する方法については、「データ・リカバリ・アドバイザを使用した障害の診断および修復」を参照してください。

LISTコマンドでは、出力の表示方法を制御できるオプションがサポートされています。表11-3に、最も一般的なLISTのオプションを示します。

表11-3 最も一般的なLISTのオプション

LISTのオプション 説明

LIST EXPIRED

RMANリポジトリに記録されているバックアップまたはコピーで、最後にクロスチェックを実行したときに、ディスクまたはテープ上の予測した位置に存在しなかったものを表示します。このようなバックアップは、RMANの外部で削除された可能性があります。

LIST ... BY FILE

各データファイル、アーカイブREDOログ・ファイル、制御ファイルおよびサーバー・パラメータ・ファイルのバックアップを表示します。各行にファイルのバックアップの説明が示されます。

LIST ... SUMMARY

各バックアップの1行のサマリーを表示します。

前述の表に、すべてのLISTオブジェクトおよびオプションが示されているわけではありません。たとえば、時間、パス名、デバイス・タイプ、タグまたはリカバリ可能性で制限されたバックアップを表示できます。

関連項目:

LISTコマンドの詳細は、Oracle Databaseバックアップおよびリカバリ・リファレンスを参照してください。

11.2.2 すべてのバックアップおよびコピーの表示

listObjListまたはrecordSpec句を使用して、目的のオブジェクトを指定します。オブジェクトを指定しないと、RMANは、すべてのデータベース・ファイルとアーカイブREDOログ・ファイルのコピーを表示します。

デフォルトでは、RMANは、各バックアップまたはプロキシ・コピーを連続して表示した後、そのバックアップに含まれているファイルを識別します。また、ファイルごとにバックアップを表示することもできます。

デフォルトでは、RMANは冗長モードで表示を行います。つまり、様々な情報を複数行にわたって表示します。冗長モードによる出力が多すぎる場合は、サマリー・モードでバックアップを表示することもできます。

すべてのバックアップおよびコピーのサマリー・レポートを表示するには、SUMMARYオプションを指定してLISTコマンドを実行します。

例11-1 すべてのバックアップのサマリー・リスト

この例に、すべてのRMANバックアップのサマリーを示します。

RMAN> list backup summary;

List of Backups
===============
Key     TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag
------- -- -- - ----------- --------------- ------- ------- ---------- ---
1       B  A  A SBT_TAPE    21-OCT-13       1       1       NO         TAG20131021T094505
2       B  F  A SBT_TAPE    21-OCT-13       1       1       NO         TAG20131021T094513
3       B  A  A SBT_TAPE    21-OCT-13       1       1       NO         TAG20131021T094624
4       B  F  A SBT_TAPE    21-OCT-13       1       1       NO         TAG20131021T094639
5       B  F  A DISK        04-NOV-13       1       1       YES        TAG20131104T195949

バックアップおよびコピーの詳細な出力を表示するには、SUMMARYオプションを指定せずにLISTコマンドを実行します。

例11-2 バックアップおよびコピーの詳細リスト

この例に、デフォルトの詳細出力でのRMANバックアップおよびコピーを示します。

RMAN> list backup;

List of Backup Sets
===================

BS Key  Size       Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ ---------------
7       136M       DISK        00:00:20     04-NOV-13      
        BP Key: 7   Status: AVAILABLE  Compressed: NO  Tag: TAG20071104T200759
        Piece Name: /d2/RDBMS/backupset/2013_11_04/o1_mf_annnn_TAG20071104T200759_ztjxx3k8_.bkp

  List of Archived Logs in backup set 7
  Thrd Seq     Low SCN    Low Time  Next SCN   Next Time
  ---- ------- ---------- --------- ---------- ---------
  1    1       173832     21-OCT-13 174750     21-OCT-13
  1    2       174750     21-OCT-13 174755     21-OCT-13
  1    3       174755     21-OCT-13 174758     21-OCT-13

BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
8       Full    2M         DISK        00:00:01     04-NOV-13      
        BP Key: 8   Status: AVAILABLE  Compressed: NO  Tag: TAG20071104T200829
        Piece Name: /disk1/oracle/dbs/c-774627068-20131104-01
  Controlfile Included: Ckp SCN: 631510       Ckp time: 04-NOV-13
  SPFILE Included: Modification time: 21-OCT-13
RMAN> list copy;

List of Datafile Copies
=======================
 
Key     File S Completion Time Ckp SCN    Ckp Time
------- ---- - --------------- ---------- ---------------
1       7    A 11-OCT-13       360072     11-OCT-13
        Name: /work/orcva/RDBMS/datafile/o1_mf_tbs_2_2lv7bf82_.dbf
        Tag: DF7COPY
 
2       8    A 11-OCT-13       360244     11-OCT-13
        Name: /work/orcva/RDBMS/datafile/o1_mf_tbs_2_2lv7qmcj_.dbf
        Tag: TAG20131011T184835
 
List of Control File Copies
===========================
 
Key     S Completion Time Ckp SCN    Ckp Time
------- - --------------- ---------- ---------------
3       A 11-OCT-13       360380     11-OCT-13
        Name: /d2/RDBMS/controlfile/o1_mf_TAG20131011T185335_2lv80zqd_.ctl
        Tag: TAG20131011T185335
 
List of Archived Log Copies for database with db_unique_name RDBMS
=====================================================================
 
Key     Thrd Seq     S Low Time
------- ---- ------- - ---------
1       1    1       A 11-OCT-13
        Name: /work/arc_dest/arcr_1_1_603561743.arc
 
2       1    2       A 11-OCT-13
        Name: /work/arc_dest/arcr_1_2_603561743.arc
 
3       1    3       A 11-OCT-13
        Name: /work/arc_dest/arcr_1_3_603561743.arc

例11-3 ファイルによるバックアップのリスト

この例に、LISTBY FILEオプションとともに使用したファイルでバックアップをリストする方法を示します。

RMAN> list backup by file;

List of Datafile Backups
========================

File Key     TY LV S Ckp SCN    Ckp Time  #Pieces #Copies Compressed Tag
---- ------- -  -- - ---------- --------- ------- ------- ---------- ---
1    5       B  F  A 631092     04-NOV-13 1       1       YES        TAG20131104T195949
     2       B  F  A 175337     21-OCT-13 1       1       NO         TAG20131021T094513
2    5       B  F  A 631092     04-NOV-13 1       1       YES        TAG20131104T195949
     2       B  F  A 175337     21-OCT-13 1       1       NO         TAG20131021T094513

... some rows omitted

List of Archived Log Backups
============================

Thrd Seq     Low SCN    Low Time  BS Key  S #Pieces #Copies Compressed Tag
---- ------- ---------- --------- ------- - ------- ------- ---------- ---
1    1       173832     21-OCT-13 7       A 1       1       NO         TAG20131104T200759
                                  1       A 1       1       NO         TAG20131021T094505
1    2       174750     21-OCT-13 7       A 1       1       NO         TAG20131104T200759
                                  1       A 1       1       NO         TAG20131021T094505
... some rows omitted
1    38      575472     03-NOV-13 7       A 1       1       NO         TAG20131104T200759
1    39      617944     04-NOV-13 7       A 1       1       NO         TAG20131104T200759


List of Controlfile Backups
===========================
CF Ckp SCN Ckp Time  BS Key  S #Pieces #Copies Compressed Tag
---------- --------- ------- - ------- ------- ---------- ---
631510     04-NOV-13 8       A 1       1       NO         TAG20131104T200829
631205     04-NOV-13 6       A 1       1       NO         TAG20131104T200432

List of SPFILE Backups
======================
Modification Time BS Key  S #Pieces #Copies Compressed Tag
----------------- ------- - ------- ------- ---------- ---
21-OCT-13         8       A 1       1       NO         TAG20131104T200829
21-OCT-13         6       A 1       1       NO         TAG20131104T200432

関連項目:

LIST出力の様々な列ヘッダーについては、Oracle Databaseバックアップおよびリカバリ・リファレンスを参照してください。

11.2.3 選択したバックアップおよびコピーの表示

様々な条件を指定して、LIST出力を制限できます。

選択したバックアップおよびコピーを表示するには:

  1. RMANを起動し、ターゲット・データベースおよびリカバリ・カタログ(使用している場合)に接続します。
  2. listObjListまたはrecordSpec句を指定して、LIST COPYまたはLIST BACKUPを実行します。たとえば、次のいずれかのコマンドを実行します。
    # lists backups of all files in database
    LIST BACKUP OF DATABASE; 
    # lists copy of specified datafile    
    LIST COPY OF DATAFILE 'ora_home/oradata/trgt/system01.dbf'; 
    # lists specified backup set
    LIST BACKUPSET 213; 
    # lists datafile copy
    LIST DATAFILECOPY '/tmp/tools01.dbf';

    maintQualifierまたはRECOVERABLE句を指定して、検索を制限することもできます。たとえば、次のいずれかのコマンドを実行します。

    # specify a backup set by tag
    LIST BACKUPSET TAG 'weekly_full_db_backup';
    # specify a backup or copy by device type
    LIST COPY OF DATAFILE 'ora_home/oradata/trgt/system01.dbf' DEVICE TYPE sbt;
    # specify a backup by directory or path
    LIST COPY LIKE '/tmp/%';
    # specify a backup or copy by a range of completion dates
    LIST COPY OF DATAFILE 2 COMPLETED BETWEEN '10-DEC-2012' AND '17-DEC-2012';
    # specify logs backed up at least twice to tape
    LIST ARCHIVELOG ALL BACKED UP 2 TIMES TO DEVICE TYPE sbt;
    # specify backup sets backed up at least once to disk
    LIST BACKUPSET BACKED UP 1 TIMES TO DISK;
    # specify backups of PDB backed up at least twice to sbt
    LIST BACKUP OF PLUGGABLE DATABASE my_pdb BACKED UP 2 TIMES TO SBT;
  3. 出力を確認します。

出力は、LISTコマンドに指定したオプションによって異なります。たとえば、次のコマンドでは、バックアップ・セットに含まれるデータファイル1のコピーが表示されます。

RMAN> LIST BACKUP OF DATAFILE 1;

List of Backup Sets
===================

BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
2       Full    230M       SBT_TAPE    00:00:49     21-OCT-13
        BP Key: 2   Status: AVAILABLE  Compressed: NO  Tag: TAG20131021T094513
        Handle: 02f4eatc_1_1   Media: /smrdir
  List of Datafiles in backup set 2
  File LV Type Ckp SCN    Ckp Time  Name
  ---- -- ---- ---------- --------- ----
  1       Full 175337     21-OCT-13 /oracle/dbs/tbs_01.f

BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
5       Full    233M       DISK        00:04:30     04-NOV-13
        BP Key: 5   Status: AVAILABLE  Compressed: NO  Tag: TAG20131104T195949
        Piece Name: /disk1/2013_11_04/o1_mf_nnndf_TAG20131104T195949_ztjxfvgz_.bkp
  List of Datafiles in backup set 5
  File LV Type Ckp SCN    Ckp Time  Name
  ---- -- ---- ---------- --------- ----
  1       Full 631092     04-NOV-13 /oracle/dbs/tbs_01.f

関連項目:

11.2.4 プリプラグイン・バックアップの表示

LISTコマンドを使用して、プリプラグイン・バックアップおよびプリプラグイン・アーカイブREDOログ・ファイルを表示します。

ターゲットCDBのCOMPATIBLEパラメータは、18.0.0以上に設定する必要があります。
  1. RMANを開始し、SYSDBAまたはSYSBACKUP権限を持つ共通ユーザーとしてターゲット・データベースのrootに接続します。リカバリ・カタログが使用されている場合は、リカバリ・カタログに接続します。
  2. ターゲットCDBが読取り/書込みまたは読取り専用モードになっていることを確認します。
  3. 現在のコンテナを、SETコマンドを使用してバックアップ・オブジェクトを表示するPDBに設定します。

    次のコマンドは、現在のコンテナをmy_pdbに設定します。

    SET PREPLUGIN CONTAINER = my_pdb;
  4. listObjListまたはrecordSpec句を指定して、LIST PREPLUGINコマンドを実行して、プリプラグイン・バックアップを表示します。

    PDBのプリプラグイン・バックアップを表示するには、次のコマンドを使用します。

    LIST PREPLUGIN BACKUP OF PLUGGABLE DATABASE pdb1;

    ターゲットCDB内のすべてのプリプラグイン・アーカイブREDOログ・ファイルを表示するには、次のコマンドを使用します。

    LIST PREPLUGIN ARCHVELOG ALL;

11.2.5 データベース・インカネーションの表示

データベースに対してOPEN RESETLOGS操作を実行するたびに、新しいデータベース・インカネーションが作成されます。

増分バックアップの実行時、RMANは、前回のインカネーションまたは現行のインカネーションからのバックアップを、後続の増分バックアップの基礎として使用できます。リストアおよびリカバリ操作の実行時、すべてのアーカイブ・ログが使用可能であれば、RMANは、現行のインカネーションからのバックアップを使用するのと同様に、前回のインカネーションからのバックアップを使用できます。

データベース・インカネーションを表示するには:

  1. RMANを起動し、ターゲット・データベースおよびリカバリ・カタログ(使用している場合)に接続します。
  2. 次の例に示すように、LIST INCARNATIONコマンドを実行します。
    LIST INCARNATION;
    

    リカバリ・カタログを使用している場合、および同じカタログに複数のターゲット・データベースを登録している場合は、OF DATABASEオプションを使用して、それらを区別することができます。

    LIST INCARNATION OF DATABASE prod3;
    

    次に、特定データベースのインカネーションのリストのサンプル出力を示します。

    RMAN> LIST INCARNATION OF DATABASE rdbms;
    
    List of Database Incarnations
    DB Key  Inc Key DB Name  DB ID            STATUS  Reset SCN  Reset Time
    ------- ------- -------- ---------------- ------  ---------- ----------
    1       1       RDBMS    774627068        PARENT  1          21-OCT-13
    2       2       RDBMS    774627068        CURRENT 173832     21-OCT-13
    

    この出力例では、RESETLOGS操作が、SCN 173832でデータベースrdbmsに対して実行され、新しいインカネーションが作成されたことが示されています。インカネーションは、インカネーション・キー(Inc Key列)で区別されます。

    関連項目:

11.3 バックアップおよびデータベース・スキーマに関するレポート

RMANのREPORTコマンドを使用すると、使用可能なバックアップおよびデータベースが分析されます。

この項では、次の項目について説明します。

11.3.1 RMANバックアップに関するレポート

REPORTコマンドは、RMANバックアップの様々なレポートを提供します。

REPORTコマンドを使用すると、次の重要な質問に回答することができます。

  • バックアップが必要なファイルはどれですか。

  • リカバリ不能な操作を実行したファイルはどれですか。

  • 不要なため削除可能なバックアップはどれですか。

  • 過去のある時点でのターゲット・データベースまたはData Guard環境のデータベースの物理スキーマは何ですか。

  • 最近バックアップされていないファイルはどれですか。

レポートを使用すると、バックアップおよびリカバリ計画が実際にデータベースのリカバリ可能性の要件を満たしていることを確認できます。データベースがリカバリ可能であるかどうかを判断するために使用するREPORTには、主に次の2つの形式があります。

  • REPORT NEED BACKUP

    構成済の保存方針または指定した保存方針を満たすためにバックアップする必要があるデータベース・ファイルがレポートされます。

  • REPORT UNRECOVERABLE

    ダイレクト・パス・インサートなどのNOLOGGING操作の影響を受けているためバックアップを必要とするデータベース・ファイルがレポートされます。

RMANリポジトリには、REPORTコマンドを使用してアクセスできる他の情報が含まれています。次の表に、REPORTのオプションを示します。

表11-4 REPORTのオプション

レポートの内容 コマンド 説明

不要なバックアップ

REPORT OBSOLETE

RMANリポジトリに記録され、不要になったため削除できる全体バックアップ、データファイルのコピーおよびアーカイブREDOログ

データベース・スキーマ

REPORT SCHEMA

指定時点でのターゲット・データベースのすべてのデータファイル(永続および一時)と表領域の名前。Data Guard環境でRMANを使用する場合は、指定したDB_UNIQUE_NAMEのスキーマをレポートできます。

関連項目:

REPORTコマンドの詳細は、Oracle Databaseバックアップおよびリカバリ・リファレンスを参照してください。

11.3.2 保存方針に基づくバックアップが必要なファイルに関するレポート

REPORT NEED BACKUPコマンドを使用して、特定の保存方針に基づくバックアップが必要なデータベース・ファイルを判断します。

引数を指定せずにREPORT NEED BACKUPを実行すると、現行の保存方針でバックアップが必要なオブジェクトがレポートされます。REDUNDANCY 1に設定されている構成済の保存方針の出力は、次の例のようになります。

RMAN> REPORT NEED BACKUP;

RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
Report of files with less than 1 redundant backups
File #bkps Name
---- ----- -----------------------------------------------------
2    0     /oracle/oradata/trgt/undotbs01.dbf

ノート:

CONFIGURE RETENTION POLICY TO NONEを使用して保存方針を無効にしている場合、REPORT NEED BACKUPはエラー・メッセージを戻します。これは、保存方針がないと、RMANはバックアップする必要のあるファイルを決定できないためです。

11.3.2.1 様々な保存方針でのRecovery ManagerのREPORT NEED BACKUPの使用

REPORT NEED BACKUPコマンドのオプションを使用すると、様々な保存方針を指定できます。

次のいずれかの形式を使用して、REPORT NEED BACKUPに様々な条件を指定します。

  • REPORT NEED BACKUP RECOVERY WINDOW OF n DAYS

    バックアップがリカバリ期間ベースの保存方針を満たす必要があるオブジェクトが表示されます

  • REPORT NEED BACKUP REDUNDANCY n

    バックアップが冗長性ベースの保存方針を満たす必要があるオブジェクトが表示されます

  • REPORT NEED BACKUP DAYS n

    リカバリ用にn日分より多いアーカイブREDOログを必要とするファイルが表示されます

  • REPORT NEED BACKUP INCREMENTAL n

    リカバリ用にn個より多い増分バックアップの適用を必要とするファイルが表示されます

11.3.2.2 表領域およびデータファイルでのRMAN REPORT NEED BACKUPの使用

REPORT NEED BACKUPコマンドを使用して、データベース全体の確認、指定された表領域のスキップ、または様々な保存方針に対する特定の表領域またはデータファイルのみの確認を行うことができます。

次に例を示します。

REPORT NEED BACKUP RECOVERY WINDOW OF 2 DAYS DATABASE SKIP TABLESPACE TBS_2;
REPORT NEED BACKUP REDUNDANCY 2 DATAFILE 1;
REPORT NEED BACKUP TABLESPACE TBS_3; # uses configured retention policy
REPORT NEED BACKUP INCREMENTAL 2; # checks entire database

関連項目:

REPORT NEED BACKUPの使用可能なすべてのオプションおよび出力の様々な列ヘッダーについては、Oracle Databaseバックアップおよびリカバリ・リファレンスを参照してください。

11.3.2.3 テープまたはディスク上のバックアップのみでのREPORT NEED BACKUPの使用

REPORT NEED BACKUPコマンドでテストするバックアップをディスクベースまたはテープベースのバックアップのみに制限できます。

たとえば、次のように指定します。

REPORT NEED BACKUP RECOVERY WINDOW OF 2 DAYS DATABASE DEVICE TYPE sbt;
REPORT NEED BACKUP DEVICE TYPE DISK;
REPORT NEED BACKUP TABLESPACE TBS_3 DEVICE TYPE sbt; 

11.3.3 リカバリ不能な操作によって影響を受けるデータファイルに関するレポート

ダイレクト・ロード・インサートなどのリカバリ不能な操作によってデータファイルが変更されている場合、リカバリ不能な操作ではREDOが生成されないため、通常のメディア・リカバリを使用してファイルをリカバリすることはできません。このような操作の後に影響を受けるデータファイルの全体バックアップまたは増分バックアップのいずれかを実行して、リカバリ不能な操作の影響を受けるデータ・ブロックをRMANを使用してリカバリできるようにする必要があります。

リカバリ不能な操作の影響を受けるデータファイルを識別するには:

  1. RMANを起動し、ターゲット・データベースおよびリカバリ・カタログ(使用している場合)に接続します。
  2. REPORT UNRECOVERABLEコマンドを実行します。

    出力例を次に示します。

    RMAN> REPORT UNRECOVERABLE;
    
    Report of files that need backup due to unrecoverable operations
    File Type of Backup Required Name
    ---- ----------------------- -----------------------------------
    1    full                    /oracle/oradata/trgt/system01.dbf

11.3.4 不要なバックアップに関するレポート

OBSOLETEキーワードを指定すると、不要な(指定した保存方針を満たす必要がない)バックアップ・セット、バックアップ・ピースおよびデータファイルのコピーをレポートできます。

不要なバックアップをレポートするには:

  1. RMANを起動し、ターゲット・データベースおよびリカバリ・カタログ(使用している場合)に接続します。
  2. CROSSCHECKコマンドを実行して、ディスク上のバックアップのステータスと比較してリポジトリのバックアップのステータスを更新します。

    最も簡単な方法としては、次のいずれかのコマンドを使用して、ディスクまたはテープ(あるいはその両方)上のすべてのバックアップをクロスチェックすることができます。

    CROSSCHECK BACKUP DEVICE TYPE DISK;
    CROSSCHECK BACKUP DEVICE TYPE sbt;
    CROSSCHECK BACKUP; # crosschecks all backups on all devices 
    
  3. REPORT OBSOLETEを実行して、リカバリの必要がなくなったために不要となったバックアップを識別します。

    他のオプションを指定せずにREPORT OBSOLETEを実行すると、現行の保存方針で不要とみなされるバックアップが表示されます。次に例を示します。

    RMAN> REPORT OBSOLETE;
    
    RMAN retention policy will be applied to the command
    RMAN retention policy is set to redundancy 1
    Report of obsolete backups and copies
    Type                 Key    Completion Time    Filename/Handle
    -------------------- ------ ------------------ --------------------
    Datafile Copy        44     08-FEB-13          /backup/ora_df549738566_s70_s1
    Datafile Copy        45     08-FEB-13          /backup/ora_df549738567_s71_s1
    Datafile Copy        46     08-FEB-13          /backup/ora_df549738568_s72_s1
    Backup Set           26     08-FEB-13
      Backup Piece       26     08-FEB-13          /backup/ora_df549738682_s76_s1
    .
    .
    .
    

    RECOVERY WINDOWおよびREDUNDANCYオプションを指定してREPORT OBSOLETEを使用することによって、様々なリカバリ期間ベースまたは冗長性ベースの保存方針に基づいて不要とみなされるバックアップを確認できます。次に例を示します。

    REPORT OBSOLETE RECOVERY WINDOW OF 3 DAYS;
    REPORT OBSOLETE REDUNDANCY 1;

関連項目:

11.3.5 データベース・スキーマに関するレポート

REPORT SCHEMAコマンドを実行すると、データベース・ファイル、表領域などに関する情報が表示されます。

データベース・スキーマに関してレポートするには:

FOR DB_UNIQUE_NAMEREPORT SCHEMAとともに指定しない場合、リカバリ・カタログ接続は任意ですが、ターゲット・データベース接続は必須です。Data Guard環境では、REPORT SCHEMA FOR DB_UNIQUE_NAMEを指定して環境内のデータベースのスキーマをレポートできます。この場合、RMANをターゲット・データベースに接続する必要はありません。かわりに、RMANをリカバリ・カタログに接続し、DBIDを設定できます。

  1. RMANを起動し、対象となるデータベースに接続します。
  2. 前のステップでRMANをターゲット・データベースに接続しておらず、REPORT SCHEMAFOR DB_UNIQUE_NAME句を指定する場合は、データベースDBIDを設定します。たとえば、次のコマンドを入力します。
    RMAN> SET DBID 28014364;
    
  3. 次の例に示すように、REPORT SCHEMAコマンドを実行します。
    RMAN> REPORT SCHEMA;
     
    Report of database schema for database with db_unique_name DGRDBMS
     
    List of Permanent Datafiles
    ===========================
    File Size(MB) Tablespace           RB segs Datafile Name
    ---- -------- -------------------- ------- ------------------------
    1    450      SYSTEM               YES     /disk1/oracle/dbs/t_db1.f
    2    141      SYSAUX               NO      /disk1/oracle/dbs/t_ax1.f
    3    50       UD1                  YES     /disk1/oracle/dbs/t_undo1.f
    4    50       TBS_11               NO      /disk1/oracle/dbs/tbs_111.f
    5    50       TBS_11               NO      /disk1/oracle/dbs/tbs_112.f
     
    List of Temporary Files
    =======================
    File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
    ---- -------- -------------------- ----------- --------------------
    1    40       TEMP                 32767       /disk1/oracle/dbs/t_tmp1.f
    

    リカバリ・カタログを使用すると、atClauseを使用して、過去の時刻、SCNまたはログ順序番号を指定できます。次に例を示します。

    RMAN> REPORT SCHEMA AT TIME 'SYSDATE-14';     # schema 14 days ago
    RMAN> REPORT SCHEMA AT SCN 1000;              # schema at scn 1000
    RMAN> REPORT SCHEMA AT SEQUENCE 100 THREAD 1; # schema at sequence 100
    RMAN> REPORT SCHEMA FOR DB_UNIQUE_NAME standby1; # schema for database standby1

    関連項目:

    REPORT SCHEMAの出力については、Oracle Databaseバックアップおよびリカバリ・リファレンスを参照してください。

11.4 CDBおよびPDBのレポート

マルチテナント・コンテナ・データベース(CDB)、ルートのみまたは1つ以上のプラガブル・データベース(PDB)に関連するメタデータについてのレポートを表示できます。

非CDBに関するレポートの概念とプラクティスは、次の項で説明する相違点を除き、CDBとPDBに適用されます。

11.4.1 CDBのレポート

CDBの情報のレポートを表示するステップは、非CDBでのステップと同様です。唯一の違いは、共通のSYSBACKUPまたは共通のSYSDBA権限を持つ共通ユーザーとしてrootに接続する必要があるということです。

LISTおよびLIST BACKUP OFコマンドによって、CDB全体のバックアップを表示します。REPORT NEED BACKUP TABLESPACEコマンドによって、バックアップが必要なrootの表領域についての情報が表示されます。

rootに接続すると、次のコマンドによって、バックアップが必要なCDBのすべてのデータファイルが表示されます。

REPORT NEED BACKUP;

rootに接続すると、このコマンドによって、CDB全体のバックアップのサマリー・リストが提供されます。

LIST BACKUP SUMMARY;

11.4.2 PDBのレポート

次の方法のいずれかを使用して、PDBのレポート情報を表示します。

  • rootに接続して、LIST ... PLUGGABLE DATABASEまたはREPORT PLUGGABLE DATABASEコマンドを使用します。この方法では、1つ以上のPDBに関する情報を表示できます。

    rootに接続すると、次のコマンドによって、PDB hr_pdbおよびsales_pdbのバックアップの詳細リストが提供されます。

    LIST BACKUP OF PLUGGABLE DATABASE hr_pdb, sales_pdb;
    
  • PDBに接続して、LIST BACKUPまたはREPORTコマンドを使用します。この方法では、1つのPDBのみの情報を表示し、非CDBに使用するコマンドと同じコマンドを使用します。

    特定のPDBに接続すると、次のコマンドによって、バックアップが必要なPDBのすべてのデータファイルが表示されます。

    REPORT NEED BACKUP; 
    

    PDBに接続すると、不要なバックアップに関する情報のレポートの表示や不要なバックアップを削除することはできません。

11.4.2.1 削除されたPDBのバックアップの表示

GUIDオプションを指定してLISTコマンドを使用して、マルチテナント・コンテナ・データベース(CDB)から削除されたプラガブル・データベース(PDB)のバックアップを表示します。

PDBの削除後は、そのPDB名を使用して操作の実行やデータ・ディクショナリ・ビューの問合せを行えません。ただし、PDBのGUIDを使用して問い合せると、削除されたPDBに関する情報を取得できます。

削除されたPDBのバックアップを表示するには:

  1. SYSDBA権限またはSYSBACKUP権限を持つ共通ユーザーとして、rootに接続します。
  2. DBA_PDB_HISTORYビューを問い合せて、削除されたPDBのGUIDを確認します。

    次の例は、test_dbというCDBから削除されたPDBを表示します。

    SELECT pdb_name, pdb_guid FROM dba_pdb_history
    WHERE db_name = 'test_db';
  3. GUIDオプションを指定してLISTコマンドを使用して、削除されたPDBのバックアップを表示します。

    次のコマンドは、指定したGUIDを持つ削除されたPDBのバックアップ・セットおよびイメージ・コピーを表示します。

    LIST BACKUP GUID 'CDFFD672330A7527D0147204CD0E08D4';
    LIST COPY GUID 'CDFFD672330A7527D0147204CD0E08D4';
    

11.5 V$ビューを使用したバックアップ・メタデータの問合せ

LISTおよびREPORTコマンドでは表示できない情報がV$ビューに表示される場合があります。

この項では、V$ビューが特に役立つ場合について説明します。この項の内容は次のとおりです。

11.5.1 過去および現行のRMANジョブの詳細の問合せ

RMANジョブは、RMANセッションで実行されるコマンドのセットです。したがって、1つのRMANジョブに複数のコマンドを含めることができます。

たとえば、2つの別々のコマンドBACKUPおよびRECOVER COPYを、1つのセッションで実行できます。RMANバックアップ・ジョブは、1つのRMANジョブで実行されるBACKUPコマンドのセットです。たとえば、同じRMANジョブで実行されるBACKUP DATABASEおよびBACKUP ARCHIVELOG ALLコマンドで、1つのRMANバックアップ・ジョブが構成されます。

V$RMAN_BACKUP_JOB_DETAILSV$RMAN_BACKUP_SUBJOB_DETAILSの各ビューおよびこれらに対応するリカバリ・カタログのバージョンによって、RMANバックアップ・ジョブの詳細が提供されます。たとえば、これらのビューには、バックアップにかかった時間、発行されたバックアップ・ジョブの数、各バックアップ・ジョブのステータス(失敗したか完了したかなど)、ジョブの開始日時と終了日時、および実行されたバックアップのタイプが表示されます。SESSION_KEY列は、バックアップ・ジョブが発生したRMANセッションの一意のキーです。

多くの場合、RMANによるバックアップでは、書込みを読取りほど行いません。RMANによる圧縮のため、OUTPUT_BYTES_PER_SEC列をバックアップ速度の測定には使用できません。バックアップ速度の測定に適した列はINPUT_BYTES_PER_SECです。読取りデータと書込みデータの比率はCOMPRESSION_RATIO列に示されます。

過去および現行のRMANジョブの詳細を問い合せるには:

  1. 問い合せるバックアップ履歴を持つデータベースにSQL*Plusを接続します。
  2. バックアップのタイプ、ステータスおよび開始日時と終了日時についての情報を表示するためにV$RMAN_BACKUP_JOB_DETAILSビューを問い合せます。

    次の問合せによって、バックアップ・ジョブの履歴が、RMANセッションの主キーであるセッション・キーの順序で表示されます。

    COL STATUS FORMAT a9
    COL hrs    FORMAT 999.99
    SELECT SESSION_KEY, INPUT_TYPE, STATUS,
           TO_CHAR(START_TIME,'mm/dd/yy hh24:mi') start_time,
           TO_CHAR(END_TIME,'mm/dd/yy hh24:mi')   end_time,
           ELAPSED_SECONDS/3600                   hrs
    FROM V$RMAN_BACKUP_JOB_DETAILS
    ORDER BY SESSION_KEY;
    

    次に、バックアップ・ジョブの履歴の出力例を示します。

    SESSION_KEY INPUT_TYPE    STATUS    START_TIME     END_TIME           HRS
    ----------- ------------- --------- -------------- -------------- -------
              9 DATAFILE FULL COMPLETED 04/18/07 18:14 04/18/07 18:15     .02
             16 DB FULL       COMPLETED 04/18/07 18:20 04/18/07 18:22     .03
            113 ARCHIVELOG    COMPLETED 04/23/07 16:04 04/23/07 16:05     .01
    
  3. RMANセッションのバックアップ・ジョブの割合を表示するためにV$RMAN_BACKUP_JOB_DETAILSビューを問い合せます。

    次の問合せによって、バックアップ・ジョブの速度が、RMANセッションの主キーであるセッション・キーの順序で表示されます。列in_secおよびout_secに、1秒当たりのデータの入力と出力が表示されます。

    COL in_sec FORMAT a10
    COL out_sec FORMAT a10
    COL TIME_TAKEN_DISPLAY FORMAT a10
    SELECT SESSION_KEY, 
           OPTIMIZED, 
           COMPRESSION_RATIO, 
           INPUT_BYTES_PER_SEC_DISPLAY in_sec,
           OUTPUT_BYTES_PER_SEC_DISPLAY out_sec, 
           TIME_TAKEN_DISPLAY
    FROM   V$RMAN_BACKUP_JOB_DETAILS
    ORDER BY SESSION_KEY;
    

    次に、バックアップ・ジョブの速度の出力例を示します。

    SESSION_KEY OPT COMPRESSION_RATIO IN_SEC     OUT_SEC    TIME_TAKEN
    ----------- --- ----------------- ---------- ---------- ----------
              9 NO                  1     8.24M      8.24M  00:01:14
             16 NO         1.32732239     6.77M      5.10M  00:01:45
            113 NO                  1     2.99M      2.99M  00:00:44
    
  4. RMANセッションのバックアップのサイズを表示するためにV$RMAN_BACKUP_JOB_DETAILSビューを問い合せます。

    BACKUP DATABASEを実行すると、V$RMAN_BACKUP_JOB_DETAILS.OUTPUT_BYTESによって、バックアップ中のデータベースのバックアップ・ジョブによって書き込まれるバックアップ・セットの合計サイズが表示されます。登録されているすべてのデータベースのバックアップ・セットのサイズを表示するには、V$RMAN_BACKUP_JOB_DETAILSを問い合せます。

    次の問合せでは、バックアップ・ジョブのサイズとスループットが、RMANセッションの主キーであるセッション・キーの順序で表示されます。列in_sizeおよびout_sizeに、1秒当たりのデータの入力と出力が表示されます。

    COL in_size  FORMAT a10
    COL out_size FORMAT a10
    SELECT SESSION_KEY, 
           INPUT_TYPE,
           COMPRESSION_RATIO, 
           INPUT_BYTES_DISPLAY in_size,
           OUTPUT_BYTES_DISPLAY out_size
    FROM   V$RMAN_BACKUP_JOB_DETAILS
    ORDER BY SESSION_KEY;
    

    次に、バックアップ・ジョブのサイズの出力例を示します。

    SESSION_KEY INPUT_TYPE    COMPRESSION_RATIO IN_SIZE    OUT_SIZE
    ----------- ------------- ----------------- ---------- ----------
             10 DATAFILE FULL                 1   602.50M    602.58M
             17 DB FULL              1.13736669   634.80M    558.13M

関連項目:

V$RMAN_BACKUP_JOB_DETAILSビューについて学習するには、Oracle Databaseリファレンスを参照してください。

11.5.2 バックアップ・ピースの暗号化ステータスの確認

V$BACKUP_PIECEビューおよびV$RMAN_BACKUP_PIECEビューのENCRYPTED列は、バックアップ・ピースが暗号化されているか(YES)、暗号化されていないか(NO)を示します。

たとえば、SQL*Plusで次の問合せを実行すると、暗号化されているバックアップ・ピースを確認できます。

COL BS_REC    FORMAT 99999
COL BP_REC    FORMAT 99999
COL MB        FORMAT 9999999
COL ENCRYPTED FORMAT A7
COL TAG       FORMAT A25

SELECT S.RECID AS "BS_REC", P.RECID AS "BP_REC", P.ENCRYPTED, 
       P.TAG, P.HANDLE AS "MEDIA_HANDLE"
FROM   V$BACKUP_PIECE P, V$BACKUP_SET S
WHERE  P.SET_STAMP = S.SET_STAMP
AND    P.SET_COUNT = S.SET_COUNT;

次に、バックアップが暗号化されていることを示す出力例を示します。

BS_REC BP_REC ENCRYPT TAG
------ ------ ------- -------------------------
MEDIA_HANDLE
--------------------------------------------------------------------------------
     1      1 YES     TAG20070711T140124
/disk1/c-39525561-20070711-00
 
     2      2 YES     TAG20070711T140128
/disk1/c-39525561-20070711-01
 
     3      3 YES     TAG20070711T140130
/disk1/c-39525561-20070711-02

関連項目:

V$BACKUP_PIECEビューについて学習するには、Oracle Databaseリファレンスを参照してください。

11.6 リカバリ・カタログ・ビューの問合せ

LISTREPORTおよびSHOWコマンドを使用すると、制御ファイルおよびリカバリ・カタログ内のデータに簡単にアクセスできます。

また、リカバリ・カタログ・ビューから有効な情報を取得できる場合もあります。リカバリ・カタログ・ビューとは、リカバリ・カタログ・スキーマ内に存在するRC_接頭辞が付いたビューのことです。

この項では、次の項目について説明します。

11.6.1 リカバリ・カタログ・ビュー

RMANは、ターゲット・データベースの制御ファイルからバックアップおよびリカバリのメタデータを取得し、リカバリ・カタログの表に格納します。リカバリ・カタログ・ビューは、これらの表から導出されます。リカバリ・カタログ・ビューは、ユーザーによる問合せに対して正規化または最適化されていません。

通常、リカバリ・カタログ・ビューは、RMANのレポート・コマンドほど簡単に使用できません。たとえば、RMANを起動してターゲット・データベースに接続した場合、LISTREPORTおよびSHOWコマンドを発行するのみでこのターゲット・データベースの情報を取得できます。同じリカバリ・カタログに10個の異なるターゲット・データベースを登録している場合、カタログ・ビューの問合せによって、10個すべてのデータベースのすべてのインカネーションのメタデータが表示されます。多くの場合、ビュー間で複雑な選択および結合を実行して、データベース・インカネーションに関する使用可能な情報を抽出する必要があります。

ほとんどのカタログ・ビューには、対応するV$がデータベース内に存在します。たとえば、 RC_BACKUP_PIECEV$BACKUP_PIECEに対応しています。リカバリ・カタログ・ビューと対応するV$ビューとの主な違いとしては、各リカバリ・カタログ・ビューにはリカバリ・カタログに登録されているすべてのターゲット・データベースに関するメタデータが含まれていることがあげられます。V$には、ビュー自体の情報のみが含まれています。

関連項目:

リカバリ・カタログ・ビューの詳細は、Oracle Databaseバックアップおよびリカバリ・リファレンスを参照してください。

11.6.1.1 登録されているデータベースの一意の識別子について

ほとんどのリカバリ・カタログ・ビューには、列DB_KEYおよびDBINC_KEYが含まれています。リカバリ・カタログに登録されている各データベースは、主キー(DB_KEY列値)またはDBID(32ビットの一意のデータベース識別子)のいずれかによって一意に識別できます。データベースの各インカネーションは、DBINC_KEY列によって一意に識別されます。

DB_KEYおよびDBINC_KEYを使用すると、ターゲット・データベースの特定のインカネーションのレコードを取得できます。その後、他のほとんどのカタログ・ビューとの結合を実行して、このインカネーションに属するレコードを分離できます。

カタログ・ビューとV$ビューとの主な違いとしては、バックアップ・ファイルおよびリカバリ・ファイルに使用される一意の識別子の形式が異なることがあげられます。たとえば、V$ARCHIVED_LOGなどの多くのV$ビューでは、RECID列およびSTAMP列によって連結主キーが構成されます。対応するリカバリ・カタログ・ビューでは、導出された値が主キーとして使用され、この値は単一の列に格納されます。たとえば、RC_ARCHIVED_LOGの主キーはAL_KEY列です。AL_KEYの列値は、LISTコマンドの出力に表示される主キーです。

11.6.1.2 Data Guard環境の一意の識別子について

Data Guard環境でリカバリ・カタログを問い合せる場合は、特別な考慮事項が適用されます。

Data Guard環境では、複数のデータベースで同じDBIDが共有されます。複数のビューに、(レコードが含まれているデータベース・インカネーションのDB_UNIQUE_NAMEを示す)DB_UNIQUE_NAME列が含まれています。Data Guard環境のすべてのデータベースで同じDBIDが共有されますが、DB_UNIQUE_NAMEの値は異なります。

データベース名がカタログで認識されない場合は、リカバリ・カタログに登録されているOracle9iデータベースの場合と同様に、DB_UNIQUE_NAMEの値はnullになります。また、データベースをOracle Database 11g以降にアップグレードしても、リカバリ・カタログのスキーマとすべてのファイルのデータベース名が一致していない場合、列値はnullになります。

リカバリ・カタログ・ビューでは、プライマリ・データベースとスタンバイ・データベースは同じDB_KEYを共有します。ただし、Data Guard環境のすべてのデータベースに、一意のRC_SITE.SITE_KEY値があります。たとえば、プライマリ・データベースprodおよびスタンバイ・データベースstandby1の両方に値が1のDB_KEYがある場合がありますが、prodSITE_KEYは3で、standby1SITE_KEYは30です。

一部のリカバリ・カタログ・ビューには、DB_UNIQUE_NAME列はありませんが、SITE_KEY列はあります。SITE_KEY列を使用してRC_SITE.SITE_KEYと結合し、ファイルに関連付けられているデータベースのDB_UNIQUE_NAMEを決定できます。「Data Guard環境でのRMANによるファイル管理について」で説明されているように、Data Guard環境では、すべてのファイルがそのファイルを作成したプライマリ・データベースまたはスタンバイ・データベースに関連付けられています。

関連項目:

Data Guard環境でのファイルのレポート方法および管理方法を学習するには、Oracle Data Guard概要および管理を参照してください。

11.6.2 カタログ・ビューへのターゲットDB_KEY値またはDBID値の問合せ

DB_KEY値は、登録されているデータベースの主キーであり、リカバリ・カタログでのみ使用されます。DB_KEYを取得する最も簡単な方法は、ターゲット・データベースのDBIDを使用する方法です。このDBIDは、RMANをTARGETとしてデータベースに接続するたびに表示されます。

DBIDによって、RMANのリカバリ・カタログ内に登録されているデータベースが識別されます。

リカバリ・カタログに登録されているデータベースに関する情報を取得すると想定します。

データベースの現行のインカネーションに関する情報をカタログに問い合せるには:

  1. レコードを表示するデータベースのDBIDを確認します。

    DBIDは、RMANをデータベースに接続したときに表示される出力を参照するか、V$RMAN_OUTPUTを問い合せるか、またはV$DATABASEビューを問い合せることによって取得できます。次の例では、SQL*Plusを目的のデータベースに接続してDBIDを問い合せます。

    SQL> CONNECT / AS SYSBACKUP
    SQL> SELECT DBID 
      2  FROM   V$DATABASE;
    
         DBID
    ---------
    598368217
    
  2. SQL*Plusを起動し、リカバリ・カタログの所有者としてリカバリ・カタログ・データベースに接続します。
  3. ステップ1で取得したDBIDを持つデータベースのデータベース・キーを取得します。

    データベースのDB_KEYを取得するには、次の問合せを実行します。ここで、dbid_of_targetは、ステップ1で取得したDBIDです。

    SELECT DB_KEY 
    FROM   RC_DATABASE 
    WHERE  DBID = dbid_of_target;
    
  4. ステップ1でDBIDを取得したデータベースの現行のインカネーションのレコードを問い合せます。

    ターゲット・データベースの現行のインカネーションに関する情報を取得するには、ターゲット・データベースのDB_KEY値を指定し、RC_DATABASE_INCARNATIONビューとの結合を実行します。WHERE条件を使用して、CURRENT_INCARNATION列値がYESである条件を指定します。たとえば、DB_KEY値を1に指定して、ターゲット・データベースの現行のインカネーションに設定されたバックアップ・セットに関する情報を取得するには、次の問合せを実行します。

    SELECT BS_KEY, BACKUP_TYPE, COMPLETION_TIME
    FROM   RC_DATABASE_INCARNATION i, RC_BACKUP_SET b
    WHERE  i.DB_KEY = 1
    AND    i.DB_KEY = b.DB_KEY
    AND    i.CURRENT_INCARNATION = 'YES';

関連項目:

11.6.3 RC_BACKUP_FILESの問合せ

ビューRC_BACKUP_FILESに対しては、リカバリ・カタログに登録されているデータベースのすべてのバックアップに関する情報を問い合せることができます。ただし、RC_BACKUP_FILESを問い合せる前に、DBMS_RCVMAN.SETDATABASEプロシージャをコールする必要があります。

次の例に示すように、リカバリ・カタログに登録されたデータベースのDBIDを指定します。

SQL> CALL DBMS_RCVMAN.SETDATABASE(null,null,null,2283997583);

4番目のパラメータは、リカバリ・カタログに登録されているデータベースのDBIDにする必要があります。その他のパラメータは、すべてNULLにする必要があります。

関連項目: