バージョン 8.1.3
 —  ユーティリティ  —

RECOVER: リカバリジョブストリームの構築

注意:
現在、RECOVER 機能は BS2000 および z/OS システムでのみ使用できます。 z/VM および VSE システムでは、今後サポートされる予定です。

ADARAI RECOVER 機能は、Adabas データベースまたは選択したデータベースファイルを回復するジョブ制御情報(リカバリジョブストリーム)を構築します。 RECOVER 機能は次のことを行います。

ADARAI RECOVER は、データベースまたはファイルを RECOVER 機能の実行前の状態にリストアするために必要なジョブストリームを構築します。 完全なジョブストリームは、DD/JCLOUT データセットに送られます。

ADARAI は、生成されたジョブストリームにエラーメッセージまたは情報メッセージも適宜含めます。 ジョブをサブミットする前に、エラーを手動で修正する必要があります。 ジョブストリームにメッセージが存在することは、ADARAI RECOVER から返されるゼロ以外のリターンコードによって示されます。

BS2000 システムの場合、RECOVER 機能では次の処理も実行します。

注意:
このようなエラーが発生した場合は、ジョブ制御を手動で修正する必要があります。

このドキュメントでは、次のトピックについて説明します。


リカバリ処理

ADARAI RECOVER 機能は、リストア対象の世代として認識した正確なシーケンスに基づいてジョブを構築します。

すべてのユーティリティが再生され、世代に存在する最後の PLOG ブロックが再生成されるまで、このシーケンスが続行します。

次の図に、ADARAI の動作を示します。

graphics/util_adarai_recover_proc.png

上記の場合、リカバリ順序は次のようになります。

  1. データベースを A の状態に戻すため、フルセーブまたはフルセーブと差分セーブがリストアされます。

  2. データベース再生成は、A の最初のチェックポイントから B の更新チェックポイントまで実行されます。 その後、再生成ジョブは終了します。

  3. ファイル 1 の更新ユーティリティが実行され、データベース再生成は B のチェックポイントおよび C のインバートチェックポイント間で実行されます。

  4. ファイル 3 のインバートユーティリティが実行され、データベース再生成はチェックポイント C および D のロードチェックポイント間で実行されます。

  5. ファイル 5 のロードユーティリティが実行され、データベース再生成はチェックポイント D および E のリオーダチェックポイント間で実行されます。

  6. ファイル 3 のリオーダが実行され、データベース再生成はチェックポイント E および F の最新データベースレベル間で実行されます。

Top of page

最適化されたリカバリ処理

ADARAI RECOVER 機能の OPT パラメータを使用すると、大規模なデータベースのリカバリ所要時間を最小限に抑える操作またはシーケンスを識別できます。

例えば、10,000 個の更新を含むファイルを削除または再ロードする場合、初めからファイルをリストアし、10,000 個の更新を再生した後、削除またはロード操作が発生したときにすべてを破棄するような操作は、避ける必要があります。

最適化を選択すると、ADARAI は、例に示すようなファイルのリストアをジョブのメインのリストアでは行いません。 ファイルの再生成は、ファイルが削除された後、またはロードによって作成された後にのみ行われます。

最適化されたジョブストリームを使用すると、回復されたデータベースは元の構築とは異なる方法で再構築されます。 最適化されたリカバリジョブは元のジョブとまったく同じ方法で再生するわけではないため、リカバリを行うとき、データベースでスペースが不足するなどの問題が発生する場合があります。 ただし、ほとんどの場合、データベースリカバリを最適化することによって得ることができる利点に比べると、この問題を重要視する必要はありません。 問題が発生する可能性については、状況に応じて判断する必要があります。

Top of page

要件

正常に実行するリカバリジョブを生成するため、ADARAI には次の要件があります。

保持されたデータセットをカタログすることをお勧めします。

Top of page

制約

シャドーデータベース

元のデータベースのセーブに対して差分セーブ出力および DSIM データセットをリストアすることによってシャドーデータベース(通常の本番データベースのコピー)を構築すると、元のデータベースの差分セーブ中に発生した PLOG アクティビティは ADARAI で認識されません。このため、シャドーデータベースでリストア操作が必要になった場合に、ADARAI は DSIM データセットを再構築できません。

ただし、DSIM データセットと差分セーブデータセットを結合してオフラインの新しい差分セーブデータセットを作成し、結合された新しいデータセットをシャドーデータベースに対してリストアすると、PLOG が不要になるため、シャドーデータベースのリカバリに必要なすべての情報が ADARAI に提供されます。

DSIM データセットを使用した差分セーブのリストア

一般的に、ADARAI では RESTORE DELTA 処理が問題なく行われます。 ただし、RESTORE DELTA で DSIM データセット(本質的には作業データセット)を使用している場合は、ADARAI RECOVER が必要になったとき、DSIM データセットが元の状態に保たれていないことがあります。 このため、RECOVER 処理中にこのような RESTORE DELTA を再生する前に、ADARAI では DSIM データセットの作成に使用された COPY または PLCOPY 要求を記録し、データセットを再構築するためのジョブステップを発行します。

ADARAI は、RLOG 全体から適切なエントリを検索します。 エントリが検出されないと、RESTORE ステップの前に DSIM データセットを再構築できないため、RESTORE DELTA を再生できません。

DD/FILEA ファイル

生成されたリカバリジョブで、ADARAI は ADAORD ユーティリティの DD/FILEA ファイルを書き込みます。 この処理は、回避することができません。これは、REORDER 機能を再生する必要があり、この機能によって、DD/FILEA ファイルの書き込みが要求されるためです。

この場合、次の制限があります。

Top of page

リカバリに必要な入力

次のデータセットは、ADARAI RECOVER 機能に対する入力です。

BS2000 システムの場合、DDJCLIN は可変レコード形式の SAM データセットです。 EDT を使用すると、このデータセットを作成および編集できます。 詳細は、「スケルトンジョブ制御」を参照してください。

z/OS システムの場合、RECFM=FB、LRECL=80、および 80 バイトの倍数である BLKSIZE で DDJCLIN データセットを定義する必要があります。

Top of page

リカバリ操作の出力

ADARAI RECOVER の出力は、データベースリカバリを行う実行準備済みのジョブストリームです。 このリカバリジョブストリームは、DD/JCLOUT ファイルに書き込まれます。 RECOVER 操作中にエラーの可能性が検出されると、ADARAI は警告メッセージを出力しコンディションコード 4 で終了します。 「リカバリ前のチェック」を参照してください。

BS2000 システムの場合、DDJCLOUT および DDJCLCON は可変レコード形式の SAM データセットです。 これは、BS2000 のジョブ制御規則に準拠しています。

z/OS システムの場合、RECFM=FB、LRECL=80、および 80 バイトの倍数である BLKSIZE として定義されたデータセットを DDJCLOUT DD ステートメントでポイントしている必要があります。

リカバリジョブストリームには、次の時点でニュークリアスを開始するジョブステップが含まれています。

ユーティリティが最初にシングルユーザーモードで実行されたかどうかにかかわらず、ADARAI RECOVER ジョブでは、データベースがアクティブな状態で、すべてのユーティリティを再生します。 最初にシングルユーザーモードで実行されたユーティリティは、マルチユーザーモードで再生されます。 これらのジョブステップについては、「リカバリジョブストリームの構築」および「スケルトンジョブ制御」を参照してください。

Top of page

RECOVER 機能の実行

RECOVER 機能は、RELGEN パラメータの制御の下に一度に 1 世代ずつ実行されます。 RELGEN を指定しない場合、デフォルトは現行世代です。

RECOVER は、ニュークリアスがアクティブまたは非アクティブのどちらの状態でも実行できます。 この機能は世代の RLOG 情報を変更しないため、同じ世代に対して複数回実行できます。

ただし、RECOVER が失敗した後、DD/JCLOUT リカバリジョブストリームの実行中に RECOVER を再実行する場合は、作成される新しいリカバリジョブストリームが元のリカバリジョブストリームと異なることがあります。 これは、RLOG を更新するデータベースに対して、元のリカバリジョブストリームでユーティリティを実行する場合があるためです。 新しい RECOVER 操作ではその後、失敗したリカバリジョブストリームの一部として実行されるユーティリティのリカバリジョブストリームが構築されます。

また、ADASAV RESTORE の実行後にリカバリジョブストリームが失敗すると、新しい世代が作成されます。 この場合は、RELGEN=1 のパラメータ設定を使用して RECOVER を実行し、元の世代を取得してください。

PLOG の処理

ADARAI RECOVER FEOFPL=YES と指定すると、RECOVER は実行の開始時点で PLOG を読み込み、コピーする必要のある情報を検索します。 必要に応じて、ニュークリアスをコールし、PLOG 切り替えを強制的に行います。 ニュークリアスが非アクティブの場合は、ユーザー出口 2 が起動されます。

リカバリログの読み込み

次に、RECOVER はスケルトンジョブ制御をストレージに読み込み、RELGEN パラメータで指定された世代の先頭から開始して発生順に RLOG を読み込みます。 世代の定義については、「世代:リカバリの単位」を参照してください。

データベース全体をリカバリする場合、RECOVER は ADASAV SAVE または RESTORE 情報を使用して新しい RESTORE/RESTONL データベース操作を作成します。 ファイルレベルのリカバリの場合は、SAVE/RESTORE データベース情報を使用して RESTORE FILE=... 機能を作成します。

リカバリジョブストリームの構築

データベースまたはファイルをリストアするジョブストリームを作成した後、RECOVER では %%JCL-STARTNUC ステートメントを使用してニュークリアスを開始するジョブステップを作成します。

次に、最初の再生成ジョブステップを作成します。 世代の開始がオンライン SAVE(または DELTA SAVE)に基づいていない限り、FROM チェックポイント(FROMCP)はこのジョブステップに含まれません。 その場合、再生成はオンラインセーブの最後のチェックポイント(SYN2)で開始します。

ユーティリティの次のチェックポイント(REGENERATE が停止すべきポイント)までのすべての PLOG が取り込まれ、適切なパラメータが ADARES REGENERATE 機能に対して指定されます。 再生成する PLOG が 99 個を超えると、ADARAI は複数の REGENERATE ジョブステップを生成し、各ジョブステップで 99 個までの入力 PLOG データセットが処理されます。

次のユーティリティ実行までの PLOG が再生成されると、ユーティリティジョブステップが出力リカバリジョブに生成されます。 次に ADARAI は、ユーティリティの次のチェックポイントまでの PLOG がすべて含まれている別の REGENERATE ジョブステップを挿入します。

リカバリジョブは、RELGEN パラメータで指定された世代の終わりが検出されるまで、REGENERATE ステップおよびユーティリティステップの挿入を続けます。 この時点で、完全なジョブストリームが DD/JCLOUT ファイルに送られます。

Top of page

ファイルレベルのリカバリ

RECOVER 機能の FILE パラメータを指定すると、ファイルレベルでリカバリを行うことができます。 ファイルレベルのリカバリ処理は、基本的にはデータベースレベルのリカバリ処理と同じですが、FILE パラメータで指定されたファイルに処理が限定されます。

ADARAI は、パラメータをユーティリティ実行ステートメントに追加することによって、ファイル固有の結果を DD/JCLOUT に出力します。 例えば、次のステートメントが元の ADASAV RESTORE ステートメントに含まれているとします。

ADASAV RESTORE FMOVE=2,3,NIRABN=100,1000,DSSIZE=550B,20

この場合、RECOVER FILE=3 から次の DD/JCLOUT ステートメントが作成されます。

ADASAV RESTORE FMOVE=2,3,NIRABN=100,1000,DSSIZE=550B,20
ADASAV EXCLUDE=2

注意:
リカバリ対象ファイルが拡張ファイルチェーンの一部であるかカップリングされていると、チェーンまたはカップリングリスト内のすべてのファイルをまとめてリカバリする必要があります。 カップリングファイルまたは拡張ファイルチェーンがすべてまとめてリカバリされないと、ADARAI でこれが検出され、ADARAI RECOVER 機能は失敗します。

ファイルレベルのリカバリジョブを実行する前に、Adabas ニュークリアスはアクティブになっている必要があります。 データベース自体を開始するデータベースレベルのリカバリジョブとは、この点が異なります。

ファイルレベルの RECOVER 操作では、データベース全体で実行されたユーティリティに対するジョブ制御(ADADEF NEWWORK など)は作成されません。 ただし、データベース全体だけでなく個々のファイルに対しても再実行できるユーティリティは例外です。 このようなユーティリティの例として、ADASAV RESTORE FILE=... ジョブ制御の作成に使用できる DD/SAVE 入力データセットを指定する ADASAV RESTORE(データベース)を挙げることができます。

Top of page

構文

graphics/util_adarai_recover.png

Top of page

オプションのパラメータとサブパラメータ

AUTOBACKOUT:未完了トランザクションのバックアウト

AUTOBACKOUT は、ファイルレベルのリカバリでのみ指定できます。

AUTOBACKOUT を指定すると、リカバリジョブの最後の REGENERATE 機能が終了した時点で、未完了のトランザクションがバックアウトされます。 完了したトランザクションのみがデータベースに残ります。

AUTOBACKOUT を指定しないと、未完了のトランザクションがデータベースに残ります。

データベースレベルのリカバリの場合、最後の REGENERATE 機能が終了した時点で、未完了のトランザクションは常にバックアウトされます。

DRIVES:ADASAV リストアの入力ドライブボリューム

DRIVES は、生成中のリカバリジョブの RESTORE ステップに対する入力として使用する入力データセット数を指定します。

DRIVES パラメータには、世代を開始したジョブの DRIVES パラメータ以下の値を指定する必要があります。 例えば、DRIVE=4 のデータベースセーブで世代を開始した場合、RECOVER DRIVES パラメータには 1、2、3、または 4 のみを指定できます。

RESTORE ステップの DRIVES に低い値を指定すると、ADARAI RECOVER は必要な DD/RESTn DD/DLBL のみを割り当て、各 DD/RESTn DD/DLBL に同じ個数の入力データセットを割り当てます。

DSIMDEV:DSIM データセットのデバイスタイプ

DSIMDEV は、ADARUN DEVICE パラメータで指定されたもの(デフォルト)と異なる場合に、DSIM データセットのデバイスタイプを指定します。

DSIMSIZE:DSIM データセットサイズ

サイズをシリンダ単位で指定します。

リカバリ中のデータベースで Adabas Delta Save Facility がアクティブになっている場合は、ADARAI で生成しなければならない可能性のある ADARES COPY 操作に対して DSIMSIZE を指定可能にするため、このパラメータの指定が必要です。

FEOFPL:複数の PLOG の同期

FEOFPL=YES(デフォルト)と指定すると、すべての複数の PLOG データセットからプロテクションログ(PLOG)データが確実にコピーされます。

ニュークリアスクラスタ環境では、FEOFPL=YES の動作が異なります。

どちらでもない場合は、FEOFPL=NO を指定して ADARAI を再スタートする必要があります。

FILE:ファイル番号

FILE は、リカバリジョブストリームの構築時に取り込む 1 つ以上のデータベースファイルを指定します。 FILE を指定すると、データベースレベルのリカバリではなくファイルレベルのリカバリが行われ、指定されたファイルのみが RECOVER 操作の対象になります。 FILE を指定しないと、すべてのデータベースファイルが取り込まれます(デフォルト)。

JCLLOG:ユーザー指定のジョブ制御

JCLLOG は、ユーザー指定の入力ジョブ制御(DDJCLIN 内の JCL または JCLIN 内の JCS)のリストを制御します。 JCLLOG=YES と指定すると、ユーザー指定の入力ジョブ制御エレメントがユーティリティログに出力されます。 デフォルトは、入力ジョブ制御ステートメントのリストなし(NO)です。

OPT:世代のリカバリジョブの最適化

OPT=YES と指定すると、ADARAI は特定の世代に対して作成するリカバリジョブを最適化しようとします。つまり、データベースまたはファイルを元の論理状態に戻すために不要なステップを除外しようとします。

OPT=NO と指定すると、リカバリジョブは最適化されません。

注意:
データベース上のスペースが限定されていると、データベースの構築方法が元の方法と異なるため、最適化されたリカバリジョブが失敗することがあります。 この状態が発生した場合、最適化なしで生成されたリカバリジョブを使用するか、リカバリを行う前にデータベースのサイズを増やす必要があります。

PLOGDEV:マルチプロテクションログのデバイスタイプ

PLOGDEV 値は、FEOFPL=YES を指定した場合にのみ使用されます。

PLOGDEV は、ADARUN DEVICE パラメータで指定されたもの(デフォルト)と異なる場合に、PLOG デバイスタイプを指定します。

RELGEN:相対リカバリ世代番号

RELGEN は、リカバリに使用する相対世代番号を指定します。 現行世代は常に、デフォルトである相対世代 "0"(ゼロ)でカップリングされます。 2 世代前、つまり最後に完了した世代の前の世代は、相対世代 "2" として指定されます。

指定された世代は、現在 RLOG に存在している必要があります。 使用可能な現在の RLOG 世代を確認するには、ADARAI LIST 機能を使用します。 ただし、表示される世代には、世代 "1"(RLOG 操作開始後の最初の世代)から始まる昇順の番号が付くことに注意してください。

RESTFILE:リストアファイルのジョブステップの作成

RESTFILE=NO(デフォルト)と指定すると、記録された ADASAV SAVE FILE= 実行の ADASAV RESTORE FILE=... ジョブステップが DDJCLOUT リカバリジョブストリームに含まれなくなります。 ADARES REGENERATE は ADASAV SAVE FILE=... チェックポイントで停止しないため、このようなジョブステップは含まれません。

RESTFILE=YES と指定すると、記録された ADASAV SAVE FILE=... ユーティリティのすべての実行に対して、リカバリジョブストリームで ADASAV RESTORE FILE=... ジョブステップが作成されます。

注意:
RESTFILE=YES を使用する場合は、世代で作成されたファイルセーブデータセットを保持する必要があります。

RESTFILE=YES および OPT=YES の両方を指定すると、RESTORE ステップまでのリストア済みファイルが無視されるため、RESTORE FILE= によってリカバリ処理時間が短縮されます。

RESTFILE=YES および OPT=NO を指定すると、不要な RESTORE ステップがリカバリジョブに含まれます。 リカバリジョブをこのように生成してから、目的のファイルに関して RESTORE ステップの前にあるすべてのステップを手動で削除してもかまいません。

RLOGDEV:RLOG 代替デバイス

RLOGDEV は、RLOG ファイルが含まれるデバイスタイプを指定します。 RLOG ファイルが ADARUN DEVICE パラメータで指定されたデバイスタイプ(デフォルトのデバイスタイプ)上に存在する場合は、RLOGDEV を指定する必要はありません。

Top of page

例 1

ADARAI RECOVER,DRIVES=3

RECOVER 機能では、現行世代(0、デフォルト)に基づいて、リカバリジョブストリームを構築します。 ジョブストリームの SAVE RESTORE 部分に、3 つの入力データセット DDREST1、DDREST2、および DDREST3 のステートメントを含めます。

例 2

ADARAI RECOVER  FILE=3,4,7,8,11
ADARAI          RELGEN=2, JCLLOG=YES

リカバリジョブストリームは 3 番目に古い世代に基づいており、データベースファイル 3、4、7、8、および 11 のみのアクティビティが存在し、ファイルレベルのジョブ制御を作成します。 RECOVER では、データセット DDJCLIN からユーティリティログにユーザー指定のジョブ制御も追加します。

例 3

ADARAI RECOVER,RELGEN=1,OPT=Y

RECOVER 機能は、最後の世代(現行世代の前にある世代)に基づいてリカバリジョブストリームを構築します。 ADARAI では、リカバリジョブの処理時間を短縮するために不要な処理を削除します。

Top of page

スケルトンジョブ制御

スケルトンジョブ制御は、DD/JCLIN ファイルに含まれており、RECOVER 機能の入力として読み込まれます。 RECOVER は、スケルトンジョブ制御と RLOG 情報を結合してリカバリジョブストリームを作成します。 スケルトンジョブ制御は、通常、安定しており、操作環境に固有です。

スケルトンジョブ制御内の各機能は、次の形式のステートメントで識別されます。

%%name 

%%JCL-ADASAV または %%JCL-STARTNUC などのように、名前は機能に固有です。 ジョブ制御ステートメントは %% 名前ステートメントに続き、次の %%JCL ステートメントで終了します。 各スケルトンセクションには、コメントやプログラム実行など、有効な任意のジョブ制御ステートメントを含めることができます。 これにより、リカバリ処理を柔軟に行うことができます。

ADARAI では、スケルトンジョブ制御内のステートメントの妥当性をチェックしません。 無効なステートメントは、リカバリジョブストリームの実行中にジョブ制御でエラーが発生して初めて判明します。

ジョブヘッダー:%%JCL-JOB-HEADER

ジョブヘッダーステートメントは、リカバリジョブストリームの先頭で他のジョブ制御ステートメントの前に配置します。

このジョブ制御は完全なリカバリジョブに関連しており、OS 用の JOB と JOBLIB ステートメントおよび VSE 用の POWER JCL と JOB ステートメントが含まれています。

ジョブトレーラ:%%JCL-JOB-TRAILER

ジョブトレーラステートメントは、リカバリジョブストリームの最後に配置します。

%%JCL-STARTNUC セクションで推奨されるように ADARUN UTIONLY=YES パラメータを指定してニュークリアスを開始した場合は、このセクションで ADADBS OPERCOM UTIONLY=NO 機能を実行するステートメントを指定して、リカバリ操作の後でデータベースを使用可能にすることがあります(このドキュメントの後にあるスケルトンジョブ制御の例を参照)。

ステップトレーラ:%%JCL-STEP-TRAILER

ステップトレーラステートメントは、リカバリジョブストリームの各ステップの後に配置します。

DD/KARTE ジョブ制御:%%JCL-DDKARTE

オペレーティングシステムによって異なる DD/KARTE ステートメントは、ADARAI で RLOG から生成される DD/KARTE パラメータの前にある各ジョブステップに含まれます。

z/OS および VSE では、ジョブストリームに DD/KARTE パラメータが含まれていることを、このステートメントで示す必要があります。

DD/FILEA ジョブ制御:%%JCL-DDFILEA

この(オプションの)JCL カードは、ADAORD REORDER 処理で問題を回避するために指定します。 プレースホルダとして、ジョブ内の元の DD/FILEA ステートメントに異なる DD/DLBL ステートメントを指定することができます。 指定した場合は、ADAORD REORDER が後で発生したときに、元の DD/FILEA ステートメントの代わりに挿入されます。

ユーティリティジョブ制御:%%JCL-utility

このスケルトンセクションは、リカバリジョブストリームでユーティリティジョブステップを作成するために使用します。 DD/JCLIN では、次のユーティリティジョブが使用可能です。

%%JCL-ADADEF %%JCL-ADAORD
%%JCL-ADAINV %%JCL-ADARES
%%JCL-ADALOD %%JCL-ADASAV

各セクションには、次のものが含まれています。

DD/CARD パラメータ、データベースファイル、またはライブラリに、プロシージャまたは区分データセット(PDS)メンバを使用できます。

ニュークリアスを開始するジョブ制御:%%JCL-STARTNUC

このジョブ制御は、Adabas ニュークリアスの開始に必要なすべてのステートメントで構成されます。 RECOVER 機能はこのジョブ制御を使用して、最初の再生成ジョブステップの前に(ニュークリアスがすでにアクティブになっていない場合は、アクティブなニュークリアスを必要とする各ユーティリティコールの前に)ニュークリアスを開始するジョブステップを作成します。

このジョブ制御には、以下を含むニュークリアスジョブ全体が取り込まれている必要があります。

このセクションでは、適切なジョブ入力システム(BS2000 のプロシージャモードの EDT および z/OS の IEBGENER など)にニュークリアスジョブ制御をサブミットする方法も必要になります。 このジョブ制御の例については、このドキュメントの後半にあるスケルトンジョブ制御例の %%JCL-STARTNUC セクションを参照してください。

ニュークリアスが実際にアクティブになるまでリカバリジョブストリームの実行を停止する方法を、このジョブ制御に含めることも重要です。 例えば、データベースに対して CL(クローズ)コマンドを発行するプログラムを作成できます。レスポンスコード 148 によってデータベースがアクティブでないことが示された場合は、プログラムは指定時間待機し、その後、CL コマンドを再発行できます。 プログラムの処理はレスポンスコード 0 が発生するまで続行し、この後、次のリカバリステップが実行可能になります。 この操作は、ADARAI CHKDB ACTIVE 機能を使用して実行できます。

ニュークリアスを停止するジョブ制御:%%JCL-ENDNUC

非アクティブなニュークリアスを必要とするユーティリティが検出されるたびに、Adabas ニュークリアスに対して ADAEND を実行するため、RECOVER は %%JCL-ENDNUC ジョブ制御をジョブストリームに挿入します。 ADADBS OPERCOM ADAEND 機能は、ニュークリアスの停止にも使用できます。 ADADBS OPERCOM を使用する場合は、ADADBS OPERCOM 機能の実行に必要なすべてのステートメントがジョブ制御ステートメントに含まれている必要があります。 ニュークリアス開始スケルトンジョブ制御の場合と同様に、ニュークリアスが非アクティブになるまでリカバリジョブストリームの実行を停止する方法も必要になります。この操作は、ADARAI CHKDB INACTIVE 機能を使用して実行できます。

特殊なジョブ制御ステートメント

次の特殊なキーワード/ステートメントは、DD/JCLOUT リカバリジョブストリームの世代を制御するため、DD/JCLIN スケルトンジョブ制御で使用されます。

%STEP (オプションの)%STEP キーワードがプログラム実行ステートメントに含まれていると、%STEP キーワードが含まれているジョブステップごとに、ジョブストリームにステップ番号が生成されます。 ステップ番号は 1 で始まる昇順の番号です。
%SEQUENTIAL シーケンシャルファイルのジョブ制御ステートメントを生成する各 %% スケルトンセクションに含まれている必要があります。 ADARAI は、%SEQUENTIAL ステートメントの代わりに、必要なシーケンシャルジョブ制御ステートメントを作成します。 このステートメントが含まれない場合は、処理中にエラーが発生します。
%KARTE Adabas DD/KARTE パラメータが生成される各 %% スケルトンセクションに含まれている必要があります。 ADARAI は、%KARTE ステートメントの代わりに、必要な DD/KARTE パラメータを作成します。 このステートメントが含まれない場合は、処理中にエラーが発生します。
%DBID (オプションの)%DBID キーワードがプログラム実行ステートメントに含まれていると、5 桁のデータベース ID 番号が生成されます。 データベース番号が 5 桁未満の場合は、先行ゼロが埋め込まれます。

Top of page

JCL を変更するユーザー出口

ADARAI には、自動生成されるリカバリジョブをサブミットする前にユーザーが変更できるようにするため、ユーザー出口 UEXRAI が用意されています。 必要な変更としては、デバイスタイプやボリューム名などがあります。

UEXRAI は、DDJCLOUT に JCL レコードが書き込まれる直前に JCL レコードを取得します。

ユーザー出口をコールするには、レジスタを次のように設定してください。

R1 DDJCLOUT にまもなく書き込まれる JCL レコード行
R13 72 バイトの標準レジスタセーブエリア
R14 リターンアドレス
R15 エントリポイント

Top of page

リカバリ前のチェック

リカバリジョブストリームを開始する前に、リカバリデータベースとリカバリジョブストリームのステータスをチェックします。

データベースレベルのリカバリの場合は、次のことがチェックされます。

注意:
残りの DIB エントリまたは保留中のニュークリアスセッションの自動再スタートは、初期 RESTORE ステップで自動処理されるため無視できます。

ファイルレベルのリカバリの場合は、次のことがチェックされます。

Top of page

RECOVER 機能または リカバリジョブストリームの再スタート

RECOVER 機能では RLOG を読み込むのみであり、変更を加えないため、ADARAI RECOVER 機能が中断された場合には、最初から再スタートできます。

通常のリストア/再生成処理と同じように、RECOVER 機能で作成された DD/JCLOUT リカバリジョブストリームを再スタートできます。 ただし、ジョブストリームを編集し、正常に完了したユーティリティ操作のステップを削除する必要がある場合があります。 この操作の後、(中断の原因が取り除かれた場合は)失敗したユーティリティ操作から開始してリカバリ処理を続行できます。

中断されたリカバリジョブは、常に最初から再スタートできます。 また、エラー原因およびエラーを含むジョブステップによっては、失敗したジョブステップまたは少し前のステップからリカバリジョブを再スタートすることもできます。

Top of page