プライマリ・コンテンツに移動
Oracle® Databaseバックアップおよびリカバリ・リファレンス
12cリリース1 (12.1)
B71298-08
目次へ移動
目次
索引へ移動
索引

前
次

untilClause

用途

untilClause副次句を使用すると、各種のRMAN操作に対して時刻、SCNまたはログ順序番号による上限を指定できます。

使用上の注意

リストア・ポイントを指定するには、TORESTOREPOINT句を使用します。この例は、SETを参照してください。

セマンティクス

構文要素 説明

UNTIL SCN integer

SCNを上限として指定します。指定したSCNは含まれません。

RMANは、指定したSCNの前までのリストアまたはリカバリに使用できるファイルのみを選択します(例4-41を参照)。たとえば、RESTORE DATABASE UNTIL SCN 1000では、SCN 1000までのリカバリに使用できるバックアップのみが選択されます。

UNTIL SEQUENCE integer

REDOログ順序番号とスレッドを上限として指定します。指定した値は含まれません。

RMANは、指定した順序番号の前までのリストアまたはリカバリに使用できるファイルのみを選択します。たとえば、REPORT OBSOLETE UNTIL SEQUENCE 8000を実行すると、ログ順序7999までのリカバリに使用できるバックアップのみが選択されます。

   THREAD integer

REDOスレッドの番号を指定します。

UNTIL TIME 'date_string'

時刻を上限として指定します。指定した時刻は含まれません(例4-42を参照)。

RMANは、指定した時刻の直前までのリストアまたはリカバリに使用できるファイルのみを選択します。たとえば、LIST BACKUP UNTIL TIME 'SYSDATE-7'を実行すると、1週間前の時点までのリカバリに使用できるバックアップがすべてリストされます。

RMANコマンドで日付を指定する場合は、次のいずれかの日付文字列を使用する必要があります。

  • NLS_DATE_FORMATの設定と一致する形式のリテラル文字列。

  • 'SYSDATE-10'または"TO_DATE('01/30/2013', 'MM/DD/YYYY')"などのDATE型のSQL式。2番目の例には、専用の日付書式マスクが含まれているため、現行のNLS_DATE_FORMAT設定とは関係がありません。

RMANにおける日付設定の代表例を次に示します。

BACKUP ARCHIVELOG FROM TIME 'SYSDATE-31' UNTIL TIME 'SYSDATE-14';
RESTORE DATABASE UNTIL TIME "TO_DATE('09/20/06','MM/DD/YY')";

注意: 時間ベース・リカバリの粒度は、REDOログのタイムスタンプによって異なります。たとえば、次のコマンドを指定するとします。

RECOVER DATABASE UNTIL TIME '2013-07-26 17:45:00';

17:45:00のタイムスタンプを持つREDOが書き込まれなかった場合は、それ以降の次のREDOタイムスタンプが検出されるまでリカバリは続行します。たとえば、次のREDOタイムスタンプが17:45:04であるとします。V$LOG_HISTORY TABLEFIRST_TIMEおよびFIRST_CHANGE#列を問い合せることで、特定のSCNに最も近い時間を確認できます。

例4-41 指定したSCNまでの不完全リカバリの実行

この例では、マウントされたデータベースを想定して、指定したSCNの前までデータベースをリカバリします。

STARTUP FORCE MOUNT
RUN
{
  SET UNTIL SCN 1418901;  # set to 1418901 to recover database through SCN 1418900
  RESTORE DATABASE;
  RECOVER DATABASE;
}
ALTER DATABASE OPEN RESETLOGS;

例4-42 不要なバックアップのレポート

この例は、過去1週間以内のいずれかの時点までリカバリできることを前提条件としています。1週間前の時点までデータベースをリカバリするために使用できるバックアップは、すべて不要とみなされます。

REPORT OBSOLETE UNTIL TIME 'SYSDATE-7';