コマンド解説書

ROLLFORWARD DATABASE

データベースのログ・ファイルに記録されたトランザクションを適用することによって、 データベースを回復させます。 データベースまたは表スペースのバックアップが復元された後、 あるいはすべての表スペースが媒体エラーのためにデータベースによって オフラインにされた場合に呼び出されます。 データベースをロールフォワード回復で回復できるのは、 それが回復可能な状態にある (すなわち、 logretain または userexit、 あるいはその両方のデータベース構成パラメーターがオンに設定されている) ときだけです。

効力範囲

マルチノード環境では、このコマンドはカタログ・ノードからしか発行できません。 時間を指定するデータベースまたは表スペースのロールフォワード・コマンドは、 db2nodes.cfg ファイルにリストされているすべてのノードに影響を与えます。 ログの終わりを指定するデータベースまたは表スペースのロールフォワード・コマンドは、 指定されたノードに影響を与えます。 ノードが指定されない場合、コマンドは、 db2nodes.cfg ファイルにリストされているすべてのノードに影響を与えます。 特定のノードでロールフォワードが必要とされない場合には、そのノードは無視されます。

許可

以下のどれかが必要です。

必須接続

なし。 このコマンドは、データベース接続を確立します。

コマンド構文

>>-ROLLFORWARD----+-DATABASE-+---database-alias----------------->
                  '-DB-------'
 
>-----+---------------------------------------+----------------->
      '-USER--username--+------------------+--'
                        '-USING--password--'
 
>-----+----------------------------------------------------------------+>
      +-TO--+-isotime--+--------------+-----------+---+--------------+-+
      |     |          '-ON ALL NODES-'           |   +-AND COMPLETE-+ |
      |     '-END OF LOGS--+--------------------+-'   '-AND STOP-----' |
      |                    '-| On Node clause |-'                      |
      '--+-COMPLETE------+---+--------------------+--------------------'
         +-STOP----------+   '-| On Node clause |-'
         +-CANCEL--------+
         '-QUERY STATUS--'
 
>----+---------------------------------------------------------------+>
     '-TABLESPACE----+-ONLINE-------------------------------------+--'
                     |    .-,------------------.                  |
                     |    V                    |                  |
                     '-(-----tablespace-name---+---)--+---------+-'
                                                      '-ONLINE--'
 
>-----+---------------------------------------------------------------------------+>
      '-OVERFLOW LOG PATH--(--log-directory--+-----------------------------+---)--'
                                             '-,--| Log Overflow clause |--'
 
>-----+-------------------------------------------------------------+>
      '-RECOVER DROPPED TABLE--drop-table-id--TO--export-directory--'
 
>--------------------------------------------------------------><
 
On Node clause
 
|---ON--+-| Node List clause |-------------------------+--------|
        '-ALL NODES--+-------------------------------+-'
                     '-EXCEPT--| Node List clause |--'
 
Node List clause
 
                     .-,-------------------------------------.
                     V                                       |
|---+-NODE---+--(-------node-number1--+-------------------+--+-->
    '-NODES--'                        '-TO--node-number2--'
 
>----)----------------------------------------------------------|
 
Log Overflow clause
 
    .-,---------------------------------------.
    V                                         |
|------log-directory--ON NODE--node-number1---+-----------------|
 

コマンド・パラメーター

DATABASE database-alias
ロールフォワードするデータベースの別名。

USER username
データベースがロールフォワードされる際のユーザー名を識別します。

USING password
ユーザー名を承認するために使用するパスワード。 パスワードを省略すると、ユーザーに入力を求めるプロンプトが出ます。

TO

isotime
コミットされたすべてのトランザクションがロールフォワードされる時点 (その時点の前にコミットされたすべてのトランザクションのほかに、 ちょうどその時点にコミットされたトランザクションを含む)。

この値は、バインドされた日時を識別する 7 つの部分の文字ストリングからなる、 タイム・スタンプとして指定されます。 書式は、yyyy-mm-dd-hh.mm.ss.nnnnnn (年、月、日、時、分、秒、マイクロ秒) の協定世界時 (CUT) です。

環境変数 TZ は、CUT とローカル時間との差を表示します。 たとえば、TZ 値が EST5EDT の場合、 ローカル時間帯が EST (東部標準時) であり、この時間帯と CUT との差が 5 時間で、 夏時間の採用があることを示しています。 夏時間採用時には、5 時間の差が 4 時間となり、CUT = 現在時 + 4 となります。

区分データベース環境では、ON ALL NODES が指定されると、 ロールフォワード回復がすべてのノードに対して行われます。

END OF LOGS
データベースの構成パラメーターである logpath にリストされる、 すべてのオンライン・アーカイブ・ログ・ファイルからコミットされた全トランザクションが、 適用されることを指定します。

ALL NODES
db2nodes.cfg ファイルで指定されている、 すべてのノードについてトランザクションがロールフォワードされることを指定します。 ノード文節が指定されていない場合、これが省略時値です。

EXCEPT
ノード・リストに指定されているノードを除き、 db2nodes.cfg ファイルで指定されている、 すべてのノードについてトランザクションがロールフォワードされることを指定します。

ON NODE / ON NODES
一連のノードについてデータベースをロールフォワードします。

node-number1
ノード・リスト内のノード番号を指定します。

node-number2
2 番目のノード番号を指定します。この番号を指定すると、 node-number1 から node-number2 までのすべてのノードがノード・リストに含まれます。

COMPLETE / STOP
ログ・レコードのロールフォワードを停止し、 未完了のトランザクションをロールバックし、 データベースのロールフォワード保留状態をオフにすることによって、 ロールフォワード回復処理を完了します。 これにより、 すでにロールフォワードされたデータベースまたは表スペースへのアクセスが認められます。 これらのキーワードは同等です。どちらか一方を指定し、両方は指定しないでください。 キーワード AND を使用すると、 一度に複数の操作を指定することができます (たとえば、 db2 rollforward db sample to end of logs and complete)。

注:表スペースをある時点までロールフォワードすると、 表スペースはバックアップ保留状態に置かれます。

CANCEL
ロールフォワード回復処理を取り消します。 これにより、順方向回復が開始されている、 すべてのノードのデータベースまたは表スペースが回復保留状態で残ります。 データベースのロールフォワードが処理中ではない (つまり、 データベースがロールフォワード保留状態である) 場合、 このオプションは、データベースを回復保留状態に変更します。 表スペースのロールフォワードが処理中ではない (つまり、 表スペースがロールフォワード保留状態である) 場合は、 表スペース・リストを指定しなければなりません。 リスト内のすべての表スペースが、回復保留状態に変更されます。 表スペースのロールフォワード処理中である (つまり、 少なくとも 1 つの表スペースがロールフォワード進行状態にある) 場合は、 ロールフォワード進行状態にあるすべての表スペースが回復保留状態に変更されます。 表スペース・リストを指定する場合、 そのリストには、ロールフォワード進行状態にある表スペースがすべて含まれていなければなりません。 ある時点までロールフォワードする場合、 渡される表スペースはすべて無視され、 ロールフォワード進行状態にある表スペースがすべて回復保留状態に変更されます。 表スペース・リストを指定してログの終わりまでロールフォワードする場合は、 リスト内の表スペースのみが回復保留状態に変更されます。

注:このオプションは十分注意して使用してください。

QUERY STATUS
データベース・マネージャーがロールフォワードしたログ・ファイル、 次に必要とされるアーカイブ・ファイル、およびロールフォワード処理が開始されてから、 最後にコミットされたトランザクションのタイム・スタンプ (CUT 形式) をリストします。 マルチノード環境では、この状況情報は各ノードに関して戻されます。 返される情報には、次のフィールドが含まれています。

ノード番号

ロールフォワード状況
データベースまたは表スペースのロールフォワード処理保留、 ロールフォワード処理中、ロールフォワード処理の停止、 またはロールフォワード処理保留なしの状態です。

読み込む予定の次のログ・ファイル
次に必要なログ・ファイルの名前から成るストリング。 マルチノード環境で、ロールフォワード・ユーティリティーに障害が起こり、 ログ・ファイルの欠落を示す戻りコードが戻されたとき、 またはログ情報の不一致が生じたとき、この情報を使用します。

処理済みログ・ファイル
これ以上回復に必要なく、そのディレクトリーから除去できる、 処理済みのログ・ファイルの名前から成るストリング。

コミットされた最終トランザクション
ISO 書式のタイム・スタンプから成る文字列 (yyyy-mm-dd-hh.mm.ss)。 このタイム・スタンプは、ロールフォワード回復処理の完了後に、 コミットされた最終トランザクションを示しています。 タイム・スタンプはデータベースに適用されます。 表スペースのロールフォワードでは、 データベースにコミットされた最終トランザクションのタイム・スタンプを表します。

注:TO、STOP、COMPLETE、および CANCEL 句が省略されると、QUERY STATUS が省略時値になります。

TO 句、STOP 句、または COMPLETE 句のいずれかが指定された場合は、 コマンドが正常に実行されれば、この情報が表示されます。

TABLESPACE
このキーワードは、表スペース・レベルのロールフォワードを行う場合に使用します。

tablespace-name
ある時点までの表スペース・レベルのロールフォワードを行う場合は必須です。 表スペースのサブセットに対してログの終わりまでのロールフォワード処理を指定できます。 マルチノード環境では、 リストの各表スペースがロールフォワードされている各ノードに存在している必要はありません。 もしノード内に表スペースが存在している 場合、 その表スペースは適正な状態にあることを示します。

ONLINE
このキーワードは、 表スペース・レベルのロールフォワード回復をオンラインで行うことができることを指定します。 これは、ロールフォワード回復処理の進行中に、 他のエージェントが接続できることを意味します。

OVERFLOW LOG PATH log-directory
回復処理中にアーカイブされたログを探索する代替のログ・パスを指定します。 マルチノード環境では、これはすべてのノードの省略時オーバーフロー・ログ・パスです。

単一ノード環境では、相対オーバーフロー・ログ・パスの指定もできますが、 マルチノード環境では、パスは完全に修飾されていなければなりません。

log-directory ON NODE
マルチノード環境では、 特定のノードのために異なるログ・パスで省略時オーバーフロー・ログ・パスをオーバーライドできます。

RECOVER DROPPED TABLE drop-table-id
除去された表をロールフォワード操作中に回復します。 表 ID を取得するには、LIST HISTORYを使用します。

TO export-directory
表データが含まれているファイルを書き込むディレクトリーを指定します。 指定するディレクトリーは、すべてのノードにアクセスできるものでなければなりません。

例 1

ROLLFORWARD コマンドでは、それぞれをキーワード and で区切ることによって、 一度に複数の操作を指定することができます。 たとえば、ログの終わりまでロールフォワードし、完了する場合、 コマンドを別々に指定すると、次のようになります。

   db2 rollforward db sample to end of logs
   db2 rollforward db sample complete

これらは次のように結合することができます。

   db2 rollforward db sample to end of logs and complete

例 2

ログの終わりまでロールフォワードします (2 つの表スペースが復元されています)。

   db2 rollforward db sample to end of logs
注:ログの終わりまで表スペースをロールフォワードする場合、 AND STOP または AND COMPLETE を使用する必要はありません。 表スペース名は必須ではありません。 指定しない場合には、 ロールフォワード回復を必要としているすべての表スペースが組み込まれます。 これらの表スペースの一部のみをロールフォワードする場合は、 それらの名前を指定しなければなりません。

例 3

3 つの表スペースが復元された後、1 つをログの終わりまでロールフォワードし、 他の 2 つをある時点までロールフォワードします (両方ともオンラインで行われます)。

   db2 rollforward db sample to end of logs tablespace(TBS1) online
   db2 rollforward db sample to 1998-04-03-14.21.56.245378 and stop
      tablespace(TBS2, TBS3) online

例 4

データベースを復元した後、 OVERFLOW LOG PATH でユーザー出口がアーカイブ・ログを保管するディレクトリーを指定して、 ある時点までロールフォワードします。

   db2 rollforward db sample to 1998-04-03-14.21.56.245378 and stop
      overflow log path (/logs)

例 5 (MPP)

0、1、および 2 の 3 つのノードがあります。 表スペース TBS1 はすべてのノードで定義されており、 表スペース TBS2 はノード 0 および 2 で定義されています。 ノード 1 でデータベースを復元し、ノード 0 および 2 で TBS1 を復元した後、 ノード 1 でデータベースをロールフォワードします。

   db2 rollforward db sample to end of logs and stop

これにより、警告 SQL1271 (『データベースは回復されましたが、 ノード 0 および 2 で 1 つまたは複数の表スペースがオフラインになっています。』) が戻されます。

   db2 rollforward db sample to end of logs

これにより、ノード 0 および 2 で TBS1 がロールフォワードされます。 この場合、文節 TABLESPACE(TBS1) は任意指定です。

例 6 (MPP)

ノード 0 および 2 でのみ表スペース TBS1 を復元した後、 ノード 0 および 2 で TBS1 をロールフォワードします。

   db2 rollforward db sample to end of logs

ノード 1 は無視されます。

   db2 rollforward db sample to end of logs tablespace(TBS1)

ノード 1 で TBS1 がロールフォワード可能な状態になっていないため、これは失敗します。 SQL4906N が報告されます。

   db2 rollforward db sample to end of logs on nodes (0, 2) tablespace(TBS1)

これは正常に完了します。

   db2 rollforward db sample to 1998-04-03-14.21.56.245378 and stop 
      tablespace(TBS1)

ノード 1 で TBS1 がロールフォワード可能な状態になっていないため、これは失敗します。 すべての部分は一緒にロールフォワードされなければなりません。
注:表スペースをある時点までロールフォワードする場合、ノード文節は受け入れられません。

ノード 1 で TBS1 を復元した後

   db2 rollforward db sample to 1998-04-03-14.21.56.245378 and stop 
      tablespace(TBS1)

これは正常に完了します。

例 7 (MPP)

すべてのノードで表スペースを回復した後、 PIT2 までロールフォワードしますが、AND STOP は指定しません。 ROLLFORWARD コマンドはまだ進行中です。 それを取り消し、PIT1 までロールフォワードします。

   db2 rollforward db sample to pit2 tablespace(TBS1) 
   db2 rollforward db sample cancel tablespace(TBS1)
 ** restore TBS1 on all nodes **
   db2 rollforward db sample to pit1 tablespace(TBS1)
   db2 rollforward db sample stop tablespace(TBS1)

例 8 (MPP)

db2nodes.cfg ファイルにリスト表示されている 8 個のノード (3 〜 10) に存在する表スペースをロールフォワードします。

   db2 rollforward database dwtest to end of logs tablespace (tssprodt)

ログの終わり (ある時点ではなく) までのこの操作は正常に完了します。 表スペースが存在するノードは指定する必要がありません。 ユーティリティーは、省略時値として db2nodes.cfg ファイルを使用します。

例 9 (MPP)

(ノード 6 上の) 1 つのノード・グループに存在する 6 個の小さな表スペースをロールフォワードします。

   db2 rollforward database dwtest to end of logs on node (6)
      tablespace(tsstore, tssbuyer, tsstime, tsswhse, tsslscat, tssvendor)

ログの終わり (ある時点ではなく) までのこの操作は正常に完了します。

使用上の注意

データベース・マネージャーは、アーカイブおよびアクティブ・ログ・ファイルに保管されている情報を使用して、 最終バックアップ以後にデータベースで実行されたトランザクションを再作成します。

ROLLFORWARD DATABASE が呼び出される際、 データベースがロールフォワード保留状態であると、 データベースはロールフォワードされます。 データベースのロールフォワードが成功すると、 異常状態が生じて 1 つまたは複数の表スペースがオフラインとならない限り、 表スペースは通常の状態に戻されます。

データベースがロールフォワード保留状態ではなく、時点が指定されない場合は、 ロールフォワード進行状態にあるすべての表スペースがログの終わりまでロールフォワードされます。 ロールフォワード進行状態の表スペースがない場合は、 ロールフォワード保留状態にあるすべての表スペースがログの終わりまでロールフォワードされます。

表スペース名を指定すると、表スペースのサブセットに対してロールフォワード処理を行うことができます。

表スペースをある時点までロールフォワードする場合、 表スペースのサブセットを指定しなければなりません。 指定された表スペースだけがロールフォワードされます。 各表スペースはロールフォワード保留状態でなければなりません。 あるいは、表スペースのロールフォワードがすでに進行中の場合、 表スペースはロールフォワード進行状態でなければなりません。

ロールフォワード回復処理のために既存のデータベースを使用可能にする場合には、 1 次ログ・ファイルの数を 1 次ログ・ファイルと 2 次ログ・ファイルの合計数 +1 に変更してください。 詳しい情報については、ロールフォワード回復処理に使用可能なデータベースにおいて、 LONG VARCHAR フィールドおよび LOB データのためにログに記録されます。

データベースのロールフォワードには、テープ装置を使用したロード回復が必要とされる場合があります。 別のテープを要求されたときは、次のうちのいずれか 1 つで応答することができます。

c
続行。 警告メッセージを生成した装置の使用を続けます (たとえば、新しいテープをマウントしたときなど)。

d
装置の終了。 警告メッセージを生成した装置の使用を停止します (たとえば、 それ以上テープがない場合)。

t
終了。 すべての装置を終了します。

データベースのロールフォワードには、 この解説書に記述されたもの以外の前提条件と制限が含まれる可能性があります。 より詳細な情報については、管理の手引き を参照してください。

以下も参照

LIST HISTORY

LOAD

RESTORE DATABASE


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]