セットアップ:
次を使用して、レベル0の増分バックアップを毎週実行します。
RMAN> backup as compressed backupset incremental level 0 database;
RMAN> backup check logical as compressed backupset (archivelog all delete all input);
次の方法で、レベル1の増分バックアップを毎晩(レベル0の増分バックアップを取る夜を除いて)行います。
RMAN> backup as compressed backupset incremental level 1 database;
RMAN> backup check logical as compressed backupset (archivelog all delete all input);
RMANでは、リカバリを開始するタイミングと、データファイルのあいまいさを解消してデータベースを一貫した状態にするためにどのSCNを復元する必要があるかについて、次のようにレポートできることを知っています。
RMAN> restore database preview;
Media recovery start SCN is 49928711194
Recovery must be done beyond SCN 49928711196 to clear datafile fuzziness
これは、restore database;
を発行した場合、データベースを開く前にSCNの49928711194を49928711196に回復する必要があることを示しています。
ここから、使用可能なアーカイブログバックアップと、これらのアーカイブログバックアップに含まれるSCNを照会できることがわかります。
SELECT sequence#, first_change#, next_change#, id2, handle from (
SELECT sequence#, first_change#, next_change#, id2
FROM v$backup_archivelog_details where 49928711194 between first_change# and next_change#
UNION
SELECT sequence#, first_change#, next_change#, id2
FROM v$backup_archivelog_details where 49928711196 between first_change# and next_change#) archivelog
JOIN v$backup_piece p
ON archivelog.id2=p.set_count;
SEQUENCE# FIRST_CHANGE# NEXT_CHANGE# ID2 HANDLE
22030 49923438913 49928711521 7940 L:\Oracle\BACKUPS\Arch_2_7940_1
私の質問は:v$
ビューまたはrc
ビューをクエリして、開始SCNおよびRMAN> restore database preview;
が提供するSCNを超えるSCNを取得して、特定のデータファイルのあいまいさを解消する方法はありますかバックアップセット?
V $ BACKUP_DATAFILE
V $ BACKUP_DATAFILEは、制御ファイルからのバックアップ・セット内の制御ファイルおよびデータファイルに関する情報を示します。
Media recovery start SCN is 7962109213
Recovery must be done beyond SCN 7962156379 to clear datafile fuzziness
Finished restore at 28-JUN-2017 09:27:17
そして、私が興味を持っているのはABSOLUTE_FUZZY_CHANGE#
およびCHECKPOINT_CHANGE#
そのビューの列。
CHECKPOINT_CHANGE#
:チェックポイント変更番号までのすべての変更がこのバックアップに含まれます
ABSOLUTE_FUZZY_CHANGE#
:このバックアップで最大の変更番号
次のクエリを使用して、RMANのリストアプレビューコマンドと同じ結果を得ました。
SQL> select max(absolute_fuzzy_change#) fuzz#, max(checkpoint_change#) chkpnt# from
(select file#, completion_time, checkpoint_change#, absolute_fuzzy_change# from v$backup_datafile
where trunc(completion_time) = to_date('JUN-28-2017','MON-DD-YYYY')
and file# <> 0
order by completion_time desc
);
FUZZ# CHKPNT#
---------- ----------
7962156379 7962109213