プロが教える店舗&オフィスのセキュリティ対策術

RMANを使用してのバックアップとリカバリの検証

Oracleの知識があまりないので、変な事を聞いているかもしれませんが、
RMANのバックアップとリカバリについて以下の現象について、エラーが解決できずにいます。

===現象===
Oracle11g Release2 11.2.0.3(ASM使用)

現在、指定の表領域以外のバックアップ(フルと累積増分)を取得し、累積増分を取得した時点までリカバリを行う検証を行っております。

※バックアップコマンド
・フル
 backup incremental level = 0 format '+DATA/BACKUP/lv0backup_%U' database TAG 'dbbackup' plus archivelog TAG 'archivebackup' delete all input;
・累積増分
 BACKUP INCREMENTAL LEVEL 1 format '+DATA/BACKUP/lv1backup_%U' CUMULATIVE DATABASE TAG 'dbbackup' PLUS ARCHIVELOG TAG 'archivebackup' DELETE INPUT;


RMANの環境構成に以下を設定 他はデフォルトです。

 CONFIGURE CONTROLFILE AUTOBACKUP ON;
 CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '+DATA/BACKUP/CF_%F';
 CONFIGURE EXCLUDE FOR TABLESPACE 'TBLSP01';←データファイル6
 CONFIGURE EXCLUDE FOR TABLESPACE 'TBLSP02';←データファイル7


この設定で、以下のコマンドで累積増分バックアップを行った時点までリカバリしようとすると、エラーになります。
~~~~~

RMAN> run{
set until scn = 1069044;
restore database;
recover database;
alter database open;
}

実行コマンド: SET until clause

restoreが開始されました(開始時間: 13-08-14)
チャネル: ORA_DISK_1が割り当てられました
チャネルORA_DISK_1: SID=14 インスタンス=orcl_1 デバイス・タイプ=DISK

ファイル6はデータベース全体のバックアップから除外されています。
ファイル7はデータベース全体のバックアップから除外されています。
チャネルORA_DISK_1: データファイル・バックアップ・セットのリストアを開始しています
チャネルORA_DISK_1: バックアップ・セットからリストアするデータファイルを指定しています
チャネルORA_DISK_1: データファイル00001を+DATA/orcl/datafile/system.313.823464749にリストアしています
チャネルORA_DISK_1: データファイル00002を+DATA/orcl/datafile/sysaux.323.823464751にリストアしています
チャネルORA_DISK_1: データファイル00003を+DATA/orcl/datafile/undotbs1.274.823464751にリストアしています
チャネルORA_DISK_1: データファイル00004を+DATA/orcl/datafile/users.286.823464751にリストアしています
チャネルORA_DISK_1: データファイル00005を+DATA/orcl/datafile/undotbs2.280.823464985にリストアしています
チャネルORA_DISK_1: データファイル00008を+DATA/orcl/datafile/testspace3にリストアしています
チャネルORA_DISK_1: バックアップ・ピース+DATA/backup/lv0backup_0ioha718_1_1から読取り中です
チャネルORA_DISK_1: ピース・ハンドル=+DATA/backup/lv0backup_0ioha718_1_1 タグ=DBBACKUP
チャネルORA_DISK_1: バックアップ・ピース1がリストアされました
チャネルORA_DISK_1: リストアが完了しました。経過時間: 00:01:05
以前のバックアップへのフェイルオーバー

restoreが完了しました(完了時間: 13-08-14)

recoverが開始されました(開始時間: 13-08-14)
チャネルORA_DISK_1の使用
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: recoverコマンドが08/14/2013 20:57:47で失敗しました
RMAN-06556: データファイル6は、SCN 1069044より古いバックアップからリストアする必要があります

~~~~~

私には、なぜバックアップから除外されているデータファイル6に対して「~古いバックアップからリストア~」といったメッセージが出てくるのか理解できていません。
おそらくリカバリで使用するコマンドが誤っているのだと思うのですが、このエラーの解決のヒントなどございましたらご教示ください。

よろしくお願いします。

A 回答 (1件)

こんにちわ。



> 私には、なぜバックアップから除外されているデータファイル6に対して
> 「~古いバックアップからリストア~」といったメッセージが出てくるのか
> 理解できていません。
バックアップしていない表領域は、リカバリの対象外となります。
そしてリカバリとは、「全てのデータファイルの最終更新SCN を一致させる事」
と考えると、TBLSP01, TBLSP02 のデータファイルについてもSCN を一致させる
必要があるため、データベースをオープンするためにはバックアップが必要となります。

TBLSP01, TBLSP02 表領域については、バックアップを取得していないのであれば
該当の表領域を除外してリカバリを行う事になると思います。

Alter database datafile 'データファイル#6 のフルパス' offline drop;
Alter database datafile 'データファイル#7 のフルパス' offline drop;

としてから、データベースのリカバリを行い、resetlogs を指定してDB を
オープンした後で、
Alter tablespace TBLSP01 including contents and datafiles;
Alter tablespace TBLSP02 including contents and datafiles;
でリカバリの対象外とした表領域を削除した後で、該当表領域の再作成と
テーブル, 索引等の再作成を行って下さい。

※ 表領域を読取専用にしておけば、1度だけBackup を取得しておけば、
  (Backup を残しておけば) そのBackup を使ってリカバリが可能になります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

>バックアップしていない表領域は、リカバリの対象外となります。
>そしてリカバリとは、「全てのデータファイルの最終更新SCN を一致させる事」
>と考えると、TBLSP01, TBLSP02 のデータファイルについてもSCN を一致させる
>必要があるため、データベースをオープンするためにはバックアップが必要となります。

「全てのデータファイルの最終更新SCN を一致させる事」が出来なかった場合、
データの不整合が発生してしまうというのが理解できていませんでした。
まだ基礎知識が不足している事を痛感致しました。
マニュアルなどをもっと深く読み進めたいと思います。


また、対処方法をご教示いただきありがとうございます。
頂いた方法を含めて、検証を行いたいと思います。

ありがとうございました。

お礼日時:2013/08/16 09:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す