2 RMANの概要
RMANの最も重要な概念を理解し、バックアップおよびリカバリのタスクの実行方法を学ぶことによって、新しいユーザーはRMANをすぐに開始できます。
この章で説明するトピックは、バックアップおよびリカバリに関するその他のドキュメント・セットの代替となるものではありません。
2.1 RMAN環境の概要
Recovery Manager(RMAN)とは、データベースでバックアップおよびリカバリ・タスクを実行し、バックアップ計画の管理を自動化するOracle Databaseクライアントのことです。Recovery Managerによって、データベースのバックアップ、リストアおよびリカバリが大幅に簡単になります。
RMAN環境は、データのバックアップに使用されるユーティリティとデータベースで構成されます。RMANの環境には、最低限次のコンポーネントが含まれている必要があります。
-
RMANが
TARGET
キーワードで接続されているOracle Database。ターゲット・データベースは、RMANがバックアップおよびリカバリ操作を実行するデータベースです。RMANは、常にデータベースの操作に関するメタデータをデータベースの制御ファイルに保持します。RMANのメタデータは、RMANリポジトリと呼ばれます。 -
コマンドを解釈し、それらのコマンドを実行するようにサーバー・セッションに指示し、そのアクティビティをターゲット・データベースの制御ファイルに記録するOracle Database実行可能ファイル。このRMAN実行可能ファイルは、データベースとともに自動的にインストールされ、通常、他のデータベース実行可能ファイルと同じディレクトリに配置されます。たとえば、Linuxの場合、RMANクライアントは
$ORACLE_HOME/bin
に配置されています。
一部の環境では、次のオプションのコンポーネントが使用されます。
-
バックアップおよびリカバリに関連するファイルをデータベースで格納および管理できるディスクの場所。高速リカバリ領域の場所およびサイズは、
DB_RECOVERY_FILE_DEST
およびDB_RECOVERY_FILE_DEST_SIZE
初期化パラメータを使用して設定します。 -
RMANがテープ・ライブラリなどのシーケンシャル・メディア・デバイスと対話するために必要なアプリケーション。メディア・マネージャは、バックアップおよびリカバリ中にこれらのデバイスを制御し、メディアのロード、ラベル付けおよびアンロードを管理します。メディア管理デバイスはSBT(テープへのシステム・バックアップ)デバイスと呼ばれる場合があります。
-
1つ以上のターゲット・データベースに対するRMANアクティビティを記録するために使用する個別のデータベース・スキーマ。リカバリ・カタログは、制御ファイルが消失した場合にRMANリポジトリ・メタデータを保持することで、制御ファイル消失後のリストアおよびリカバリを簡単に実行できるようにします。データベースは制御ファイル内の古いレコードを上書きする場合がありますが、RMANはユーザーがレコードを削除しないかぎり、カタログ内にレコードを永久に保持します。
この章では、リカバリ・カタログまたはメディア・マネージャを使用しない最も基本的な構成でRMANを使用する方法について説明します。
関連項目:
-
RMAN環境の詳細は、「Recovery Managerのアーキテクチャ」を参照してください。
-
BACKUP
コマンドの構文およびセマンティクスについては、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。
2.2 RMANの起動およびデータベースへの接続: クイック・スタート
RMANを使用して操作を実行する前に、ターゲット・データベースに接続する必要があります。
RMANクライアントは、オペレーティング・システムのコマンド・プロンプトでrman
コマンドを発行して起動します。起動すると、次の例に示すようなコマンド・プロンプトが表示されます。
% rman RMAN>
RMANによるデータベースへの接続は、SQL*Plusによるデータベースへの接続と同じ方法で指定および認証します。唯一異なるのは、ターゲット・データベースまたは補助データベースへのRMAN接続ではSYSDBA
またはSYSBACKUP
権限のいずれかが必要なことです。すべてのユーザーにこの権限が付与されています。
注意:
適切なセキュリティ・プラクティスとして、コマンドラインにパスワードを入力するときは、プレーン・テキストで入力しないでください。RMANでは、RMANプロンプトで要求された場合にのみパスワードを入力してください。パスワード保護については、『Oracle Databaseセキュリティ・ガイド』を参照してください。
データベースには、コマンドライン・オプションまたはCONNECT TARGET
コマンドを使用して接続できます。次の例では、RMANを起動してから、SYSBACKUP
権限を使用して作成されるユーザーsbu
として、Oracle Netを介してターゲット・データベースに接続します。RMANによってパスワードの入力を求められます。
% rman
RMAN> CONNECT TARGET "sbu@prod AS SYSBACKUP"
target database Password: password
connected to target database: PROD (DBID=39525561)
マルチテナント・アーキテクチャを使用する場合は、RMANによるデータベース接続の確立の説明に従って、ルートまたは指定されたプラガブル・データベース(PDB)に接続できます。
RMANクライアントを終了するには、RMANプロンプトでEXIT
と入力します。
RMAN> EXIT
一般的なRMANコマンドライン・オプションの構文
RMAN [ TARGET connectStringSpec | { CATALOG connectStringSpec } | LOG ['] filename ['] [ APPEND ] . . . ]... connectStringSpec::= ['] [userid] [/ [password]] [@net_service_name] [']
次の例では、/tmp/msglog.log
にあるテキスト・ファイルにRMANセッションの出力を追加します。
% rman TARGET / LOG /tmp/msglog.log APPEND
関連項目:
RMANクライアントの起動および操作の詳細は、「RMANクライアントの起動および操作」を参照してください
2.3 RMANのデフォルト構成の表示
RMANのバックアップおよびリカバリ環境は、ターゲット・データベースごとに事前構成されます。この構成は、RMANを終了して再起動した場合でも永続し、このターゲット・データベースで行うその後のすべての操作に適用されます。
RMANの構成設定では、バックアップ・デバイスを指定し、それらのバックアップ・デバイス(チャネルと呼ばれる)への接続を設定し、バックアップ計画に影響する方針の設定などを構成できます。
データベースの現行の構成を表示する手順
出力には、この構成を再作成するためのCONFIGURE
コマンドが表示されます。
関連項目:
RMAN環境の構成方法については、「RMAN環境の構成」および「RMAN環境の構成: 高度なトピック」を参照してください。
2.4 データベースのバックアップ: クイック・スタート
ファイルをバックアップするには、BACKUPコマンドを使用します。RMANは、要求されたバックアップのタイプ用に構成されているデフォルトのデバイスにデータをバックアップします。
デフォルトでは、RMANはディスクにバックアップを作成します。高速リカバリ領域が有効になっていて、FORMAT
パラメータ(表2-1を参照)を指定していない場合、RMANは、リカバリ領域にバックアップを作成し、自動的に一意の名前を指定します。
デフォルトでは、RMANはイメージ・コピーではなくバックアップ・セットを作成します。バックアップ・セットは、1つ以上のバックアップ・ピースで構成されています。バックアップ・ピースとは、RMANのみがアクセス可能な形式で書き込まれた物理ファイルのことです。多重バックアップ・セットには、複数の入力ファイルからのブロックが含まれています。RMANは、バックアップ・セットをディスクまたはテープに書き込むことができます。
BACKUP
AS
COPY
を指定すると、RMANは各ファイルをイメージ・コピーとしてコピーします。イメージ・コピーは、ディスクに作成されたデータベース・ファイルのビットごとのコピーです。イメージ・コピーは、Linuxのcp
やWindowsのCOPY
などのオペレーティング・システム・コマンドで作成したコピーと同じですが、RMANのリポジトリに記録されるため、RMANで使用できます。RMANを使用すると、データベースがオープンしている間にイメージ・コピーを作成できます。
次の各項では、異なるモードでのデータベースのバックアップについて説明します。
関連項目:
-
RMANバックアップの概念については、「RMANバックアップの概要」を参照してください。
-
RMANでデータベース・ファイルをバックアップする方法については、「データベースのバックアップ」を参照してください。
-
BACKUP
コマンドの構文およびセマンティクスについては、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。
2.4.1 一般的なRMANバックアップ・オプションについて
BACKUP
コマンドには、バックアップの出力を制御する多くのオプション、パラメータおよび句が含まれています。
表2-1に、一般的なバックアップ・オプションの一部を示します。
表2-1 一般的なバックアップ・オプション
オプション | 説明 | 例 |
---|---|---|
|
バックアップ・ピースおよびコピー用の位置と名前を指定します。置換変数を使用して一意のファイル名を生成する必要があります。 最も一般的な置換変数は、一意の名前を生成する |
BACKUP FORMAT 'AL_%d/%t/%s/%p' ARCHIVELOG LIKE '%arc_dest%'; |
|
バックアップ用のラベルとしてユーザー定義文字列を指定します。タグを指定しない場合、RMANは、日付と時刻を含むデフォルト・タグを割り当てます。RMANリポジトリでは、タグは常に大文字で格納されます。 |
BACKUP TAG 'weekly_full_db_bkup' DATABASE MAXSETSIZE 10M; |
関連項目:
-
書式オプションの詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。
2.4.2 ARCHIVELOGモードでのデータベースのバックアップ
データベースは、ARCHIVELOG
モードで稼働している場合、オープン状態でバックアップできます。
バックアップにチェックポイント後の変更が含まれている場合、非一貫性バックアップと呼ばれます。オープン状態のデータベースのバックアップは、バックアップのリカバリに必要なアーカイブREDOログが存在する場合、データ保護の手段として一貫性バックアップと同様に効率的です。
データベースをオープンした状態でデータベースおよびアーカイブREDOログをバックアップする手順
2.4.3 NOARCHIVELOGモードでのデータベースのバックアップ
データベースがNOARCHIVELOG
モードで稼働している場合、有効なデータベースのバックアップは一貫性バックアップのみです。
バックアップに一貫性を持たせるには、データベースを一貫性のある状態で停止させた後でマウントする必要があります。バックアップのリストア後にリカバリは必要ありませんが、バックアップ後に実行されたトランザクションは失われる場合があります。データ損失を最小限に抑えるために、一貫性バックアップからアーカイブ・ログを使用してリカバリできます。
一貫性のあるデータベースのバックアップを作成する手順
2.4.4 増分バックアップの作成: クイック・スタート
増分バックアップでは、前回の増分バックアップ後に行われたデータベースへのブロックレベルの変更が取得されます。
BACKUP
INCREMENTAL
を指定すると、RMANはデータベースの増分バックアップを作成します。通常、増分バックアップは、データベースの全体バックアップより小さく、高速です。増分バックアップを使用したリカバリは、REDOログのみを使用したバックアップより高速です。
増分バックアップ方針の開始点は、レベル0の増分バックアップ(データベースのすべてのブロックのバックアップ)です。レベル0の増分バックアップの内容は全体バックアップと同じです。ただし、レベル0のバックアップは、全体バックアップと異なり、増分バックアップ計画の一部とみなされます。
レベル1の増分バックアップには、前回の増分バックアップ後に変更されたブロックのみが格納されます。レベル1のバックアップの実行時に現行または親のデータベース・インカネーションにレベル0のバックアップが存在しない場合は、RMANによってレベル0のバックアップが自動的に作成されます。
注意:
増分バックアップは、一貫性のある状態での停止の後にデータベースをマウントする場合は作成できますが、NOARCHIVELOG
データベースをオープンしている場合は作成できません。
レベル1のバックアップは、累積増分バックアップ(最新のレベル0のバックアップ後に変更されたブロックをすべて含む)または差分増分バックアップ(最新の増分バックアップ後に変更されたブロックのみを含む)のいずれかにできます。デフォルトでは、増分バックアップは、差分バックアップに設定されています。
リストアの操作時に、RMANは、まずレベル0のバックアップをリストアし、その後、必要に応じて、増分バックアップおよびREDOログを自動的に適用します。これにより、バックアップの開始以降にデータベースに対して行われた変更が再び適用されます。
データベースの増分バックアップを作成する手順
関連項目:
増分バックアップの概念の詳細は、「RMANの増分バックアップについて」および「RMANの増分バックアップの作成および更新」を参照してください
2.4.5 増分更新バックアップの作成
増分更新バックアップによって、効率的な永久増分バックアップ計画を実装できます。
RMANの増分更新バックアップ機能には次の主な機能があります。
-
この計画では、基礎としてレベル0のデータファイル・コピーが必要です。このコピーには、システム定義またはユーザー定義のタグがあります。
-
レベル0のデータファイル・コピーと同じタグを使用して、レベル1の差分バックアップが定期的に作成されます。
BACKUP FOR RECOVER OF COPY
コマンドは、同じタグが含まれている最新の増分バックアップ以降に変更されたブロックのみが増分バックアップに含まれるよう指定します。 -
増分バックアップがレベル0のデータファイル・コピーに定期的に適用されます。データファイル・コピーが最新の変更によって更新されているため、必要なメディア・リカバリが削減されます。
表2-2に、増分更新バックアップ計画の実装のために、FOR RECOVER OF COPY
で使用するオプションを示します。
表2-2 FOR RECOVER OF COPYのオプション
BACKUPのオプション | 説明 | 例 |
---|---|---|
|
指定したタグが付けられたデータファイル・コピーが現行または親のデータベース・インカネーションに存在しない場合は、指定したタグが付けられたレベル0のデータファイル・コピーがRMANによって作成されます。 |
BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'incr_update' DATABASE; |
|
データファイル・コピーがない場合は、RMANがコピーを作成する場所を指定します。データベースに新しいデータファイルを追加すると、RMANが増分バックアップ・ルーチンに必要なレベル0のコピーを自動的に作成するため、スクリプトを変更する必要がありません。 |
BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY DATAFILECOPY FORMAT '/disk2/df1.cpy' DATABASE; |
増分更新バックアップ計画を実装する手順
-
「RMANの起動およびデータベースへの接続」に説明されているとおりに、RMANを起動してターゲット・データベースに接続します。
-
RECOVER COPY
およびBACKUP INCREMENTAL
コマンドを実行します。増分更新バックアップに基づく計画を実装するには、次のスクリプトを定期的に実行する必要があります。
RECOVER COPY OF DATABASE WITH TAG 'incr_update'; BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'incr_update' DATABASE;
関連項目:
2.4.6 データベース・ファイルおよびバックアップの検証: クイック・スタート
RMAN検証では、バックアップがリストアできるかどうかを確認します。検証では、ブロックが破損していないか、およびファイルが欠落していないかどうかも確認します。
VALIDATE
コマンドを使用して、すべてのデータベース・ファイルが存在し、適切な場所にあり、物理的に破損していないことを確認します。CHECK LOGICAL
オプションを指定すると、論理ブロックの破損も確認できます。
データベース・ファイルを検証する手順
関連項目:
-
VALIDATE
コマンドの構文およびセマンティクスについては、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。
2.4.7 RMAN操作のスクリプト化
RMANでは、週次バックアップなどの繰り返し行うタスクを管理するためのコマンド・ファイルを使用できます。
コマンド・ファイルとは、RMANプロンプトで入力するRMANコマンドと同じコマンドが含まれているクライアント側のテキスト・ファイルのことです。任意のファイル拡張子を指定できます。
ストアド・スクリプトは、ターゲット・データベースおよびそのリカバリ・カタログに接続可能なRMANクライアントに対してスクリプトを使用できるようにするコマンド・ファイルにかわるものです。
コマンド・ファイルを作成して実行する手順
関連項目:
-
コマンド・ファイルの詳細を理解するには、「RMANでのコマンド・ファイルの使用」を参照
-
実行時にコマンド・ファイルおよびパス・パラメータを使用する方法を理解するには、「コマンド・ファイルでの置換変数の使用」を参照
2.5 RMAN操作に関するレポート: クイック・スタート
RMANはRMANリポジトリに格納されている情報を使用して、バックアップ・アクティビティにレポートを生成できます。
バックアップ操作のレポートにRMANのLIST
およびREPORT
コマンドを使用します。SHOW ALL
コマンドを使用すると、RMANの現行の構成が表示されます。さらに、RMANでは、カスタム・レポートを生成するための総合的なビューのセットが提供されています。
この項では、次の項目について説明します。
2.5.1 バックアップの表示: クイック・スタート
LIST
BACKUP
コマンドおよびLIST
COPY
コマンドは、リポジトリにリストされているバックアップおよびデータファイル・コピーに関する情報を表示します。
バックアップに対しては、表2-3および表2-4に示すオプションを使用して、LIST
の出力形式を制御できます。
表2-3 バックアップ用のLISTオプション
オプション | 例 | 説明 |
---|---|---|
|
|
バックアップ・セットごとに出力を編成します。これがデフォルトの表示モードです。 |
|
|
バックアップされたファイルに従ってバックアップを表示します。 |
|
|
サマリー出力を表示します。 |
バックアップおよびコピーの両方に、表2-4に示す追加オプションがあります。
表2-4 追加のLISTオプション
オプション | 例 | 説明 |
---|---|---|
|
|
RMANリポジトリに記録されているが、前回の |
|
|
RMANリポジトリのステータスが |
バックアップおよびコピーを表示する手順
-
「RMANの起動およびデータベースへの接続」に説明されているとおりに、RMANを起動してターゲット・データベースに接続します。
-
RMANプロンプトで、
LIST
コマンドを実行します。次の例に示すように、特定のオブジェクトを表示できます。
LIST BACKUP OF DATABASE; LIST COPY OF DATAFILE 1, 2; LIST BACKUP OF ARCHIVELOG FROM SEQUENCE 10; LIST BACKUPSET OF DATAFILE 1;
関連項目:
-
LIST
コマンドの詳細は、「バックアップおよびリカバリ関連オブジェクトの表示」を参照してください。 -
LIST
コマンドの構文については、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。
2.5.2 データベース・ファイルおよびバックアップに関するレポート: クイック・スタート
REPORT
コマンドは、LIST
コマンドよりも複雑なレポート分析を実行します。
表2-5は、REPORTコマンドの主要オプションの一部を示します。
表2-5 REPORTのオプション
オプション | 例 | 説明 |
---|---|---|
|
|
現行の保存方針に従ってバックアップする必要があるファイルを表示します。オプションの |
|
|
構成済のバックアップの保存方針に従って不要となっているバックアップを表示します。オプションの |
|
|
現時点(デフォルト)または別の時点でデータベースにある表領域とデータファイルをレポートします。 |
|
|
データファイルの前回のバックアップ以降に、データファイル内のオブジェクトに対してリカバリ不能な操作が実行されているすべてのデータファイルを表示します。 |
データベース・ファイルおよびバックアップのレポートを生成する手順
-
「RMANの起動およびデータベースへの接続」に説明されているとおりに、RMANを起動してターゲット・データベースに接続します。
-
RMANプロンプトで、
REPORT
コマンドを実行します。次の例では、現在構成されているバックアップ保存方針に従って不要となったバックアップをレポートします。
REPORT OBSOLETE;
次の例では、データベースのデータファイルおよび一時ファイルをレポートします。
REPORT SCHEMA;
関連項目:
RMANのレポートにREPORT
コマンドを使用する方法は、「バックアップおよびデータベース・スキーマに関するレポート」を参照してください。
2.6 RMANバックアップのメンテナンス
RMANリポジトリ・メタデータは、ターゲット・データベースの制御ファイルに常に格納されます。このメタデータは、バックアップの管理時にRMANのメンテナンス・コマンドで使用されます。
この項では、次の項目について説明します。
2.6.1 バックアップのクロスチェック: クイック・スタート
CROSSCHECK
コマンドを使用して、RMANバックアップおよびコピーの論理レコードをストレージ・メディアのファイルと同期化します。
バックアップがディスク上に存在する場合は、CROSSCHECK
によって、そのファイルのヘッダーが有効かどうかが判別されます。バックアップがテープ上に存在する場合は、RMANによって、バックアップ・ピースの名前と場所の問合せがRMANリポジトリに対して実行されます。この場合、バックアップおよびコピーは、クロスチェックしてから削除することをお薦めします。
ディスク上のすべてのバックアップおよびコピーをクロスチェックする手順
関連項目:
RMANバックアップをクロスチェックする方法については、「RMANリポジトリのクロスチェック」を参照してください。
2.6.2 不要なバックアップの削除: クイック・スタート
DELETEコマンドでは、ディスクおよびテープからRMANのバックアップおよびコピーを削除し、制御ファイル・リポジトリ内のファイルのステータスをDELETED
に更新し、リカバリ・カタログからレコードを削除します(カタログを使用している場合)。
RMANを対話形式で実行し、NOPROMPT
オプションを指定しなかった場合は、DELETE
によってファイルのリストが表示され、リスト内のファイルを削除する前に確認を求められます。RMANリポジトリに記録されているバックアップおよびデータファイルのコピーのうち不要なものが削除されるため、DELETE OBSOLETE
コマンドは特に役に立ちます。DELETE
コマンドでオプションを使用して不要なものを指定するか、または構成済のバックアップの保存方針を使用することができます。
不要なバックアップおよびコピーを削除する手順
関連項目:
DELETE
コマンドの使用方法については、「RMANバックアップおよびアーカイブREDOログの削除」を参照してください。
2.7 データ・リカバリ・アドバイザを使用した障害の診断および修復: クイック・スタート
データ・リカバリ・アドバイザは、永続的なデータ障害を診断し、修復オプションをユーザーに提示し、ユーザーのリクエストに応じて修復を実行するインフラストラクチャを提供するOracle Databaseツールです。
この項では、次の項目について説明します。
関連項目:
2.7.1 障害の表示および修復オプションの決定
障害とは、状態モニターによって検出される永続的なデータの破損のことです。例としては、物理的および論理的なデータ・ブロックの破損やデータファイルの欠落などがあります。
各障害には、障害優先順位および障害ステータスがあります。優先順位は、CRITICAL
、HIGH
またはLOW
のいずれかになります。ステータスは、OPEN
またはCLOSED
のいずれかになります。
LIST
FAILURE
コマンドを実行すると、すべての既知の障害を表示できます。障害が存在する場合は、同じセッションでADVISE FAILURE
コマンドを実行し、修復オプションを決定します。ADVISE FAILURE
の出力には、手動および自動の両方の修復オプションが示されています。まず、手動での問題の解決を試行します。問題を手動で解決できない場合は、自動修復に関するセクションを参照してください。
自動修復オプションには、1つ以上の障害に関するサーバー管理の修復が記載されています。修復は、可能な場合は統合されているため、1回の修復で複数の障害を解決できます。修復オプションには、実行する修復およびその修復操作の実行によってデータが失われるかどうかが示されます。
関連項目:
「障害の表示」および「修復オプションの決定」を参照してください。
「障害の表示および修復オプションの決定」では、障害を表示し、修復オプションを決定するコマンドを示します。出力には、RMANコマンドが含まれている修復スクリプトのファイル名が示されています。データ・リカバリ・アドバイザを使用して障害を自動的に修復しない場合は、このスクリプトをリカバリ計画の基礎として使用します。
例2-1 LIST FAILUREおよびADVISE FAILURE
RMAN> LIST FAILURE; Database Role: PRIMARY List of Database Failures ========================= Failure ID Priority Status Time Detected Summary ---------- -------- --------- ------------- ------- 142 HIGH OPEN 23-APR-13 One or more non-system datafiles are missing 101 HIGH OPEN 23-APR-13 Datafile 1: '/disk1/oradata/prod/system01.dbf' contains one or more corrupt blocks RMAN> ADVISE FAILURE; Database Role: PRIMARY List of Database Failures ========================= Failure ID Priority Status Time Detected Summary ---------- -------- --------- ------------- ------- 142 HIGH OPEN 23-APR-13 One or more non-system datafiles are missing 101 HIGH OPEN 23-APR-13 Datafile 1: '/disk1/oradata/prod/system01.dbf' contains one or more corrupt blocks analyzing automatic repair options; this may take some time using channel ORA_DISK_1 analyzing automatic repair options complete Mandatory Manual Actions ======================== no manual actions available Optional Manual Actions ======================= 1. If file /disk1/oradata/prod/users01.dbf was unintentionally renamed or moved, restore it Automated Repair Options ======================== Option Repair Description ------ ------------------ 1 Restore and recover datafile 28; Perform block media recovery of block 56416 in file 1 Strategy: The repair includes complete media recovery with no data loss Repair script: /disk1/oracle/log/diag/rdbms/prod/prod/hm/reco_660500184.hm
2.7.2 障害の修復: クイック・スタート
RMAN REPAIR FAILURE
コマンドを使用して、検出された障害を修復します。
RMANセッションでLIST FAILURE
およびADVISE FAILURE
を実行した後、REPAIR FAILURE
を実行して修復オプションを実行できます。他のコマンド・オプションを指定せずにREPAIR FAILURE
を実行すると、RMANは、現在のセッションで最新のADVISE FAILURE
コマンドの最初の修復オプションを使用します。最新のADVISE FAILURE
コマンドで取得した修復オプション番号を指定することもできます。次の例に、例2-1で検出された障害の修復方法を示します。
RMAN> REPAIR FAILURE;
デフォルトでは、REPAIR FAILURE
の実行を開始する前に確認を求められます。修復を実行した後、データ・リカバリ・アドバイザは、障害が修復されている可能性に関してすべての既存の障害を再評価します。データ・リカバリ・アドバイザは、障害が存在しているかどうかを常に確認し、修復されている障害を自動的にクローズします。エラーのため修復を完了できなかった場合は、そのエラーが原因で新しい評価が実行され、既存の障害および修復が再評価されます。
関連項目:
2.8 フラッシュバック・データベースを使用したデータベースの巻戻し: クイック・スタート
Oracle Flashback Databaseを使用すると、データベース全体を過去の時点に巻き戻すことができます。メディア・リカバリとは異なり、データファイルをリストアしてデータベースを過去の状態に戻す必要はありません。
RMANのFLASHBACK DATABASE
コマンドを使用するには、フラッシュバック・ログが生成されるように、データベースを事前に構成しておく必要があります。この構成タスクの詳細は、「フラッシュバック・データベースについて」を参照してください。フラッシュバック・データベースによって、コマンドの実行時に存在しているデータファイルに対する変更が巻き戻されます。フラッシュバック・データベースを使用して、メディア障害や欠落したデータファイルを修復することはできません。
FLASHBACK DATABASE
を発行する場合は、データベースがマウントされている必要があります。フラッシュバック・データベース・ウィンドウ内の任意の時点にフラッシュバックできます。以前に作成したリストア・ポイントがあれば便利ですが、必須ではありません。
フラッシュバック・データベースを使用してデータベースを巻き戻す手順
2.9 データベース・ファイルのリストアおよびリカバリ: クイック・スタート
物理データベース・ファイルをRMANでリストアおよびリカバリするには、RESTORE
およびRECOVER
コマンドを使用します。
データファイルをリストアすると、バックアップからリカバリ操作に必要なデータファイルが取得されます。メディア・リカバリは、リストアしたデータファイルにREDOログおよび増分バックアップに含まれている変更を適用して、データファイルを目的のSCNまたは目標時点の状態にします。
この項では、次の項目について説明します。
関連項目:
2.9.1 データベース・ファイルのリストアおよびリカバリの準備: クイック・スタート
メディア障害によってデータベース・ファイルが破損したため、データベースをリカバリするには、必要なバックアップがあることを最初に確認します。
RESTORE ... PREVIEW
コマンドを使用すると、指定した時点にリストアするためにRMANで使用可能なバックアップをレポートすることはできますが、リストアすることはできません。RMANは、メタデータは問い合せますが、実際にバックアップ・ファイルは読み取りません。このコマンドは、データベースをオープンしているときにも実行できます。
データベースのリストアおよびリカバリを確認する手順
2.9.2 データベース全体のリカバリ: クイック・スタート
データベース全体をリカバリするには、RESTORE
DATABASE
およびRECOVER
DATABASE
コマンドを使用します。
必要なすべてのファイルのバックアップを事前に作成しておく必要があります。このシナリオでは、すべてのデータファイルを元の場所にリストアできることを想定しています。元の場所にアクセスできない場合は、「デフォルト以外の場所へのデータファイルのリストアについて」の説明に従ってSET NEWNAME
コマンドを使用します。
データベース全体をリカバリする手順
2.9.3 表領域のリカバリ: クイック・スタート
データベースがオープンされている場合は、個々の表領域に対してRESTORE
TABLESPACE
およびRECOVER
TABLESPACE
コマンドを使用します。この場合、リカバリが必要な表領域をオフラインにしてリストアし、表領域をリカバリしてからオンラインに戻す必要があります。
元の場所にデータファイルをリストアできない場合、RUN
ブロック内でRMAN SET NEWNAME
コマンドを使用して新しいファイル名と場所を指定します。その後、SQL文のALTER DATABASE RENAME FILE
と同等のSWITCH DATAFILE ALL
コマンドを使用して制御ファイルを更新し、RUN
コマンドでSET NEWNAME
が発行されたすべてのデータファイルの新しい名前を反映します。
ユーザー管理のメディア・リカバリとは異なり、オンラインの表領域をバックアップ・モードにする必要はありません。RMANでは、データ・ブロックの形式が認識されるため、追加のロギングまたはバックアップが必要ありません。
データベースがオープンされている場合に個々の表領域をリカバリする手順
データファイル・レベルのリカバリには、RESTORE DATAFILE
およびRECOVER DATAFILE
を使用することもできます。