ここでは、BS2000、z/OS、z/VM、および VSE システムにおける ADARAI の実行に必要なジョブ制御情報について説明し、各ジョブストリームの例を示します。
このドキュメントでは、次のトピックについて説明します。
ここでは、BS2000 システムで ADARAI を使用する場合の追加考慮事項および要件について説明します。
データセット | リンク名 | ストレージ | 追加情報 |
---|---|---|---|
アソシエータ | DDASSORn | ディスク | |
データストレージ | DDDATARn | ディスク | RECOVER に必要 |
ワーク | DDWORKR1 DDWORKR4 |
ディスク | RECOVER に必要 |
データプロテクションログ | DDPLOGRn | テープ/ディスク | RECOVER に必要 |
リカバリログ(RLOG) | DDRLOGR1 | ディスク | |
ジョブストリーム入力 | DDJCLIN | ディスク | RECOVER に必要 |
リカバリジョブ出力 | DDJCLOUT | ディスク | RECOVER に必要 |
リカバリジョブ出力(コンソールサブタスクの JCL) | DDJCLCON | ディスク | オプションであり、 RECOVER のみに使用 |
ADARUN パラメータ | DDCARD | オペレーションマニュアル | |
ADARAI パラメータ | SYSDTA/ DDKARTE | オペレーションマニュアル | |
ADARUN メッセージ | SYSOUT DDPRINT | メッセージおよびコード | |
ADARAI メッセージ | SYSLST DDDRUCK | メッセージおよびコード |
共用ディスクに存在するシーケンシャルデータセットに関する制限はありません。
専用ディスクに存在するシーケンシャルデータセットはエクスポートできません。このことは、カタログエントリは消去できず、専用ディスク上のデータセットに対する /IMPORT-FILE コマンドをリカバリジョブ制御に含めることができないことを意味します。
テープに存在するシーケンシャルデータセットのカタログエントリは、システムのカタログから削除しないことをお勧めします。 RECOVER によってシーケンシャルデータセットのカタログエントリがテープまたはカートリッジで検出されないと、ジョブストリームに次のステートメントが取り込まれます。
/IMPORT-FILE FILE-NAME=tempfile ,...
ここで tempfile は次の構造になっています。
#ADARAI.RECOVER.TAPE.nnnnn
ディスクまたはテープにかかわらず、シーケンシャルデータセットに対して FGG を使用する場合には、制限はありません。
ADARAI は、元のカタログエントリを使用して BS2000 のシーケンシャルデータセットにアクセスしようとします。 シーケンシャルデータセットがファイル世代グループ(FGG)に存在すると、ADARAI では絶対メンバを割り当てますが、ベースポインタを使用または変更することはありません。
シーケンシャルデータセットがパスワードによって読み込み保護されている場合は、スケルトンジョブ制御の %%JCL-JOB-HEADER セクションにパスワードが含まれている必要があります。
ADARAI はデータセットのエクスポートおよび消去を行いません。 テープデータセットのカタログエントリが存在しないと、ADARAI は #ADARAI.RECOVER.TAPE.nnnnn という名前で中間データセットを作成します。ここで、nnnnn は "00001"、"00002" などです。
/.ADARAI LOGON /MODIFY-TEST-OPTIONS DUMP=YES /REMARK * /REMARK *A D A R A I START RECOVERY LOGGING /REMARK * /ASS-SYSLST L.RAI.DATA /ASS-SYSDTA *SYSCMD /SET-FILE-LINK DDLIB,ADAvrs.MOD /SET-FILE-LINK DDASSOR1,DB.yyyyy.ASSO /SET-FILE-LINK DDRLOGR1,DB.yyyyy.RLOGR1,OPEN-MODE=OUTIN,BUFF-LEN=STD(2) /START-PROGRAM *M(ADA.MOD,ADARUN),PR-MO=ANY ADARUN PROG=ADARAI,DBID=yyyyy,MODE=MULTI ADARAI PREPARE RLOGSIZE=5,RLOGDEV=dddd,MINGENS=5 /LOGOFF SYS-OUTPUT=DEL
/.ADARAI LOGON /OPTION MSG=FH,DUMP=YES /REMARK * /REMARK *A D A R A I START RECOVERY LOGGING /REMARK * /REMARK * /SYSFILE SYSLST=L.RAI.DATA /FILE ADAvrs.MOD,LINK=DDLIB /FILE DB.yyyyy.ASSO ,LINK=DDASSOR1 /FILE DB.yyyyy.RLOGR1,LINK=DDRLOGR1,OPEN=OUTIN,BLKSIZE=(STD,2) /EXEC (ADARUN,ADAvrs.MOD) ADARUN PROG=ADARAI,DBID=yyyyy,MODE=MULTI ADARAI PREPARE RLOGSIZE=5,RLOGDEV=dddd,MINGENS=5 /LOGOFF NOSPOOL
/.ADARAI LOGON /MODIFY-TEST-OPTIONS DUMP=YES /REMARK * /REMARK *A D A R A I LIST RECOVERY LOGS /REMARK * /ASS-SYSLST L.RAI.DATA /ASS-SYSDTA *SYSCMD /SET-FILE-LINK DDLIB,ADAvrs.MOD /SET-FILE-LINK DDASSOR1,DB.yyyyy.ASSO /SET-FILE-LINK DDRLOGR1,DB.yyyyy.RLOGR1 /START-PROGRAM *M(ADA.MOD,ADARUN),PR-MO=ANY ADARUN PROG=ADARAI,DBID=yyyyy,MODE=MULTI ADARAI LIST GENS=NO,RLOGDEV=dddd,RELGEN=1 /LOGOFF SYS-OUTPUT=DEL
/.ADARAI LOGON /OPTION MSG=FH,DUMP=YES /REMARK * /REMARK *A D A R A I LIST RECOVERY LOGS /REMARK * /REMARK * /SYSFILE SYSLST=L.RAI.DATA /FILE ADAvrs.MOD,LINK=DDLIB /FILE DB.yyyyy.ASSO ,LINK=DDASSOR1 /FILE DB.yyyyy.RLOGR1,LINK=DDRLOGR1 /EXEC (ADARUN,ADAvrs.MOD) ADARUN PROG=ADARAI,DBID=yyyyy,MODE=MULTI ADARAI LIST GENS=NO,RLOGDEV=dddd,RELGEN=1 /LOGOFF NOSPOOL
/.ADARAI LOGON /MODIFY-TEST-OPTIONS DUMP=YES /REMARK * /REMARK *A D A R A I BUILD RECOVERY JCL STREAM /REMARK * /DELETE-FILE DB.yyyyy.JCLOUT /SET-JOB-STEP /CREATE-FILE DB.yyyyy.JCLOUT,PUB(SPACE=(48,48)) /SET-JOB-STEP /DELETE-FILE DB.yyyyy.JCLCON /SET-JOB-STEP /CREATE-FILE DB.yyyyy.JCLCON,PUB(SPACE=(48,48)) /SET-JOB-STEP /ASS-SYSLST L.RAI.DATA /ASS-SYSDTA *SYSCMD /SET-FILE-LINK DDLIB,ADAvrs.MOD /SET-FILE-LINK DDASSOR1,DB.yyyyy.ASSO /SET-FILE-LINK DDRLOGR1,DB.yyyyy.RLOGR1 /SET-FILE-LINK DDPLOGR1,DB.yyyyy.PLOGR1 /SET-FILE-LINK DDPLOGR2,DB.yyyyy.PLOGR2 /SET-FILE-LINK DDJCLIN,DB.yyyyy.JCLIN /SET-FILE-LINK DDJCLOUT,DB.yyyyy.JCLOUT /SET-FILE-LINK DDJCLCON,DB.yyyyy.JCLCON /START-PROGRAM *M(ADA.MOD,ADARUN),PR-MO=ANY ADARUN PROG=ADARAI,DBID=yyyyy,MODE=MULTI ADARUN UEX2=EXITR2 ADARAI RECOVER PLOGDEV=2201,FEOFPL=YES,RELGEN=1 /LOGOFF SYS-OUTPUT=DEL
/.ADARAI LOGON /OPTION MSG=FH,DUMP=YES /REMARK * /REMARK *A D A R A I BUILD RECOVERY JCL STREAM /REMARK * /REMARK * /SYSFILE SYSLST=L.RAI.DATA /FILE ADAvrs.MOD,LINK=DDLIB /FILE DB.yyyyy.ASSO,LINK=DDASSOR1 /FILE DB.yyyyy.RLOGR1,LINK=DDRLOGR1 /FILE DB.yyyyy.PLOGR1,LINK=DDPLOGR1 /FILE DB.yyyyy.PLOGR2,LINK=DDPLOGR2 /FILE DB.yyyyy.JCLIN,LINK=DDJCLIN /FILE DB.yyyyy.JCLOUT,LINK=DDJCLOUT /FILE DB.yyyyy.JCLCON,LINK=DDJCLCON /EXEC (ADARUN,ADAvrs.MOD) ADARUN PROG=ADARAI,DBID=yyyyy,MODE=MULTI ADARUN UEX2=EXITR2 ADARAI RECOVER PLOGDEV=2201,FEOFPL=YES,RELGEN=1 /LOGOFF NOSPOOL
BS2000 システムの場合、スケルトンジョブ制御には次の特性があります。
最初の 2 つの位置は空白にする必要があります。
ステートメントの最大長は 256 文字であり、最初の 2 つの位置にある空白も含まれます。
ステートメントは継続でき、継続マーク(-)は任意の位置に配置できます(位置 74 には限定されません)。
バージョン 10 の ADARAI では、次のコマンドが自動的に追加されます。
/MODIFY-SDF-OPTIONS CONTINUATION=NEW-MODE
BS2000 Executive のジョブ制御ステートメントは、必要に応じて 72 バイトのセグメントに自動的に分割されます。 通常のプログラムコントロールステートメントはセグメント化されません。
文字列置換(下の説明を参照)の場合を除き、ADARAI はジョブ制御ステートメントの構文をチェックまたは変更しません。
上記の一般的な JCL 特性に加え、BS2000 システムではスケルトン JCL に次のものを含めることができます。
頻繁に使用されるジョブ制御入力を繰り返すための置換文字列
DDFILEA データセットの上書き、テープボリュームの割り当て、およびディスクスペースクレジット
RECOVER で生成されるコンソールメッセージのサブタスク処理
以上のオプションは、スケルトン JCL の先頭で %%JCL-JOB-HEADER ステートメントの直前に指定する必要があります。
データセット名などの頻繁に使用する文字列は、置換セクションで定義できます。 定義された文字列は、ユーザープログラムのコントロールステートメントだけでなく BS2000 の JCL にも挿入されます。
文字列置換を使用するには、次の JCL ステートメントを %%JCL-JOB-HEADER の前に配置します。
%%JCL-BS2-SUBSTITUTION
このステートメントの後に、次の形式の置換定義が続きます。
%%argname=substring
ここで、argname は置換される 1~8 文字の JCL または ユーザープログラムの制御引数であり、substring は 128 文字以内の置換文字列です。 1 行あたり 1 つの置換ステートメントが有効であり、次の %%JCL ステートメントが出現すると、置換ステートメントは終了します。
ここで説明している JCL ステートメントは、スケルトン JCL の %%JCL-JOB-HEADER の前に配置する必要があります。
ADAORD は、BS2000 リカバリジョブの途中で DDFILEA 出力データセットをオープンする唯一のユーティリティです。 ADARAI は、データセット が RECOVER 実行中に存在したかどうかにかかわらず、データセットをディスクまたはテープに割り当てることを支援します。
既存のテープデータセットが上書きされることはありません。 既存の DDFILEA ディスクデータセットを上書きするには、スケルトン JCL で次のステートメントを指定します。
%%JCL-BS2-WORK-DATASET-OVERWRITE=YES
OVERWRITE のデフォルトは NO です。 DDFILEA 割り当てが検出されず上書きが禁止されている(デフォルト)と、ADARAI では DDFILEA データセットを TAPE-C1 カートリッジに書き込もうとします。
DDFILEA をテープではなくディスクに割り当てるには、次の JCL ステートメントを指定します。
%%JCL-BS2-WORK-DISK-SPACE
次に、1 つ以上のディスクスペース割り当てステートメントを次のように指定します。
:catid :=pam-pages
ADARAI では、指定された PAM ページ数をパブセットに割り当てるために、パブセットの可用性および ADARAI タスクのログオンユーザー ID をチェックします。 チェックに失敗した場合は、関連するパブセットの結合ファイルにユーザーのログオン ID を追加し、生成されたリカバリジョブを開始する前に ADARAI RECOVER ジョブステップを繰り返す必要があります。 この操作を行わないと、ADAORD ジョブステップがアベンドする可能性があります。
DDFILEA 出力テープデバイスおよびボリュームを割り当てるには、次のステートメントを指定します。
%%JCL-BS2-WORK-TAPE-VOLUMES=device-type
出力テープデータセットを作成する必要がある場合、ADARAI は #ADARAI.RECOVER.TAPE nnnnn という名前の中間データセットを使用します。ここで、nnnnn は "00001"、"00002" などです。 次のセクションで説明するコンソールサブタスクオプションが使用可能になっている場合は、各行に 1 つ以上の volser 番号を空白またはコンマで区切って指定できます。 各行の最初の 2 つの位置は空白にする必要があり、行の最大長は 256 文字です。
次に例を示します。
%%JCL-BS2-WORK-TAPE-VOLUMES=TAPE-C1 A00001,A00002,A00003,A00004 A00005,A00006,A00007,A00008
512 ボリュームまで指定できます。
ADARAI RECOVER で作成されたリカバリジョブをサブミットすると、オペレータの介入を必要とする次のようなコンソールメッセージが表示される場合があります。
テープデータセットのカタログエントリが使用できず、中間データセットに対して ADARAI が /IMPORT-FILE ステートメントを挿入したため、DMS0DA5 コンソールメッセージが表示されました。
DDFILEA データセットにテープ出力が必要であり、ADARAI が JCL を取り込んだため、スクラッチテープのマウントを要求するメッセージが表示されました。
これらのメッセージには、リカバリジョブでサブタスクとして並列実行される UCON プログラムで自動的に対応できます。 UCON プログラム(ADAR2C)は、関係するコンソールメッセージをすべて受信し、可能な限り応答を送信します。
コンソールサブタスクを実行するには、%%JCL-JOB-HEADER の前に次のセクションを指定します。
%%JCL-BS2-CONSOLE-SUBTASK-SPECIFICATION CONSOLE-NAME=name,C'password' (this statement is required) DCAM-APPL=dcamappl (this statement is optional)
ここでは次の内容を表しています。
name | /LOGON ユーザー ID |
password | ユーザー ID のログオンパスワード |
dcamappl | DCAM アプリケーション名(デフォルトは "RAIRUCON") |
詳細は、『BS2000 Systems Administration』の「Authorized User Tasks」を参照してください。
次のオプションのステートメントをスケルトン JCL に含め、その後に volser 定義を指定することができます。 コンソールサブタスクがコールされない場合、volser 定義は影響を及ぼしません。
%%JCL-BS2-WORK-TAPE-VOLUMES=device-type
次のステートメントを ADARAI RECOVER 機能の JCL(スケルトン JCL ではない)に含めます。
/SET-FILE-LINK FILE-NAME=console-job,LINK-NAME=DDJCLCON
次の RECOVER 機能の JCL 例には、コンソールサブタスクが含まれています。
/ LOGON / SET-FILE-LINK FILE-NAME=ADA.JCLIN,LINK-NAME=DDJCLIN / SET-FILE-LINK FILE-NAME=ADA.JCLOUT,LINK-NAME=DDJCLOUT / SET-FILE-LINK FILE-NAME=ADA.JCLCON,LINK-NAME=DDJCLCON . . / ASSIGN-SYSDTA TO-FILE=*SYSCMD / SET-FILE-LINK ADAvrs.MOD,LINK-NAME=DDLIB / START-PROG *M(E=ADARUN,L=ADAvrs.MOD) ADARUN PROG=ADARAI,DB=47 ADARAI RECOVER / LOGOFF NOSPOOL
コンソールサブタスクは、次の BS2000 コンソールメッセージを評価します。ここで、tsn はタスクのシリアル番号、mn は簡略テクニカルデバイス名です。
NKVT010 VOLUME volser IS MOUNTED ON DEVICE mn |
volser およびデバイスが「DDFILEA JCL オプション」の説明に従って指定されていると、サブタスクのオンライン volser テーブルに登録されます。 この時点でメッセージ NKVT013 も未解決の場合は、サブタスクからレスポンス "tsn.mn" が返されます。
NKVT011/97 VOLUME volser IS DISMOUNTED FROM DEVICE mn... |
volser はオンライン volser テーブルから削除されます。
NKVT013 MOUNT TAPE '*SCRAT' ON DEVICE ... |
このメッセージが RECOVER タスクに関係しており、volser がオンライン volser テーブルで使用可能な場合は、サブタスクからレスポンス "tsn.mn" が送られます。
DMS0DFB ACKNOWLEDGE VSN volser ON DEVICE mn... |
このメッセージが RECOVER タスクに関係している場合は、サブタスクからレスポンス "tsn" が送られます。
DMS0DA5 INVALID FILE SPECIFICATION: VSN volser FOR FILE file... |
関連する "tsn" が RECOVER タスクの "tsn" で、file が #ADARAI.RECOVER.TAPE.nnnnn という名前の中間データセットの場合は、メッセージがレスポンス "tsn.I" で応答されます。
サブタスクから応答するには、誤ったファイル ID を持つテープをログオン ID が無視できる必要があります。 このことを可能にするには、システム管理者のログオン ID(TSOS)を使用して、次のステートメントを発行します。
/MOD-USER userid,PROTECTION-ATTRIBUTE=(TAPE-ACCESS=READ)
%%JCL-BS2-WORK-DATASET-OVERWRITE = NO %%JCL-BS2-WORK-DISK-SPACE :A: = 500000 :B: = 1000000 %%JCL-BS2-CONSOLE-SUBTASK-SPECIFICATION CONSOLE-NAME=CON1,C'PASSWORD' %%JCL-BS2-WORK-TAPE-VOLUMES=TAPE-C1 A00001,A00002,A00003,A00004,A00005 A00006,A00007,A00008,A00009,A00010 %%JCL-BS2-SUBSTITUTION %%USERID = ADAvr %%AC %%ASSOR1 = $ADAvr.DByyyyy.ASSOR1 %%ASSOR2 = $ADAvr.DByyyyy.ASSOR2 %%DATAR1 = $ADAvr.DByyyyy.DATAR1 %%DATAR2 = $ADAvr.DByyyyy.DATAR2 %%WORK = $ADAvr.DByyyyy.WORK %%SORT = $ADAvr.DByyyyy.SORT% %%TEMP = $ADAvr.DByyyyy.TEMP %%RLOGR1 = $ADAvr.DByyyyy.RLOGR1 %%PLOGR1 = $ADAvr.DByyyyy.PLOGR1 %%PLOGR2 = $ADAvr.DByyyyy.PLOGR2 %%DBID = yyyyy %%IDTNAME = ADABASvB %%USEREX = ADAvrs.USEREXITS.MOD %%DDLIB = ADAvrs.MOD %%DEVICE = dddd %%JCL-JOB-HEADER /.RECOVER LOGON %%USERID,%%ACCOUNT / SET-FILE-LINK FILE-NAME=%%USEREX,LINK-NAME=BLSLIB01 / SET-FILE-LINK FILE-NAME=%%DDLIB,LINK-NAME=DDLIB / ASSIGN-SYSOUT TO-FILE=$ADAvv.RAI.OUT / ASSIGN-SYSLST TO-FILE=$ADAvv.RAI.LST%%JCL-JOB-TRAILER /REMARK -----------------------------------------------------------* /REMARK * RECOVERY JOB SUCCESSFULLY TERMINATED * /REMARK -----------------------------------------------------------* /LOGOFF NOSPOOL /.JOBERROR REMARK /REMARK +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++* /REMARK * RECOVERY JOB TERMINATED WITH ERROR * /REMARK +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++* /LOGOFF NOSPOOL %%JCL-ADARES /REMARK /REMARK REGENERATE/ BACKOUT /REMARK / SET-FILE-LINK FILE-NAME=%%RLOGR1,LINK-NAME=DDRLOGR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR1,LINK-NAME=DDASSOR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR2,LINK-NAME=DDASSOR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR1,LINK-NAME=DDDATAR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR2,LINK-NAME=DDDATAR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%WORK,LINK-NAME=DDWORKR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=RAI.DRU.JCLO.ADARES,LINK-NAME=DDDRUCK / SET-FILE-LINK FILE-NAME=RAI.PRI.JCLO.ADARES,LINK-NAME=DDPRINT %SEQUENTIAL / ASSIGN-SYSDTA TO-FILE=*SYSCMD / START-PROGRAM FROM-FILE=*MODULE(ELEMENT=ADARUN,LIBRARY=%%DDLIB) ADARUN MODE=MULTI,PROG=ADARES ADARUN DBID=%%DBID,DE=%%DEVICE,IDTNAME=%%IDTNAME %KARTE %%JCL-STEP-TRAILER /SET-JOB-STEP%%JCL-ADASAV /REMARK /REMARK RESTORE FILE(S)/DATABASE /REMARK /.%STEP REMARK / SET-FILE-LINK FILE-NAME=%%RLOGR1,LINK-NAME=DDRLOGR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR1,LINK-NAME=DDASSOR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR2,LINK-NAME=DDASSOR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR1,LINK-NAME=DDDATAR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR2,LINK-NAME=DDDATAR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%WORK,LINK-NAME=DDWORKR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=RAI.DRU.JCLO.RESTORE,LINK-NAME=DDDRUCK / SET-FILE-LINK FILE-NAME=RAI.PRI.JCLO.RESTORE,LINK-NAME=DDPRINT %SEQUENTIAL / ASSIGN-SYSDTA TO-FILE=*SYSCMD / START-PROGRAM FROM-FILE=*MODULE(ELEMENT=ADARUN,LIBRARY=%%DDLIB) ADARUN MODE=MULTI,PROG=ADASAV ADARUN DBID=%%DBID,DE=%%DEVICE,IDTNAME=%%IDTNAME %KARTE %%JCL-ENDNUC /REMARK /REMARK ADADBS END NUCLEUS /REMARK / SET-FILE-LINK FILE-NAME=%%RLOGR1,LINK-NAME=DDRLOGR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR1,LINK-NAME=DDASSOR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR2,LINK-NAME=DDASSOR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR1,LINK-NAME=DDDATAR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR2,LINK-NAME=DDDATAR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%WORK,LINK-NAME=DDWORKR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%SORT,LINK-NAME=DDSORTR1 / SET-FILE-LINK FILE-NAME=%%TEMP,LINK-NAME=DDTEMPR1 / SET-FILE-LINK FILE-NAME=RAI.DRU.JCLO.ADADBS,LINK-NAME=DDDRUCK / SET-FILE-LINK FILE-NAME=RAI.PRI.JCLO.ADADBS,LINK-NAME=DDPRINT / ASSIGN-SYSDTA TO-FILE=*SYSCMD / START-PROGRAM FROM-FILE=*MODULE(ELEMENT=ADARUN,LIBRARY=%%DDLIB) ADARUN MODE=MULTI,PROG=ADADBS ADARUN DBID=%%DBID,DE=%%DEVICE,IDTNAME=%%IDTNAME ADADBS OPERCOM ADAEND /REMARK /REMARK CHECK INACTIVE DATABASE /REMARK / SET-FILE-LINK FILE-NAME=RAI.DRU.JCLO.ADARAI,LINK-NAME=DDDRUCK / SET-FILE-LINK FILE-NAME=RAI.PRI.JCLO.ADARAI,LINK-NAME=DDPRINT / ASSIGN-SYSDTA TO-FILE=*SYSCMD / START-PROGRAM FROM-FILE=*MODULE(ELEMENT=ADARUN,LIBRARY=%%DDLIB) ADARUN MODE=MULTI,PROG=ADARAI,DBID=%%DBID,DE=%%DEVICE,IDTNAME=%%IDTNAME ADARAI CHKDB INACTIVE %%JCL-ADADEF /REMARK /REMARK DEFINE NEWWORK /REMARK / SET-FILE-LINK FILE-NAME=%%RLOGR1,LINK-NAME=DDRLOGR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR1,LINK-NAME=DDASSOR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR2,LINK-NAME=DDASSOR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR1,LINK-NAME=DDDATAR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR2,LINK-NAME=DDDATAR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%WORK,LINK-NAME=DDWORKR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%SORT,LINK-NAME=DDSORTR1 / SET-FILE-LINK FILE-NAME=%%TEMP,LINK-NAME=DDTEMPR1 / SET-FILE-LINK FILE-NAME=RAI.DRU.JCLO.ADADEF,LINK-NAME=DDDRUCK / SET-FILE-LINK FILE-NAME=RAI.PRI.JCLO.ADADEF,LINK-NAME=DDPRINT / ASSIGN-SYSDTA TO-FILE=*SYSCMD / START-PROGRAM FROM-FILE=*MODULE(ELEMENT=ADARUN,LIBRARY=%%DDLIB) ADARUN MODE=MULTI,PROG=ADADEF ADARUN DBID=%%DBID,DE=%%DEVICE,IDTNAME=%%IDTNAME %KARTE %%JCL-ADALOD /REMARK /REMARK LOAD A FILE/ MASS UPDATE /REMARK / SET-FILE-LINK FILE-NAME=%%RLOGR1,LINK-NAME=DDRLOGR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR1,LINK-NAME=DDASSOR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR2,LINK-NAME=DDASSOR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR1,LINK-NAME=DDDATAR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR2,LINK-NAME=DDDATAR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%WORK,LINK-NAME=DDWORKR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%SORT,LINK-NAME=DDSORTR1 / SET-FILE-LINK FILE-NAME=%%TEMP,LINK-NAME=DDTEMPR1 / SET-FILE-LINK FILE-NAME=RAI.DRU.JCLO.ADALOD,LINK-NAME=DDDRUCK / SET-FILE-LINK FILE-NAME=RAI.PRI.JCLO.ADALOD,LINK-NAME=DDPRINT %SEQUENTIAL / ASSIGN-SYSDTA TO-FILE=*SYSCMD / START-PROGRAM FROM-FILE=*MODULE(ELEMENT=ADARUN,LIBRARY=%%DDLIB) ADARUN MODE=MULTI,PROG=ADALOD ADARUN DBID=%%DBID,DE=%%DEVICE,IDTNAME=%%IDTNAME %KARTE %%JCL-ADAORD /REMARK /REMARK REORDER /REMARK / SET-FILE-LINK FILE-NAME=%%RLOGR1,LINK-NAME=DDRLOGR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR1,LINK-NAME=DDASSOR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR2,LINK-NAME=DDASSOR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR1,LINK-NAME=DDDATAR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR2,LINK-NAME=DDDATAR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%WORK,LINK-NAME=DDWORKR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%SORT,LINK-NAME=DDSORTR1 / SET-FILE-LINK FILE-NAME=%%TEMP,LINK-NAME=DDTEMPR1 / SET-FILE-LINK FILE-NAME=RAI.DRU.JCLO.ADAORD,LINK-NAME=DDDRUCK / SET-FILE-LINK FILE-NAME=RAI.PRI.JCLO.ADAORD,LINK-NAME=DDPRINT %SEQUENTIAL / ASSIGN-SYSDTA TO-FILE=*SYSCMD / START-PROGRAM FROM-FILE=*MODULE(ELEMENT=ADARUN,LIBRARY=%%DDLIB) ADARUN MODE=MULTI,PROG=ADAORD ADARUN DBID=%%DBID,DE=%%DEVICE,IDTNAME=%%IDTNAME %KARTE %%JCL-ADAINV /REMARK /REMARK INVERT/ COUPLE /REMARK / SET-FILE-LINK FILE-NAME=%%RLOGR1,LINK-NAME=DDRLOGR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR1,LINK-NAME=DDASSOR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%ASSOR2,LINK-NAME=DDASSOR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR1,LINK-NAME=DDDATAR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%DATAR2,LINK-NAME=DDDATAR2, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%WORK,LINK-NAME=DDWORKR1, - / SUP=DISK(SHARE-UPD=YES) / SET-FILE-LINK FILE-NAME=%%SORT,LINK-NAME=DDSORTR1 / SET-FILE-LINK FILE-NAME=%%TEMP,LINK-NAME=DDTEMPR1 / SET-FILE-LINK FILE-NAME=RAI.DRU.JCLO.ADADBS,LINK-NAME=DDDRUCK / SET-FILE-LINK FILE-NAME=RAI.PRI.JCLO.ADADBS,LINK-NAME=DDPRINT / ASSIGN-SYSDTA TO-FILE=*SYSCMD / START-PROGRAM FROM-FILE=*MODULE(ELEMENT=ADARUN,LIBRARY=%%DDLIB) ADARUN MODE=MULTI,PROG=ADAINV ADARUN DBID=%%DBID,DE=%%DEVICE,IDTNAME=%%IDTNAME %KARTE %%JCL-STARTNUC /REMARK /REMARK START NUCLEUS /REMARK / MODIFY-JOB-SWITCHES ON=(4,5) / ASSIGN-SYSDTA TO-FILE=*SYSCMD / START-PROGRAM FROM-FILE=EDT :/.ADANUC LOGON %%USERID,%%ACCOUNT :/ SET-FILE-LINK FILE-NAME=%%RLOGR1,LINK-NAME=DDRLOGR1,- :/ SUP=DISK(SHARE-UPD=YES) :/ SET-FILE-LINK FILE-NAME=%%PLOGR1,LINK-NAME=DDPLOGR1,- :/ SUP=DISK(SHARE-UPD=YES) :/ SET-FILE-LINK FILE-NAME=%%PLOGR2,LINK-NAME=DDPLOGR2,- :/ SUP=DISK(SHARE-UPD=YES) :/ SET-FILE-LINK FILE-NAME=%%ASSOR1,LINK-NAME=DDASSOR1,- :/ SUP=DISK(SHARE-UPD=YES) :/ SET-FILE-LINK FILE-NAME=%%ASSOR2,LINK-NAME=DDASSOR2,- :/ SUP=DISK(SHARE-UPD=YES) :/ SET-FILE-LINK FILE-NAME=%%DATAR1,LINK-NAME=DDDATAR1,- :/ SUP=DISK(SHARE-UPD=YES) :/ SET-FILE-LINK FILE-NAME=%%DATAR2,LINK-NAME=DDDATAR2,- :/ SUP=DISK(SHARE-UPD=YES) :/ SET-FILE-LINK FILE-NAME=%%WORK,LINK-NAME=DDWORKR1,- :/ SUP=DISK(SHARE-UPD=YES) :/ SET-FILE-LINK FILE-NAME=RAI.DRU.JCLO.ADANUC,LINK-NAME=DDDRUCK :/ SET-FILE-LINK FILE-NAME=RAI.PRI.JCLO.ADANUC,LINK-NAME=DDPRINT :/ ASSIGN-SYSDTA TO-FILE=*SYSCMD :/ SET-FILE-LINK FILE-NAME=%USEREX,LINK-NAME=BLSLIB01 :/ SET-FILE-LINK FILE-NAME=%%DDLIB,LINK-NAME=DDLIB :/ START-PROGRAM FROM-FILE=*MODULE(ELEMENT=ADARUN,LIBRARY=%%DDLIB) :ADARUN PROG=ADANUC :ADARUN DATABASE=%%DBID DATA BASE ID :ADARUN IDTNAME=%%IDTNAME NAME OF IDT :ADARUN DEVICE=%%DEVICE :ADARUN IDTNAME=%%IDTNAME :ADARUN LFIOP=1000000,LWP=800000,LBP=4000000,LU=64000 :ADARUN LP=200,LS=20000,TT=900,TNAE=900,OPENRQ=NO,PLOGRQ=YES :ADARUN NAB=20,NH=400,NU=200,NISNHQ=50,NC=20,NPLOG=2,PLOGDEV=2000 :ADARUN PLOGSIZE=1000,NCLOG=2,CLOGDEV=2000,CLOGSIZE=500 :ADARUN UEX2=USEREX2 :/LOGOFF SYSOUT=DEL @D &:1-1: @W '#NUCENT' O @H /STEP /ENTER-JOB #NUCENT,PROC-ADMIS=PAR(USER-ID=%%USERID, - / ACCOUNT=%%ACCOUNT) /STEP / SET-FILE-LINK FILE-NAME= %%DDLIB,LINK-NAME=DDLIB / SET-FILE-LINK FILE-NAME=RAI.DRU.JCLO.ADARES,LINK-NAME=DDDRUCK / SET-FILE-LINK FILE-NAME=RAI.PRI.JCLO.ADARES,LINK-NAME=DDPRINT / ASSIGN-SYSDTA TO-FILE=*SYSCMD / START-PROGRAM FROM-FILE=*MODULE(ELEMENT=ADARUN,LIBRARY=%%DDLIB) ADARUN MODE=MULTI,PROG=ADARAI ADARUN DBID=%%DBID,DE=%%DEVICE,IDTNAME=%%IDTNAME ADARAI CHKDB ACTIVE
ヘッドクラッシュなどの回復不可能なハードウェアエラーなどが原因でパブセットメンバが失われた場合は、新しいメンバを初期化してパブセットに取り込み、パブセット内のすべてのデータセットをリストアします。 ほとんどの場合、ASSO、DATA、WORK、および PLOG データセットを、ハードウェア障害が発生する前と同じディスク位置に再割り当てする必要もあります。
ADAR2E ユーティリティは、割り当てられたデータセットの TSOSCAT エントリを読み込み、Adabas ファイルを前と同じディスク位置に再割り当てするプロシージャを作成します。 ADAR2E ユーティリティの動作は、ADARAI および他の Adabas ユーティリティから完全に独立しています。Adabas の主要コンポーネント(ASSO、DATA、WORK、PLOG、CLOG、TEMP、または SORT)の割り当てが変更するたびに、ADAR2E を実行する必要があります。
/ LOGON / SET-FILE-LINK FILE-NAME=DB.yyyyy.ASSO-01,LINK-NAME=DDASSOR1 / SET-FILE-LINK FILE-NAME=DB.yyyyy.DATA-01,LINK-NAME=DDDATAR1 / SET-FILE-LINK FILE-NAME=DB.yyyyy.WORK-01,LINK-NAME=DDWORKR1 / SET-FILE-LINK FILE-NAME=DB.yyyyy.TEMP-01,LINK-NAME=DDTEMPR1 / SET-FILE-LINK FILE-NAME=DB.yyyyy.PLOGR1,LINK-NAME=DDPLOGR1 / SET-FILE-LINK FILE-NAME=DB.yyyyy.PLOGR2,LINK-NAME=DDPLOGR2 / SET-FILE-LINK FILE-NAME=ALLOCATE.JOB,LINK-NAME=DDJCLOUT / START-PROGRAM *MOD(LIB=ADAvrs,ELEM=ADAR2E) / LOGOFF SYS-OUTPUT=DEL
DDASSOR1,DDASSOR2,DDASSOR3,DDASSOR4,DDASSOR5 DDDATAR1,DDDATAR2,DDDATAR3,DDDATAR4,DDDATAR5 DDWORKR1,DDWORKR2 DDSORTR1,DDSORTR2 DDTEMPR1,DDTEMPR2 DDPLOGR1,DDPLOGR2,DDPLOGR3,DDPLOGR4,DDPLOGR5,DDPLOGR6,DDPLOGR7,DDPLOGR8
次に、ADAR2E ユーティリティで作成されるジョブ制御の例を示します。
/ BEGIN-PROCEDURE / MODIFY-SDF-OPTIONS CONTINUATION=NEW-MODE / CREATE-FILE FILE-NAME=:A:$ADABAS.DB.yyyyy.ASSO-01,- / SUPPORT=PUBLIC-DISK(VOLUME=PUBA00,- / DEVICE-TYPE=Ddddd,SPACE=ABSOLUTE- / (FIRST-PAGE=32833,SIZE=5001)) / MODI-FILE-ATTR FILE-NAME=:A:$ADABAS.DB.yyyyy.ASSO-01,- / SUPPORT=PUBLIC-DISK(VOLUME=PUBA00,- / DEVICE-TYPE=Ddddd,SPACE=ABSOLUTE- / (FIRST-PAGE=29761,SIZE=5001)) . . / CREATE-FILE FILE-NAME=:A:$ADABAS.DB.yyyyy.DATA-01,- / SUPPORT=PUBLIC-DISK(VOLUME=PUBA02,- / DEVICE-TYPE=Ddddd,SPACE=ABSOLUTE- / (FIRST-PAGE=119809,SIZE=8001)) / MODI-FILE-ATTR FILE-NAME=:A:$ADABAS.DB.yyyyy.DATA-01,- / SUPPORT=PUBLIC-DISK(VOLUME=PUBA03,- / DEVICE-TYPE=Ddddd,SPACE=ABSOLUTE- / (FIRST-PAGE=75841,SIZE=8001))
ADARAI RECOVER 機能を使用する前に、システム管理者の ログオン ID(TSOS)を使用して、ADAR2E で生成された再割り当てプロシージャを実行します。
BS2000 バージョン 11 以上では、TSOS を使用して次のコマンドを発行することにより、特定のパブセットに対してディスクスペースの割り当て権限をすべてのユーザーに付与することができます。
/MODIFY-MASTER-CATALOG CATID= catid,PHYSICAL-ALLO=USER-ALLOWED
データセット | DD 名 | ストレージ | 追加情報 |
---|---|---|---|
アソシエータ | DDASSORn | ディスク | |
データプロテクションログ | DDPLOGRn | テープ/ディスク | FEOFPL=YES と指定された場合にのみ RECOVER に必要 |
リカバリログ(RLOG) | DDRLOGR1 | ディスク | |
ジョブストリーム入力 | DDJCLIN | ディスク | RECOVER のみに必要 |
リカバリジョブ出力 | DDJCLOUT | ディスク | RECOVER のみに必要 |
ADARAI メッセージ | DDDRUCK | プリンタ | メッセージおよびコード |
ADARUN メッセージ | DDPRINT | プリンタ | メッセージおよびコード |
ADARUN パラメータ | DDCARD | リーダー | オペレーションマニュアル |
ADARAI パラメータ | DDKARTE | リーダー |
//RAIPREP EXEC PGM=ADARUN //STEPLIB DD DISP=SHR,DSN=ADABAS.Vvrs.LOADLIB //DDASSOR1 DD DISP=SHR,DSN=EXAMPLE.ADAyyyyy.ASSOR1 //DDRLOGR1 DD DISP=SHR,DSN=EXAMPLE.ADAyyyyy.RLOGR1 //DDDRUCK DD SYSOUT=A //DDPRINT DD SYSOUT=A //DDCARD DD * ADARUN PROGRAM=ADARAI,SVC=xxx,DEVICE=dddd,DBID=yyyyy,MODE=MULTI //DDKARTE DD * ADARAI PREPARE RLOGSIZE=5,MINGENS=5
//RAILIST EXEC PGM=ADARUN //STEPLIB DD DSN=ADABAS.Vvrs.LOADLIB,DISP=SHR //DDASSOR1 DD DSN=EXAMPLE.ADAyyyyy.ASSOR1,DISP=SHR //DDRLOGR1 DD DSN=EXAMPLE.ADAyyyyy.RLOGR1,DISP=SHR //DDDRUCK DD SYSOUT=A //DDPRINT DD SYSOUT=A //DDCARD DD * ADARUN PROGRAM=ADARAI,SVC=xxx,DEVICE=dddd,DBID=yyyyy,MODE=MULTI //DDKARTE DD * ADARAI LIST /*
//ADARAI EXEC PGM=ADARUN //STEPLIB DD DSN=ADABAS.Vvrs.LOADLIB,DISP=SHR //* //DDASSOR1 DD DSN=EXAMPLE.ADAyyyyy.ASSOR1,DISP=SHR //* //DDRLOGR1 DD DSN=EXAMPLE.ADAyyyyy.RLOGR1,DISP=SHR //DDJCLIN DD DSN=EXAMPLE.ADAyyyyy.RAIJCL(JCLIN),DISP=SHR //DDJCLOUT DD SYSOUT=A //* //DDPLOGR1 DD DSN=EXAMPLE.ADAyyyyy.PLOGR1,DISP=SHR //DDPLOGR2 DD DSN=EXAMPLE.ADAyyyyy.PLOGR2,DISP=SHR //* //DDDRUCK DD SYSOUT=A //DDPRINT DD SYSOUT=A //DDCARD DD * ADARUN PROGRAM=ADARAI,SVC=xxx,DEVICE=dddd,DBID=yyyyy,MODE=MULTI ADARUN UEX2=UEX2 //DDKARTE DD * ADARAI RECOVER JCLLOG=YES,RELGEN=0,DRIVES=2
この例は、MVSJOBS データセットのメンバ ADARAIIN に存在します。
%%JCL-JOB-HEADER //ADARECOV JOB 5,'ADA-USER',MSGCLASS=X,CLASS=A,REGION=4096K //* //JOBLIB DD DSN=ADABAS.Vvvv.LOAD,DISP=SHR //* %%JCL-JOB-TRAILER //* //* END OF RECOVERY //* // %%JCL-STEP-TRAILER //* //* END OF STEP //* %%JCL-DDKARTE //DDKARTE DD * %%JCL-ADADEF //* //* DEFINE NEWWORK //* //%STEP EXEC PGM=ADARUN ADADEF JOB STEP //DDASSOR1 DD DSN=ADABAS.Vvvv.ASSOR1,DISP=SHR //DDDATAR1 DD DSN=ADABAS.Vvvv.DATAR1,DISP=SHR //DDWORKR1 DD DSN=ADABAS.Vvvv.WORKR1,DISP=SHR //DDTEMPR1 DD DSN=ADABAS.Vvvv.TEMPR1,DISP=OLD //DDSORTR1 DD DSN=ADABAS.Vvvv.SORTR1,DISP=OLD //DDRLOGR1 DD DSN=ADABAS.Vvvv.RLOGR1,DISP=SHR //SYSUDUMP DD SYSOUT=* //DDDRUCK DD SYSOUT=* //DDPRINT DD SYSOUT=* //DDCARD DD * ADARUN MODE=MULTI,PROG=ADADEF,DBID=xxxxx,DE=yyyy,SVC=zzz //DDKARTE DD * %KARTE %%JCL-ADAINV //* //* INVERT / COUPLE //* //%STEP EXEC PGM=ADARUN ADAINV JOB STEP //DDASSOR1 DD DSN=ADABAS.Vvvv.ASSOR1,DISP=SHR //DDRLOGR1 DD DSN=ADABAS.Vvvv.RLOGR1,DISP=SHR //DDSORTR1 DD DSN=ADABAS.Vvvv.SORTR1,DISP=OLD //DDTEMPR1 DD DSN=ADABAS.Vvvv.TEMPR1,DISP=OLD //SYSUDUMP DD SYSOUT=* //DDDRUCK DD SYSOUT=* //DDPRINT DD SYSOUT=* //DDCARD DD * ADARUN MODE=MULTI,PROG=ADAINV,DBID=xxxxx,DE=yyyy,SVC=zzz //DDKARTE DD * %KARTE %%JCL-ADALOD //* //* LOAD A FILE / MASS UPDATE //* //%STEP EXEC PGM=ADARUN ADALOD JOB STEP %SEQUENTIAL //DDASSOR1 DD DSN=ADABAS.Vvvv.ASSOR1,DISP=SHR //DDDATAR1 DD DSN=ADABAS.Vvvv.DATAR1,DISP=SHR //DDWORKR1 DD DSN=ADABAS.Vvvv.WORKR1,DISP=SHR //DDTEMPR1 DD DSN=ADABAS.Vvvv.TEMPR1,DISP=OLD //DDSORTR1 DD DSN=ADABAS.Vvvv.SORTR1,DISP=OLD //DDRLOGR1 DD DSN=ADABAS.Vvvv.RLOGR1,DISP=SHR //SYSUDUMP DD SYSOUT=* //DDDRUCK DD SYSOUT=* //DDPRINT DD SYSOUT=* //DDCARD DD * ADARUN MODE=MULTI,PROG=ADALOD,DBID=xxxxx,DE=yyyy,SVC=zzz //DDKARTE DD * %KARTE %%JCL-ADAORD //* //* REORDER //* //%STEP EXEC PGM=ADARUN ADAORD JOB STEP %SEQUENTIAL //DDASSOR1 DD DSN=ADABAS.Vvvv.ASSOR1,DISP=SHR //DDDATAR1 DD DSN=ADABAS.Vvvv.DATAR1,DISP=SHR //DDWORKR1 DD DSN=ADABAS.Vvvv.WORKR1,DISP=SHR //DDRLOGR1 DD DSN=ADABAS.Vvvv.RLOGR1,DISP=SHR //SYSUDUMP DD SYSOUT=* //DDDRUCK DD SYSOUT=* //DDPRINT DD SYSOUT=* //DDCARD DD * ADARUN MODE=MULTI,PROG=ADAORD,DBID=xxxxx,DE=yyyy,SVC=zzz //DDKARTE DD * %KARTE %%JCL-ADARES //* //* PLCOPY / REGENERATE / BACKOUT //* //%STEP EXEC PGM=ADARUN %SEQUENTIAL //DDASSOR1 DD DSN=ADABAS.Vvvv.ASSOR1,DISP=SHR //DDRLOGR1 DD DSN=ADABAS.Vvvv.RLOGR1,DISP=SHR //* Omit DDPLOGRx for Parallel and Cluster Services //DDPLOGR1 DD DSN=ADABAS.Vvvv.PLOGR1,DISP=SHR //DDPLOGR2 DD DSN=ADABAS.Vvvv.PLOGR2,DISP=SHR //* Include MERGIN1 and MERGIN2 for Parallel and Cluster Services //MERGIN1 DD DSN=ADABAS.Vvvv.INTERI,DISP=SHR //MERGIN2 DD DSN=ADABAS.Vvvv.INTERO,DISP=SHR //SYSUDUMP DD SYSOUT=* //DDDRUCK DD SYSOUT=* //DDPRINT DD SYSOUT=* //DDCARD DD * ADARUN MODE=MULTI,PROG=ADARES,DBID=xxxxx,DE=yyyy,SVC=zzz //DDKARTE DD * %KARTE %%JCL-DDSIAUS1 //DDSIAUS1 DD DSN=ADABAS.Vvvv.PLCOPY(+1), // DISP=(NEW,CATLG),UNIT=TAPE %%JCL-DDSIAUS2 //DDSIAUS2 DD DSN=ADABAS.Vvvv.PLCOPY2(+1), Optional second copy // DISP=(NEW,CATLG),UNIT=TAPE %%JCL-ADASAV //* //* RESTORE FILE(S)/DATABASE //* //%STEP EXEC PGM=ADARUN ADASAV JOB STEP %SEQUENTIAL //DDRLOGR1 DD DSN=ADABAS.Vvvv.RLOGR1,DISP=SHR //DDASSOR1 DD DSN=ADABAS.Vvvv.ASSOR1,DISP=SHR //DDDATAR1 DD DSN=ADABAS.Vvvv.DATAR1,DISP=SHR //DDWORKR1 DD DSN=ADABAS.Vvvv.WORKR1,DISP=SHR //DDTEMPR1 DD DSN=ADABAS.Vvvv.TEMPR1,DISP=OLD //SYSUDUMP DD SYSOUT=* //DDDRUCK DD SYSOUT=* //DDPRINT DD SYSOUT=* //DDCARD DD * ADARUN MODE=MULTI,PROG=ADASAV,DBID=xxxxx,DE=yyyy,SVC=zzz //DDKARTE DD * %KARTE %%JCL-STARTNUC //* //* START NUCLEUS //* //%STEP EXEC PGM=IEBGENER //SYSPRINT DD SYSOUT=* //SYSIN DD DUMMY //SYSUT2 DD SYSOUT=(*,INTRDR) //SYSUT1 DD DATA,DLM='$$' //ADANUC JOB 5,'ADANUC',CLASS=A,MSGCLASS=X,REGION=6M,TIME=1440 //NUCxxxx EXEC PGM=ADARUN //STEPLIB DD DSN=ADABAS.Vvvv.LOAD,DISP=SHR //* //DDASSOR1 DD DSN=ADABAS.Vvvv.ASSOR1,DISP=SHR //DDDATAR1 DD DSN=ADABAS.Vvvv.DATAR1,DISP=SHR //DDWORKR1 DD DSN=ADABAS.Vvvv.WORKR1,DISP=SHR //DDRLOGR1 DD DSN=ADABAS.Vvvv.RLOGR1,DISP=SHR //DDPLOGR1 DD DSN=ADABAS.Vvvv.PLOGR1,DISP=SHR //DDPLOGR2 DD DSN=ADABAS.Vvvv.PLOGR2,DISP=SHR //INTRDR2 DD SYSOUT=(*,INTRDR) //SYSUDUMP DD SYSOUT=* //DDPRINT DD SYSOUT=* //DDCARD DD * ADARUN PROG=ADANUC ADARUN UEX2=UEX2 ADARUN DUALPLS=nnn dual PLOG size ADARUN DUALPLD=mmmm dual PLOG device type ADARUN MODE=MULTI ADARUN DATABASE=xxxxx DATA BASE ID ADARUN DEVICE=yyyy ASSOCIATOR DEVICE TYPE ADARUN SVC=zzz SVC NUMBER $$ //* //* End of input for internal reader. Check whether nucleus is active. //* //ADARAI EXEC PGM=ADARUN //STEPLIB DD DSN=ADABAS.Vvvv.LOAD,DISP=SHR //SYSOUT DD SYSOUT=* //DDPRINT DD SYSOUT=* //DDDRUCK DD SYSOUT=* //DDCARD DD * ADARUN MODE=MULTI,PROGRAM=ADARAI,DBID=xxxxx,SVC=zzz,DE=yyyy //DDKARTE DD * ADARAI CHKDB ACTIVE //* %%JCL-ENDNUC //* //* ADADBS END NUCLEUS //* //%STEP EXEC PGM=ADARUN //DDASSOR1 DD DSN=ADABAS.Vvvv.ASSOR1,DISP=SHR //DDDATAR1 DD DSN=ADABAS.Vvvv.DATAR1,DISP=SHR //DDWORKR1 DD DSN=ADABAS.Vvvv.WORKR1,DISP=SHR //DDTEMPR1 DD DSN=ADABAS.Vvvv.TEMPR1,DISP=OLD //DDSORTR1 DD DSN=ADABAS.Vvvv.SORTR1,DISP=OLD //DDRLOGR1 DD DSN=ADABAS.Vvvv.RLOGR1,DISP=SHR //DDDRUCK DD SYSOUT=* //DDPRINT DD SYSOUT=* //DDCARD DD * ADARUN MODE=MULTI,PROG=ADADBS,DBID=xxxxx,DE=yyyy,SVC=zzz //DDKARTE DD * ADADBS OPERCOM ADAEND //* //* Check whether nucleus is inactive. //* //ADARAI EXEC PGM=ADARUN //STEPLIB DD DSN=ADABAS.Vvvv.LOAD,DISP=SHR //SYSOUT DD SYSOUT=* //DDPRINT DD SYSOUT=* //DDDRUCK DD SYSOUT=* //DDCARD DD * ADARUN MODE=MULTI,PROGRAM=ADARAI,DBID=xxxxx,SVC=zzz,DE=yyyy //DDKARTE DD * ADARAI CHKDB INACTIVE //*
ADARAI は、現在、ADAMAINT EXEC(データベース保守)および INSTADA EXEC(データベースインストール)のどちらでもサポートされていません。 ADARAI の実行に必要な情報は、EXEC、CONTROL ファイルなどに手動で追加する必要があります。
必要な情報を次の手順で追加します。
正しいデータベース ID(デフォルト ID は "00001")が含まれるように ADARAI PARM を更新します。
DBA 仮想マシンの PROFILE EXEC ファイルにある ADARAI ミニディスクに、複数の書き込み LINK コマンドを追加します。 DDRLOGR1 などの ADARAI ミニディスクを Adabas ニュークリアス仮想マシンの CP ディレクトリで定義する必要があります。
DDRLOGR1 に対する DATADEF ステートメントで ADFdbid EXEC を完成させます。 すべてのユーティリティおよびニュークリアスに対して、このステートメントを常に定義する必要があります。 データセットは CMS でフォーマット化され、定義済みのファイル名およびファイルタイプで確保する必要があります。
データセット | DD 名 | ストレージ | 追加情報 |
---|---|---|---|
アソシエータ | DDASSORn | ディスク | |
データストレージ | DDDATARn | ディスク | RECOVER に必要 |
ワーク | DDWORKR1 DDWORKR4 |
ディスク | RECOVER に必要 |
データプロテクションログ | DDPLOGRn | テープ/ディスク | RECOVER に必要 |
リカバリログ(RLOG) | DDRLOGR1 | ディスク | |
ジョブストリーム入力 | DDJCLIN | ディスク | RECOVER に必要 |
リカバリジョブ出力 | DDJCLOUT | ディスク | RECOVER に必要 |
ADARAI メッセージ | DDDRUCK | ディスク/端末/プリンタ | メッセージおよびコード |
ADARUN メッセージ | DDPRINT | ディスク/端末/プリンタ | メッセージおよびコード |
ADARUN パラメータ | DDCARD | ディスク/端末/リーダー | オペレーションマニュアル |
ADARAI パラメータ | DDKARTE | ディスク/端末/リーダー |
DATADEF DDASSOR1,DSN=ADABASVv.ASSO,VOL=ASSOV1 DATADEF DDRLOGR1,DSN=ADABASVv.RLOG1,VOL=RLOGV1 DATADEF DDDRUCK,DSN=ADARAI.DDDRUCK,MODE=A DATADEF DDPRINT,DSN=ADAFRM.DDPRINT,MODE=A DATADEF DDCARD,DSN=RUNRAI.CONTROL,MODE=A DATADEF DDKARTE,DSN=ADARAI.CONTROL,MODE=A ADARUN
ADARUN PROG=ADARAI,DEVICE=dddd,DB=99,MODE=MULTI
ADARUN PREPARE RLOGSIZE=5,RLOGDEV=eeee,MINGENS=5
DATADEF ASSOR1,DSN=ADABASVv.ASSO,VOL=ASSOV1 DATADEF RLOGR1,DSN=ADABASVv.RLOG1,VOL=RLOGV1 DATADEF DDDRUCK,DSN=ADARAI.DDDRUCK,MODE=A DATADEF DDPRINT,DSN=ADARAI.DDPRINT,MODE=A DATADEF DDCARD,DSN=RUNRAI.CONTROL,MODE=A DATADEF DDKARTE,DSN=ADARAI.CONTROL,MODE=A
ADARUN PROG=ADARAI,DEVICE=dddd,DB=yyyyy,MODE=MULTI
ADARUN LIST
次の機能は、VSE システムで ADARAI を使用する場合に使用できます。
機能 | 対処 |
---|---|
CHKDB | データベースステータスのチェック |
DISABLE | リカバリログ(RLOG)の無効化 |
LIST | RLOG コンテンツのリスト |
PREPARE | RLOG の開始 |
REMOVE | RLOG の削除 |
ジョブストリームの再構築に使用する ADARAI RECOVER 機能は、現在、VSE システムではサポートされていません。
ファイル | 記号名 | ストレージ | 論理ユニット | 追加情報 |
---|---|---|---|---|
アソシエータ | ASSORn | ディスク | 注 1 参照 | |
データストレージ | DATARn | ディスク | 注 1 参照 | RECOVER に必要 |
ワーク | WORKR1 | ディスク | RECOVER に必要 | |
リカバリログ(RLOG) | RLOGR1 | ディスク | ||
データプロテクションログ | PLOGRn | テープ ディスク |
RECOVER に必要 | |
ジョブストリーム入力 | JCLIN | SYSIPT | RECOVER に必要 | |
リカバリジョブ出力 | JCLOUT | SYSPCH | RECOVER に必要 | |
ADARAI メッセージ | プリンタ | SYS009 | メッセージおよびコード | |
ADARUN メッセージ | プリンタ | SYSLST | メッセージおよびコード | |
ADARUN パラメータ | - CARD CARD |
リーダー テープ ディスク |
SYSRDR SYS000 注 1 参照 |
|
ADARAI パラメータ | リーダー | SYSIPT |
注意:
すべてのプログラマ論理ユニットを使用できます。
// ASSGN SYS009,00F // EXEC PROC=ADAVvFIL // EXEC PROC=ADAVvLIB // EXEC ADARUN,SIZE=ADARUN ADARUN PROG=ADARAI,SVC=xxx,DEVICE=dddd,DB=yyyyy,MODE=MULTI /* ADARAI PREPARE RLOGSIZE=5,MINGENS=5 /*
VSE プロシージャ(PROC)については「VSE 用のライブラリおよびファイルプロシージャの例」を参照してください。
// ASSGN SYS009,00F // EXEC PROC=ADAVvFIL // EXEC PROC=ADAVvLIB // ASSGN SYS000,SYSIPT // EXEC ADARUN,SIZE=ADARUN ADARUN PROG=ADARAI,SVC=xxx,DEVICE=dddd,DB=yyyyy,MODE=MULTI /* ADARAI LIST /*