この章では、RMAN操作に関してレポートする方法について説明します。この章の内容は次のとおりです。
この項では、RMANレポートの目的および基本的な概念について説明します。
バックアップおよびリカバリ計画の一部として、バックアップした内容を示すレポートを定期的に実行する必要があります。バックアップが必要なデータファイルまたは最近バックアップされていないファイルを確認しておく必要があります。また、問題発生時にRMANでリストアする必要があるバックアップをプレビューすることもできます。
バックアップおよびリカバリのもう1つ重要な側面は、領域の使用状況の監視です。ディスクにバックアップする場合は、そのディスクが一杯になる可能性があるため、パフォーマンス上の問題が発生したり、データベースが停止することもあります。RMANを使用すると、バックアップが不要なバックアップで、削除可能かどうかを確認できます。
また、RMANジョブについての履歴情報を取得する必要がある場合もあります。たとえば、発行されたバックアップ・ジョブの数、各バックアップ・ジョブのステータス(失敗したか完了したかなど)、ジョブの開始日時と終了日時、および実行されたバックアップのタイプについて確認する必要がある場合があります。
RMANは、操作の実行対象となる各ターゲット・データベースの制御ファイルに、メタデータのRMANリポジトリを常に格納します。たとえば、RMANを使用して、prod1
およびprod2
データベースをバックアップするとします。RMANは、prod1
のバックアップ用メタデータをprod1
の制御ファイルに、prod2
のバックアップ用メタデータをprod2
の制御ファイルに格納します。
必要に応じて、リカバリ・カタログとともにRMANを使用できます。この場合、RMANは、別のリカバリ・カタログ・データベース内の一連の表に、追加のメタデータ・リポジトリを保持します。たとえば、prod3
にリカバリ・カタログを作成するとします。このリカバリ・カタログには、複数のターゲット・データベースを登録できます。たとえば、prod1
およびprod2
をprod3
に格納されているリカバリ・カタログに登録すると、RMANは、prod1
およびprod2
のバックアップに関するメタデータをリカバリ・カタログ・スキーマに格納します。
次に示す様々な方法で、RMANリポジトリからメタデータにアクセスできます。
RMANのLIST
およびREPORT
コマンドでは、使用可能なバックアップと、データベースをリストアおよびリカバリするためにそれをどのように使用できるかという詳細な情報が提供されます。
LIST
コマンドについては「バックアップおよびリカバリ関連オブジェクトの表示」、REPORT
については「バックアップおよびデータベース・スキーマに関するレポート」を参照してください。
データベースがオープンしている場合は、いくつかのV$
ビューによって、各ターゲット・データベースの制御ファイル内にあるRMANリポジトリ・レコードに直接アクセスできます。
V$DATAFILE_HEADER、
V$PROCESS
、V$SESSION
などの一部のV$
ビューには、リカバリ・カタログ・ビューにはない情報が含まれています。V$
ビューの詳細は、『Oracle Databaseリファレンス』を参照してください。
データベースがリカバリ・カタログに登録されている場合は、RC_
ビューによって、リカバリ・カタログに格納されているRMANリポジトリ・データに直接アクセスできます。
RC_
ビューは、V$
ビューとほぼ対応しています。RC_
ビューの詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。
RESTORE
... PREVIEW
およびRESTORE ... VALIDATE HEADER
コマンドでは、指定した時間までRMANでリストア可能なバックアップが表示されます。
RESTORE ... PREVIEW
は、メタデータを問い合せますが、バックアップ・ファイルを読み取りません。RESTORE ... VALIDATE HEADER
コマンドでも同じ操作が実行されますが、リストアおよびリカバリ操作に必要なファイルの表示の他に、ディスク上またはメディア管理カタログ内のファイルがRMANリポジトリのメタデータに対応しているかどうかを確認するためにバックアップ・ファイル・ヘッダーが検証されます。これらのコマンドについては、「リストア操作で使用されるバックアップのプレビュー」を参照してください。
第12章「RMANバックアップおよびリポジトリ・レコードのメンテナンス」で説明されているように、RMANリポジトリがディスクおよびテープ上の実情を反映していない場合があります。たとえば、ユーザーがオペレーティング・システムのユーティリティを使用してバックアップを削除した場合、そのバックアップは、RMANリポジトリでは誤って使用可能と表示されます。
CHANGE
、CROSSCHECK
、DELETE
などのコマンドを使用すると、使用可能なバックアップの実際の状態を反映してRMANリポジトリを更新できます。そうしない場合、コマンドおよびビューの出力が誤って表示され、データベースをリストアおよびリカバリするためのバックアップをRMANで検出できない可能性があります。
関連項目:
|
「Data Guard環境でのRMANによるファイル管理」で説明されているように、すべてのバックアップがそのバックアップを作成したプライマリ・データベースまたはスタンバイ・データベースに関連付けられています。たとえば、standby1
のDB_UNIQUE_NAME
を使用してデータベースをバックアップすると、standby1
データベースがこのバックアップに関連付けられます。
Data Guard環境では、Data Guardを使用しない場合と同様に、LIST
、REPORT
およびSHOW
コマンドを使用できます。FOR DB_UNIQUE_NAME
句を指定してこれらのコマンドを実行すると、指定したデータベースに関連付けられているバックアップを表示できます。たとえば、次のコマンドでは、sfstandby
にのみ関連付けられているアーカイブREDOログが表示されます。
LIST ARCHIVELOG ALL FOR DB_UNIQUE_NAME sfstandby;
Data Guard環境でFOR DB_UNIQUE_NAME
句を指定せずに
LIST
、REPORTおよびSHOW
コマンドを使用すると、RMANによって、ターゲット・データベースでアクセス可能なファイルが表示されます。RMANでバックアップにアクセス可能であるとみなされる場合については、「Data Guard環境でのバックアップの関連付け」を参照してください。
Data Guard環境では、RMANをリカバリ・カタログとともに使用する必要があります。RMANでは、すべてのバックアップおよびリカバリ・ファイルのメタデータがリカバリ・カタログのData Guard環境に格納されます。RMANのレポート・コマンドの実行時に、マウントまたはオープンされているデータベースにRMANをTARGET
として接続するか、またはSET DBID
コマンドを使用してデータベースを識別することができます。
関連項目: Data Guard環境でRMAN操作に関してレポートする方法については、『Oracle Data Guard概要および管理』を参照してください。 |
LIST
コマンドは、RMANリポジトリの情報を使用して、バックアップやバックアップとリカバリに関連するその他のオブジェクトのリストを表示します。この項の内容は、次のとおりです。
LIST
コマンドの主な目的は、バックアップおよびコピーを表示することです。たとえば、次の内容を表示できます。
データベース、表領域、データファイル、アーカイブREDOログまたは制御ファイルのバックアップおよびプロキシ・コピー
期限切れのバックアップ
時間、パス名、デバイス・タイプまたはリカバリ可能性で制限されているバックアップ
アーカイブREDOログ・ファイルおよびディスク・コピー
RMANでは、バックアップおよびコピーのみでなく、他のタイプのデータも表示できます。表11-1に、表示できる有効なオブジェクトをいくつか示します。
表11-1 LISTの対象となるオブジェクト
リストの内容 | コマンド | 説明 |
---|---|---|
バックアップ・セットおよびプロキシ・コピー |
|
データベース、表領域、データファイル、アーカイブREDOログ、制御ファイルまたはサーバー・パラメータ・ファイルのすべてのバックアップ・セット、コピーおよびプロキシ・コピーを表示できます。 |
イメージ・コピー |
|
データファイル・コピーおよびアーカイブREDOログ・ファイルを表示できます。デフォルトでは、 |
アーカイブREDOログ・ファイル |
|
アーカイブREDOログ・ファイルを表示できます。すべてのアーカイブREDOログ・ファイルを表示するか、SCN、時刻または順序番号の範囲で個々のアーカイブ・ログ・ファイルを指定できます。範囲を指定すると、インカネーション番号を指定することによって戻されるリストをさらに制限できます。 |
データベース・インカネーション |
|
データベースのすべてのインカネーションを表示できます。RESETLOGSオプションを使用してオープンすると、新しいデータベース・インカネーション |
Data Guard環境のデータベース |
|
Data Guard環境のデータベースは、その |
Data Guard環境のプライマリ・データベースまたはスタンバイ・データベースのバックアップおよびコピー |
|
Data Guard環境内の指定したデータベースまたはすべてのデータベースのすべてのバックアップおよびコピーを表示できます。 RMANでは、指定した |
リストア・ポイント |
|
RMANリポジトリで認識されるリストア・ポイントを表示できます。 |
ストアド・スクリプトの名前 |
|
|
データ・リカバリ・アドバイザとともに使用する場合の障害 |
|
障害とは、修復オプションにマッピングされている永続的なデータの破損のことです。ADVISEおよび |
LIST
コマンドでは、出力の表示方法を制御できるいくつかのオプションがサポートされています。表11-2に、最も一般的なLIST
のオプションを示します。
表11-2 最も一般的なLISTのオプション
LISTのオプション | 説明 |
---|---|
|
RMANリポジトリに記録されているバックアップまたはコピーで、最後にクロスチェックを実行したときに、ディスクまたはテープ上の予測した位置に存在しなかったものを表示します。このようなバックアップは、RMANの外部で削除された可能性があります。 |
|
各データファイル、アーカイブREDOログ・ファイル、制御ファイルおよびサーバー・パラメータ・ファイルのバックアップを表示します。各行にファイルのバックアップの説明が示されます。 |
|
各バックアップの1行のサマリーを表示します。 |
前述の表に、すべてのLIST
オブジェクトおよびオプションが示されているわけではありません。たとえば、時間、パス名、デバイス・タイプ、タグまたはリカバリ可能性で制限されたバックアップを表示できます。
関連項目: LISTコマンドの詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』 を参照してください。 |
listObjList
またはrecordSpec
句(『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照)を使用して、必要なオブジェクトを指定します。オブジェクトを指定しないと、RMANは、すべてのデータベース・ファイルとアーカイブREDOログ・ファイルのコピーを表示します。
デフォルトでは、RMANは、各バックアップまたはプロキシ・コピーを連続して表示した後、そのバックアップに含まれているファイルを識別します。また、ファイルごとにバックアップを表示することもできます。
デフォルトでは、RMANは冗長モードで表示を行います。つまり、様々な情報を複数行にわたって表示します。冗長モードによる出力が多すぎる場合は、サマリー・モードでバックアップを表示することもできます。
バックアップおよびコピーを表示する手順
RMANを起動し、ターゲット・データベースおよびリカバリ・カタログ(使用している場合)に接続します。
すべてのバックアップおよびコピーのサマリー・レポートを表示するには、SUMMARY
オプションを指定してLIST
コマンドを実行します。
次のコマンドを実行すると、すべての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-07 1 1 NO TAG20071021T094505 2 B F A SBT_TAPE 21-OCT-07 1 1 NO TAG20071021T094513 3 B A A SBT_TAPE 21-OCT-07 1 1 NO TAG20071021T094624 4 B F A SBT_TAPE 21-OCT-07 1 1 NO TAG20071021T094639 5 B F A DISK 04-NOV-07 1 1 YES TAG20071104T195949
バックアップおよびコピーの詳細な出力を表示するには、SUMMARY
オプションを指定せずにLIST
コマンドを実行します。
次のコマンドを実行すると、デフォルトの詳細な出力でRMANバックアップおよびコピーが表示されます。
LIST BACKUP; LIST COPY;
LIST BACKUP
およびLIST COPY
の出力例を次に示します。
List of Backup Sets =================== BS Key Size Device Type Elapsed Time Completion Time ------- ---------- ----------- ------------ --------------- 7 136M DISK 00:00:20 04-NOV-06 BP Key: 7 Status: AVAILABLE Compressed: NO Tag: TAG20071104T200759 Piece Name: /d2/RDBMS/backupset/2007_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-06 174750 21-OCT-06 1 2 174750 21-OCT-06 174755 21-OCT-06 1 3 174755 21-OCT-06 174758 21-OCT-06 BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 8 Full 2M DISK 00:00:01 04-NOV-06 BP Key: 8 Status: AVAILABLE Compressed: NO Tag: TAG20071104T200829 Piece Name: /disk1/oracle/dbs/c-774627068-20071104-01 Controlfile Included: Ckp SCN: 631510 Ckp time: 04-NOV-06 SPFILE Included: Modification time: 21-OCT-06
List of Datafile Copies ======================= Key File S Completion Time Ckp SCN Ckp Time ------- ---- - --------------- ---------- --------------- 1 7 A 11-OCT-06 360072 11-OCT-06 Name: /work/orcva/RDBMS/datafile/o1_mf_tbs_2_2lv7bf82_.dbf Tag: DF7COPY 2 8 A 11-OCT-06 360244 11-OCT-06 Name: /work/orcva/RDBMS/datafile/o1_mf_tbs_2_2lv7qmcj_.dbf Tag: TAG20071011T184835 List of Control File Copies =========================== Key S Completion Time Ckp SCN Ckp Time ------- - --------------- ---------- --------------- 3 A 11-OCT-06 360380 11-OCT-06 Name: /d2/RDBMS/controlfile/o1_mf_TAG20071011T185335_2lv80zqd_.ctl Tag: TAG20071011T185335 List of Archived Log Copies for database with db_unique_name RDBMS ===================================================================== Key Thrd Seq S Low Time ------- ---- ------- - --------- 1 1 1 A 11-OCT-06 Name: /work/arc_dest/arcr_1_1_603561743.arc 2 1 2 A 11-OCT-06 Name: /work/arc_dest/arcr_1_2_603561743.arc 3 1 3 A 11-OCT-06 Name: /work/arc_dest/arcr_1_3_603561743.arc
ファイルごとにバックアップを表示するには、表示するオブジェクトおよびオプションをBY
FILE
オプションとともに指定してLIST
を実行します。たとえば、次のように入力します。
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-06 1 1 YES TAG20071104T195949 2 B F A 175337 21-OCT-06 1 1 NO TAG20071021T094513 2 5 B F A 631092 04-NOV-06 1 1 YES TAG20071104T195949 2 B F A 175337 21-OCT-06 1 1 NO TAG20071021T094513 ... 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-06 7 A 1 1 NO TAG20071104T200759 1 A 1 1 NO TAG20071021T094505 1 2 174750 21-OCT-06 7 A 1 1 NO TAG20071104T200759 1 A 1 1 NO TAG20071021T094505 ... some rows omitted 1 38 575472 03-NOV-06 7 A 1 1 NO TAG20071104T200759 1 39 617944 04-NOV-06 7 A 1 1 NO TAG20071104T200759 List of Controlfile Backups =========================== CF Ckp SCN Ckp Time BS Key S #Pieces #Copies Compressed Tag ---------- --------- ------- - ------- ------- ---------- --- 631510 04-NOV-06 8 A 1 1 NO TAG20071104T200829 631205 04-NOV-06 6 A 1 1 NO TAG20071104T200432 List of SPFILE Backups ====================== Modification Time BS Key S #Pieces #Copies Compressed Tag ----------------- ------- - ------- ------- ---------- --- 21-OCT-06 8 A 1 1 NO TAG20071104T200829 21-OCT-06 6 A 1 1 NO TAG20071104T200432
関連項目: LIST出力の様々な列ヘッダーについては、『Oracle Databaseバックアップおよびリカバリ・リファレンス』 を参照してください。 |
様々な条件を指定して、LIST
出力を制限できます。
選択したバックアップおよびコピーを表示する手順
RMANを起動し、ターゲット・データベースおよびリカバリ・カタログ(使用している場合)に接続します。
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 BACKUP LIKE '/tmp/%'; # specify a backup or copy by a range of completion dates LIST COPY OF DATAFILE 2 COMPLETED BETWEEN '10-DEC-2002' AND '17-DEC-2002'; # specify logs backed up at least twice to tape LIST ARCHIVELOG ALL BACKED UP 2 TIMES TO DEVICE TYPE sbt;
出力を確認します。
出力は、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-06 BP Key: 2 Status: AVAILABLE Compressed: NO Tag: TAG20071021T094513 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-06 /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-06 BP Key: 5 Status: AVAILABLE Compressed: NO Tag: TAG20071104T195949 Piece Name: /disk1/2007_11_04/o1_mf_nnndf_TAG20071104T195949_ztjxfvgz_.bkp List of Datafiles in backup set 5 File LV Type Ckp SCN Ckp Time Name ---- -- ---- ---------- --------- ---- 1 Full 631092 04-NOV-06 /oracle/dbs/tbs_01.f
関連項目:
|
データベースに対してOPEN
RESETLOGS
操作を実行するたびに、新しいデータベース・インカネーションが作成されます。データベース・インカネーションと、それによってデータベース・リカバリが受ける影響については、「データベース・インカネーション」を参照してください。
増分バックアップの実行時、RMANは、前回のインカネーションまたは現行のインカネーションからのバックアップを、後続の増分バックアップの基礎として使用できます。リストアおよびリカバリ操作の実行時、すべてのアーカイブ・ログが使用可能であれば、RMANは、現行のインカネーションからのバックアップを使用するのと同様に、前回のインカネーションからのバックアップを使用できます。
データベース・インカネーションを表示する手順
RMANを起動し、ターゲット・データベースおよびリカバリ・カタログ(使用している場合)に接続します。
次の例に示すように、LIST
INCARNATION
コマンドを実行します。
LIST INCARNATION;
リカバリ・カタログを使用している場合、および同じカタログに複数のターゲット・データベースを登録している場合は、OF
DATABASE
オプションを使用して、それらを区別することができます。
LIST INCARNATION OF DATABASE prod3;
LIST出力の様々な列ヘッダーについては、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。出力例を次に示します。
RMAN> LIST INCARNATION OF DATABASE trgt; 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-06 2 2 RDBMS 774627068 CURRENT 173832 21-OCT-06
この出力例では、RESETLOGS
操作が、SCN 164378でデータベースtrgt
に対して実行され、新しいインカネーションが作成されたことが示されています。インカネーションは、インカネーション・キー(Inc Key
列)で区別されます。
RMANのREPORT
コマンドを使用すると、使用可能なバックアップおよびデータベースが分析されます。この項の内容は、次のとおりです。
REPORT
コマンドを使用すると、次の重要な質問に回答することができます。
バックアップが必要なファイルはどれですか。
リカバリ不能な操作を実行したファイルはどれですか。
不要なため削除可能なバックアップはどれですか。
過去のある時点でのターゲット・データベースまたはData Guard環境のデータベースの物理スキーマは何ですか。
最近バックアップされていないファイルはどれですか。
レポートを使用すると、バックアップおよびリカバリ計画が実際にデータベースのリカバリ可能性の要件を満たしていることを確認できます。データベースがリカバリ可能であるかどうかを判断するために使用するREPORT
には、主に次の2つの形式があります。
REPORT
NEED
BACKUP
構成済の保存方針または指定した保存方針を満たすためにバックアップする必要があるデータベース・ファイルがレポートされます。
REPORT
UNRECOVERABLE
ダイレクト・パス・インサート
などのNOLOGGING
操作の影響を受けているためバックアップを必要とするデータベース・ファイルがレポートされます。
RMANリポジトリには、REPORT
コマンドを使用してアクセスできる他の情報が含まれています。REPORTのオプションの概要は、表11-3
を参照してください。
表11-3 REPORTのオプション
レポートの内容 | コマンド | 説明 |
---|---|---|
不要なバックアップ |
|
RMANリポジトリに記録され、不要になったため削除できる全体バックアップ、データファイルのコピーおよびアーカイブREDOログ |
データベース・スキーマ |
|
指定した時点のターゲット・データベースに対するすべてのデータファイル(永続的および一時的)および表領域の名前。Data Guard環境でRMANを使用する場合は、指定した |
関連項目: REPORTコマンドの詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』 を参照してください。 |
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はバックアップする必要のあるファイルを決定できないためです。 |
次のいずれかの形式のコマンドを使用して、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
個より多い増分バックアップの適用を必要とするファイルが表示されます
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 NEEDBACKUP の使用可能なすべてのオプションおよび出力の様々な列ヘッダーについては、 『Oracle Databaseバックアップおよびリカバリ・リファレンス』 を参照してください。 |
ダイレクト・ロード・インサートなどのリカバリ不能な操作によってデータファイルが変更されている場合、リカバリ不能な操作ではREDOが生成されないため、通常のメディア・リカバリを使用してファイルをリカバリすることはできません。このような操作の後に影響を受けるデータファイルの全体バックアップまたは増分バックアップのいずれかを実行して、リカバリ不能な操作の影響を受けるデータ・ブロックをRMANを使用してリカバリできるようにする必要があります。
リカバリ不能な操作の影響を受けるデータファイルを識別する手順
RMANを起動し、ターゲット・データベースおよびリカバリ・カタログ(使用している場合)に接続します。
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
OBSOLETE
キーワードを指定すると、不要な(指定した保存方針を満たす必要がない)バックアップ・セット、バックアップ・ピースおよびデータファイルのコピーをレポートできます。
不要なバックアップをレポートする手順
RMANを起動し、ターゲット・データベースおよびリカバリ・カタログ(使用している場合)に接続します。
CROSSCHECK
コマンドを実行して、ディスク上のバックアップのステータスと比較してリポジトリのバックアップのステータスを更新します。
最も簡単な方法としては、次のいずれかのコマンドを使用して、ディスクまたはテープ(あるいはその両方)上のすべてのバックアップをクロスチェックすることができます。
CROSSCHECK BACKUP DEVICE TYPE DISK; CROSSCHECK BACKUP DEVICE TYPE sbt; CROSSCHECK BACKUP; # crosschecks all backups on all devices
実際に使用可能なバックアップ・セットが含まれるようにRMANリポジトリを更新する方法の詳細は、第12章「RMANバックアップおよびリポジトリ・レコードのメンテナンス」を参照してください。
REPORT
OBSOLETE
を実行して、リカバリの必要がなくなったために不要となったバックアップを識別します。
他のオプションを指定せずにREPORT
OBSOLETE
を実行すると、現行の保存方針で不要とみなされるバックアップが表示されます。次に例を示します。
RMAN> REPORT OBSOLETE; Datafile Copy 44 08-FEB-06 /backup/ora_df549738566_s70_s1 Datafile Copy 45 08-FEB-06 /backup/ora_df549738567_s71_s1 Datafile Copy 46 08-FEB-06 /backup/ora_df549738568_s72_s1 Backup Set 26 08-FEB-06 Backup Piece 26 08-FEB-06 /backup/ora_df549738682_s76_s1 . . .
RECOVERY
WINDOW
およびREDUNDANCY
オプションを指定してREPORT
OBSOLETE
を使用することによって、様々なリカバリ期間ベースまたは冗長性ベースの保存方針に基づいて不要とみなされるバックアップを確認できます。次に例を示します。
REPORT OBSOLETE RECOVERY WINDOW OF 3 DAYS; REPORT OBSOLETE REDUNDANCY 1;
関連項目:
|
REPORT
SCHEMA
コマンドを実行すると、データベース・ファイル、表領域などに関する情報が表示されます。REPORT SCHEMAの出力については、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。
FOR DB_UNIQUE_NAME
をREPORT SCHEMA
とともに指定しない場合、リカバリ・カタログ接続は任意ですが、ターゲット・データベース接続は必須です。Data Guard環境では、REPORT SCHEMA FOR DB_UNIQUE_NAME
を指定して環境内のデータベースのスキーマをレポートできます。この場合、RMANをターゲット・データベースに接続する必要はありません。かわりに、RMANをリカバリ・カタログに接続し、DBIDを設定できます。
データベース・スキーマに関してレポートする手順
RMANを起動し、対象となるデータベースに接続します。
前の手順でRMANをターゲット・データベースに接続しておらず、REPORT SCHEMA
にFOR DB_UNIQUE_NAME
句を指定する場合は、データベースDBIDを設定します。たとえば、次のコマンドを入力します。
RMAN> SET DBID 28014364;
次の例に示すように、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
LIST
およびREPORT
コマンドでは表示できない情報がV$ビューに表示される場合があります。この項では、V$ビューが特に役立つ場合について説明します。
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_DETAILS
とV$RMAN_BACKUP_SUBJOB_DETAILS
の各ビューおよびこれらに対応するリカバリ・カタログのバージョンによって、RMANバックアップ・ジョブの詳細が提供されます。たとえば、これらのビューには、バックアップにかかった時間、発行されたバックアップ・ジョブの数、各バックアップ・ジョブのステータス(失敗したか完了したかなど)、ジョブの開始日時と終了日時、および実行されたバックアップのタイプが表示されます。SESSION_KEY
列は、バックアップ・ジョブが発生したRMANセッションの一意のキーです。
多くの場合、RMANによるバックアップでは、書込みを読取りほど行いません。RMANによる圧縮のため、OUTPUT_BYTES_PER_SEC
列をバックアップ速度の測定には使用できません。バックアップ速度の測定に適した列はINPUT_BYTES_PER_SEC
です。読取りデータと書込みデータの比率はCOMPRESSION_RATIO
列に示されます。
過去および現行のRMANジョブの詳細を問い合せる手順
問い合せるバックアップ履歴を持つデータベースにSQL*Plusを接続します。
バックアップのタイプ、ステータスおよび開始日時と終了日時についての情報を表示するために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
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
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リファレンス』 を参照してください。 |
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リファレンス』 を参照してください。 |
LIST
、REPORT
およびSHOW
コマンドを使用すると、制御ファイルおよびリカバリ・カタログ内のデータに簡単にアクセスできます。また、リカバリ・カタログ・ビューから有効な情報を取得できる場合もあります。リカバリ・カタログ・ビューとは、リカバリ・カタログ・スキーマ内に存在するRC_
接頭辞が付いたビューのことです。
RMANは、ターゲット・データベースの制御ファイルからバックアップおよびリカバリのメタデータを取得し、リカバリ・カタログの表に格納します。リカバリ・カタログ・ビューは、これらの表から導出されます。リカバリ・カタログ・ビューは、ユーザーによる問合せに対して正規化または最適化されていません。
通常、リカバリ・カタログ・ビューは、RMANのレポート・コマンドほど簡単に使用できません。たとえば、RMANを起動してターゲット・データベースに接続した場合、LIST
、REPORT
およびSHOW
コマンドを発行するのみでこのターゲット・データベースの情報を取得できます。同じリカバリ・カタログに10個の異なるターゲット・データベースを登録している場合、カタログ・ビューの問合せによって、10個すべてのデータベースのすべてのインカネーションのメタデータが表示されます。多くの場合、ビュー間で複雑な選択および結合を実行して、データベース・インカネーションに関する使用可能な情報を抽出する必要があります。
ほとんどのカタログ・ビューには、対応するV$
がデータベース内に存在します。たとえば、 RC_BACKUP_PIECE
はV$BACKUP_PIECE
に対応しています。リカバリ・カタログ・ビューと対応するV$
ビューとの主な違いとしては、各リカバリ・カタログ・ビューにはリカバリ・カタログに登録されているすべてのターゲット・データベースに関するメタデータが含まれていることがあげられます。V$
には、ビュー自体の情報のみが含まれています。
関連項目: リカバリ・カタログ・ビューの詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。 |
ほとんどのリカバリ・カタログ・ビューには、列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
コマンドの出力に表示される主キーです。
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
がある場合がありますが、prod
のSITE_KEY
は3で、standby1
のSITE_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概要および管理』を参照してください。 |
DB_KEY
値は、登録されているデータベースの主キーであり、リカバリ・カタログでのみ使用されます。DB_KEY
を取得する最も簡単な方法は、ターゲット・データベースのDBIDを使用する方法です。このDBIDは、RMANをTARGET
としてデータベースに接続するたびに表示されます。DBIDによって、RMANのリカバリ・カタログ内に登録されているデータベースが識別されます。
リカバリ・カタログに登録されているデータベースに関する情報を取得すると想定します。
データベースの現行のインカネーションに関する情報をカタログに問い合せる手順
レコードを表示するデータベースのDBIDを確認します。
DBIDは、RMANをデータベースに接続したときに表示される出力を参照するか、V$RMAN_OUTPUT
を問い合せるか、またはV$DATABASE
ビューを問い合せることによって取得できます。次の例では、SQL*Plusを目的のデータベースに接続してDBIDを問い合せます。
SQL> CONNECT / AS SYSDBA SQL> SELECT DBID 2 FROM V$DATABASE; DBID --------- 598368217
SQL*Plusを起動し、リカバリ・カタログの所有者としてリカバリ・カタログ・データベースに接続します。
手順1で取得したDBIDを持つデータベースのデータベース・キーを取得します。
データベースのDB_KEY
を取得するには、次の問合せを実行します。ここで、dbid_of_target
は、手順1で取得したDBIDです。
SELECT DB_KEY
FROM RC_DATABASE
WHERE DBID = dbid_of_target;
手順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';
関連項目:
|
ビューRC_BACKUP_FILES
に対しては、リカバリ・カタログに登録されているデータベースのすべてのバックアップに関する情報を問い合せることができます。ただし、RC_BACKUP_FILES
を問い合せる前に、DBMS_RCVMAN.SETDATABASE
プロシージャをコールする必要があります。次の例に示すように、リカバリ・カタログに登録されたデータベースのDBIDを指定します。
SQL> CALL DBMS_RCVMAN.SETDATABASE(null,null,null,2283997583);
4番目のパラメータは、リカバリ・カタログに登録されているデータベースのDBIDにする必要があります。その他のパラメータは、すべてNULL
にする必要があります。
関連項目:
|