セマンティクス
この副次句では、すべてのアーカイブREDOログ・ファイル、または指定したパターンと一致するファイル名のログのいずれかを指定します。
この副次句では、SCN、時刻、リストア・ポイント(タイムスタンプまたはSCNに対するラベル)またはログ順序番号で、アーカイブREDOログ・ファイルの範囲を指定します。この副次句は、データベースのリカバリ可能な時点を識別するのに有効です。
RMANはV$ARCHIVED_LOG
またはRC_ARCHIVED_LOG
ビューに問合せを行って、範囲に含まれるログを特定します。時刻、SCNまたはリストア・ポイントを指定した場合、RMANはアーカイブREDOログ・ファイルの内容から範囲を特定します。ログが作成またはバックアップされた時刻からではありません。ログ順序番号で範囲を指定した場合、RMANは順序番号を使用して範囲を特定します。
RMANで、範囲内に含まれるログを特定する方法を表4-1に示します。FIRST_TIME
、NEXT_TIME
などの列は、V$ARCHIVED_LOG
の列を表しています。また、INCARNATION
列は、resetlogs_change#
およびresetlogs_time
列でv$archived_log
と結合されたv$database_incarnation
表のインカネーション列に対応しています。
たとえば、FROM SCN 1000 UNTIL SCN 2000
と指定した場合、RMANではV$ARCHIVED_LOG.NEXT_SCN
の値が1000より大きく、V$ARCHIVED_LOG.FIRST_SCN
の値が2000以下のすべてのログが範囲内となります。
表4-1 範囲に含まれるログの特定方法
副次句 | FIRST_TIME | NEXT_TIME | FIRST_SCN | NEXT_SCN | SEQUENCE# | INCARNATION# |
---|---|---|---|---|---|---|
|
N/A |
t1より後 |
N/A |
N/A |
N/A |
N/A |
|
t2以前 |
t1より後 |
N/A |
N/A |
N/A |
N/A |
|
t2以前 |
N/A |
N/A |
N/A |
N/A |
N/A |
|
N/A |
N/A |
N/A |
s1より大きい |
N/A |
N/A |
|
N/A |
N/A |
s2以下 |
s1より大きい |
N/A |
N/A |
|
N/A |
N/A |
s2以下 |
N/A |
N/A |
N/A |
|
N/A |
N/A |
N/A |
N/A |
q1以上、最大順序番号以下 |
N/A |
|
N/A |
N/A |
N/A |
N/A |
q1以上、q2以下 |
N/A |
|
N/A |
N/A |
N/A |
N/A |
0以上、q2以下 |
N/A |
|
N/A |
N/A |
N/A |
N/A |
N/A |
|
|
N/A |
N/A |
N/A |
N/A |
N/A |
アクティブなインカネーション番号 |
|
N/A |
N/A |
N/A |
N/A |
N/A |
iと等しい |
時刻は、現在有効なグローバリゼーション・テクノロジの日付書式指定に従って書式化されている必要があります。現行のグローバリゼーション設定で時刻が指定されていない場合、日付文字列のデフォルトは00時、00分、00秒です。
date_string
には、SYSDATE
などのDATE
型のSQL式を使用することができます。TO_DATE
関数を使用すると、現行のグローバリゼーション・テクノロジ設定に関係なく動作するハードコードされた日付を指定できます。SYSDATE
の精度は、グローバリゼーション設定に関係なく常に秒単位です。したがって、今日が2007年3月15日の場合、SYSDATE-10
は05-MAR-07
およびTO_DATE('03/15/2007','MM/DD/YYYY')-10
とは異なります。
アーカイブREDOログ・ファイルの順序を指定した場合に、すべてのREDOデータがその順序でRMANに含まれるという保証はありません。たとえば、使用可能な最新のアーカイブ・ログ・ファイルの最終時点が順序の最後より前の場合や、範囲内のアーカイブ・ログ・ファイルがすべてのアーカイブ先から欠落している場合があります。RMANは、検索されたアーカイブREDOログ・ファイルは選択しますが、ファイルの欠落については警告を発行しません。
関連項目: NLS_LANGおよびNLS_DATE_FORMAT環境変数を使用して時刻の書式を指定する方法については、 『Oracle Databaseリファレンス』 を参照してください。 |
構文要素 | 説明 |
---|---|
FROM SCN integer |
アーカイブREDOログ・ファイルの範囲に対する開始SCNを指定します。UNTIL SCN パラメータを指定しない場合、RMANはFROM SCN パラメータで指定したSCNから始まるすべての使用可能なログ・ファイルを組み込みます。 |
SCN BETWEEN integer AND integer |
ログの範囲に対して開始SCNと終了SCNを指定します。この構文は、FROM SCN integer1 UNTIL SCN integer2 と同じ意味です。 |
UNTIL SCN integer |
アーカイブREDOログ・ファイルの範囲に対して終了SCNを指定します(範囲決定のルールは、表4-1を参照)。 |
FROM SEQUENCE integer |
一連のアーカイブREDOログ・ファイルに対して開始ログ順序番号を指定します(範囲決定のルールは、表4-1を参照)。
注意: 例4-6に示す構文を使用して、スレッド内のすべてのログ順序番号を指定できます。 |
SEQUENCE integer |
単一のログ順序番号を指定します。 |
SEQUENCE BETWEEN integer AND integer |
ログ順序番号の範囲を指定します。この構文は、FROM SEQUENCE integer1 UNTIL SEQUENCE integer2 と同じ意味です。 |
UNTIL SEQUENCE integer |
一連のアーカイブREDOログ・ファイルに対して終了ログ順序番号を指定します(範囲決定のルールは、表4-1を参照)。 |
THREAD integer |
組み込むアーカイブREDOログ・ファイルが含まれているスレッドを指定します。このパラメータは、Oracle RAC構成のデータベースの場合のみ必要です。
|
INCARNATION ALL|CURRENT| integer |
BACKUP 、RESTORE 、およびLIST コマンドに対してアーカイブREDOログのデータベース・インカネーションを指定します。INCARNATION では、現行のアーカイブREDOログ、データベースの以前のインカネーションのアーカイブREDOログ、またはすべてのREDOログのいずれかを指定できます。デフォルトはCURRENT です。
注意: |
FROM TIME ' date_string ' |
アーカイブREDOログ・ファイルの範囲に対して開始時刻を指定します(範囲決定のルールは表4-1を参照)。例4-5に、LIST コマンドでのFROM TIMEの使用例があります。 |
TIME BETWEEN ' date_string ' AND 'date_string ' |
時刻の範囲を指定します。この構文は、FROM TIME ' date_string ' UNTIL TIME ' date_string ' と同じ意味です。 |
UNTIL TIME ' date_string ' |
アーカイブREDOログ・ファイルの範囲に対して終了時間を指定します(範囲決定のルールは表4-1を参照)。例4-4に、BACKUP コマンドでのUNTIL TIMEの使用例があります。 |
例
例4-4 リカバリの時点によるレコードの指定
現在より5日前の時点までデータベースのリカバリが可能だとします。このPoint-in-Timeリカバリを可能にするアーカイブREDOログ・ファイルの範囲をバックアップすることが必要です。
UNTIL TIME 'SYSDATE-5'
句を使用すると、最初の変更のタイムスタンプ(V$ARCHIVED_LOG.FIRST_TIME
の値)がSYSDATE-5
以前になっているすべてのログを範囲に含むように指定できます。この関数は、現在より5日前の時刻に秒単位の精度で戻します。
CONNECT TARGET / BACKUP ARCHIVELOG UNTIL TIME 'SYSDATE-5';
例4-5 アーカイブ・ログ・バックアップの時刻によるリスト
表4-1に示すように、アーカイブREDOログ・ファイルの範囲に対してdate_string
を指定する場合、バックアップ時刻またはログの作成時刻は指定しません。アーカイブ・ログ32の次の変更のタイムスタンプが3月6日になっているとします。
SQL> SELECT SEQUENCE#, NEXT_TIME 2 FROM V$ARCHIVED_LOG 3 WHERE SEQUENCE#='32'; SEQUENCE# NEXT_TIME ---------- --------- 50 06-MAR-07
3月8日に、次のBACKUP
コマンドおよびLIST
コマンドを実行します。
RMAN> BACKUP ARCHIVELOG SEQUENCE 32; Starting backup at 08-MAR-07 allocated channel: ORA_SBT_TAPE_1 channel ORA_SBT_TAPE_1: SID=109 device type=SBT_TAPE channel ORA_SBT_TAPE_1: Oracle Secure Backup channel ORA_SBT_TAPE_1: starting archived log backup set channel ORA_SBT_TAPE_1: specifying archived log(s) in backup set input archived log thread=1 sequence=32 RECID=125 STAMP=616528547 channel ORA_SBT_TAPE_1: starting piece 1 at 08-MAR-07 channel ORA_SBT_TAPE_1: finished piece 1 at 08-MAR-07 piece handle=6kic3fkm_1_1 tag=TAG20070308T111014 comment=API Version 2.0,MMS Version 10.1.0.3 channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:00:25 Finished backup at 08-MAR-07 Starting Control File and SPFILE Autobackup at 08-MAR-07 piece handle=c-28014364-20070308-08 comment=API Version 2.0,MMS Version 10.1.0.3 Finished Control File and SPFILE Autobackup at 08-MAR-07 RMAN> LIST BACKUP OF ARCHIVELOG FROM TIME 'SYSDATE-1'; RMAN>
ログ32の次の変更のタイムスタンプはFROM TIME
句で指定した時刻範囲より古いため、前述のLIST BACKUP
コマンドでは、アーカイブ・ログ32のバックアップは表示されません。