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

前
次

archivelogRecordSpecifier

用途

archivelogRecordSpecifier副次句を使用すると、RMANの操作で使用されるアーカイブREDOログ・ファイル・セットを指定できます。

セマンティクス

archivelogRecordSpecifier

この副次句では、すべてのアーカイブREDOログ・ファイル、または指定したパターンと一致するファイル名のログのいずれかを指定します。

構文要素 説明

ALL

使用可能なすべてのアーカイブ・ログを指定します。

LIKE 'string_pattern'

指定したstring_patternと一致するすべてのアーカイブ・ログを指定します。SQL言語のLIKE演算子で有効なのと同じパターン一致文字を使用して、複数ファイルを一致させることができます。

関連項目: Oracle RAC構成でのRMANの使用方法については、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』 を参照してください

archlogRange

この副次句では、SCN、時刻、リストア・ポイント(タイムスタンプまたはSCNに対するラベル)またはログ順序番号で、アーカイブREDOログ・ファイルの範囲を指定します。この副次句は、データベースのリカバリ可能な時点を識別するのに有効です。

RMANはV$ARCHIVED_LOGまたはRC_ARCHIVED_LOGビューに問合せを行って、範囲に含まれるログを特定します。時刻、SCNまたはリストア・ポイントを指定した場合、RMANはアーカイブREDOログ・ファイルの内容から範囲を特定します。ログが作成またはバックアップされた時刻からではありません。ログ順序番号で範囲を指定した場合、RMANは順序番号を使用して範囲を特定します。

RMANで、範囲内に含まれるログを特定する方法を表4-1に示します。FIRST_TIMENEXT_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#

FROM TIME t1

N/A

t1より後

N/A

N/A

N/A

N/A

FROM TIME t1 UNTIL TIME t2

t2以前

t1より後

N/A

N/A

N/A

N/A

UNTIL TIME t2

t2以前

N/A

N/A

N/A

N/A

N/A

FROM SCN s1

N/A

N/A

N/A

s1より大きい

N/A

N/A

FROM SCN s1 UNTIL SCN s2

N/A

N/A

s2以下

s1より大きい

N/A

N/A

UNTIL SCN s2

N/A

N/A

s2以下

N/A

N/A

N/A

FROM SEQUENCE q1

N/A

N/A

N/A

N/A

q1以上、最大順序番号以下

N/A

FROM SEQUENCE q1 UNTIL SEQUENCE q2

N/A

N/A

N/A

N/A

q1以上、q2以下

N/A

UNTIL SEQUENCE q2

N/A

N/A

N/A

N/A

0以上、q2以下

N/A

INCARNATION ALL

N/A

N/A

N/A

N/A

N/A

ANY

INCARNATION CURRENT

N/A

N/A

N/A

N/A

N/A

アクティブなインカネーション番号

INCARNATION i

N/A

N/A

N/A

N/A

N/A

iと等しい

時刻は、現在有効なグローバリゼーション・テクノロジの日付書式指定に従って書式化されている必要があります。現行のグローバリゼーション設定で時刻が指定されていない場合、日付文字列のデフォルトは00時、00分、00秒です。

date_stringには、SYSDATEなどのDATE型のSQL式を使用することができます。TO_DATE関数を使用すると、現行のグローバリゼーション・テクノロジ設定に関係なく動作するハードコードされた日付を指定できます。SYSDATEの精度は、グローバリゼーション設定に関係なく常に秒単位です。したがって、今日が2013年3月15日の場合、SYSDATE-1005-MAR-13およびTO_DATE('03/15/2013','MM/DD/YYYY')-10とは異なります。

アーカイブREDOログ・ファイルの順序を指定した場合に、すべてのREDOデータがその順序でRMANに含まれるという保証はありません。たとえば、使用可能な最新のアーカイブ・ログ・ファイルの最終時点が順序の最後より前の場合や、範囲内のアーカイブ・ログ・ファイルがすべてのアーカイブ先から欠落している場合があります。RMANは、検索されたアーカイブREDOログ・ファイルは選択しますが、ファイルの欠落については警告を発行しません。

注意:

BACKUP ARCHIVELOGの実行時にデータベースがオープンしていてUNTIL句が指定されている場合、RMANはALTER SYSTEM ARCHIVE LOG CURRENTを実行しません。

関連項目:

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構成のデータベースの場合のみ必要です。

SEQUENCEパラメータにTHREADの指定は必須ではありませんが、ログ順序を指定すると、常にスレッドも暗黙的に指定したことになります。スレッドを指定しなければ、デフォルトで1になります。V$ARCHIVED_LOGを問合せて、ログのスレッド番号を確認してください。

INCARNATION ALL|CURRENT|integer

BACKUPRESTORE、およびLISTコマンドに対してアーカイブREDOログのデータベース・インカネーションを指定します。INCARNATIONでは、現行のアーカイブREDOログ、データベースの以前のインカネーションのアーカイブREDOログ、またはすべてのREDOログのいずれかを指定できます。デフォルトはCURRENTです。

注意: INCARNATION副次句は、LogMinerセッション中にロジカル・スタンバイ・データベースによって受け取られる外部アーカイブREDOログ・ファイルに対しては無効です。通常のアーカイブREDOログ・ファイルとは異なり、外部アーカイブREDOログ・ファイルでは異なるDBIDが使用されるため、ロジカル・スタンバイ・データベースでバックアップまたはリストアすることはできません。

FROM TIME 'date_string'

アーカイブREDOログ・ファイルの範囲に対して開始時刻を指定します(範囲決定のルールは表4-1を参照)。例4-5に、LISTコマンドでのFROM TIMEの使用例があります。

TIME BETWEEN 'date_string'

時刻の範囲を指定します。この構文は、FROM TIME 'date_string' UNTIL TIME 'AND 'date_string'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-13

3月8日に、次のBACKUPコマンドおよびLISTコマンドを実行します。

RMAN> BACKUP ARCHIVELOG SEQUENCE 32;
 
Starting backup at 08-MAR-13
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-13
channel ORA_SBT_TAPE_1: finished piece 1 at 08-MAR-13
piece handle=6kic3fkm_1_1 tag=TAG20130308T111014 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-13
 
Starting Control File and SPFILE Autobackup at 08-MAR-13
piece handle=c-28014364-20130308-08 comment=API Version 2.0,MMS Version 10.1.0.3
Finished Control File and SPFILE Autobackup at 08-MAR-13
 
RMAN> LIST BACKUP OF ARCHIVELOG FROM TIME 'SYSDATE-1';
 

ログ32の次の変更のタイムスタンプはFROM TIME句で指定した時刻範囲より古いため、前述のLIST BACKUPコマンドでは、アーカイブ・ログ32のバックアップは表示されません。

例4-6 REDOスレッドでのすべてのログのクロスチェック

2つのREDOスレッドを使用するOracle RACデータベースを管理しているとします。この例では、スレッド1でのみすべてのアーカイブREDOログ・ファイルをクロスチェックします。

CROSSCHECK ARCHIVELOG FROM SEQUENCE 0 THREAD 1;