Revive! - So as recover your mistakes ..

Usage
  Revive!とは

Revive!は区分データセットの消えてしまったメンバーを復元するユーティリティーです。
現在、以下のメンバーであれば、完全に復元できます。

・削除したメンバー

・更新前のメンバー

・レコード長に異常があり、ISPFでI/Oエラーとなるメンバー


これらのメンバーは、前回のCOMPRESS後に修正したものであれば、確実に復元できます。又、COMRESS前に修正したメンバーであっても運が良ければ復元できます。(詳しくは改めて書きますが、DASD上にデータが残っている限り復元可能となっています)

ただし、ディレクトリー部分に保存される以下の復元はできません。

・メンバー名

・ユーザーデータ(ISPFのメンバー一覧に表示される更新日など)

・ロードモジュール(メンバーは復元できますが、実行する事はできません)


  動方法

Revive!はISPFアプリケーションです。起動はISPFのコマンド行から次の“起動用CLIST”を実行します。

> TSO @REV

 

期画面

起動後、対象データセット名を入力する画面が表示されます。
入力画面

画面に入力する内容は以下の通りです。
・Dataset Name : データセット名称

・Volume Serial : データセットが存在するVOLSER(カタログされていない場合のみ)

・Part of Analyze : データ分析範囲
N : 使用している範囲内で検索(この場合、メンバーは確実に復元できます)
O : アロケーションしている範囲内で検索(不完全なメンバーを含みます)

・Existent member is effective, too. :既存のメンバーも一覧に表示します

・Disposition of the target file. : 復元対象のファイルに対する排他処理

・Search String. : 入力した文字を含むメンバーのみ一覧表示します

・Directory table Work space size : 復元対象のデータセットに含まれるメンバー数を入力します


必要事項を入力した後、実行キーを押して下さい。

 

ンバー一覧画面

回復可能なメンバー一覧。
メンバー一覧画面

画面に表示される内容は以下の通りです。
・Member : メンバー名。既存のメンバーでは無い場合は“+ttr”と表示されます
・TTR : メンバーの先頭アドレス
・Data : データの先頭から60バイト


メンバー名の色には以下の種類があります。
BLUE : メンバーが使用済み領域に存在します(このメンバーは確実に復元できます)
GRAY : メンバーが未使用域との境界線上に存在します(このメンバーは破損している可能性が高いと思われます)
WHITE : メンバーは未使用領域に存在します(おそらく復元できます)


一覧画面は“PF07”・“PF08”で上下にスクロールし、“PF10”・“PF11”で表示内容を切り替える事ができます。
“PF10”で表示内容を切り替えた場合は次の画面となります。
メンバー一覧画面

画面に表示される内容は以下の通りです。
・Member : メンバー名。既存のメンバーでは無い場合は“+ttr”と表示されます
・TTR : メンバーの先頭アドレス
・F : RECFM(F / V / U の何れか)
・Lercl : 予想される論理レコード長
・Blksz : 予想される物理レコード長
・Recds : 物理レコード数
・Data : データの先頭から40バイト


ここで表示される内容は、データ内容からRevive!が予想したデータ形式です。
・RECFM:Vと表示される場合:内容は、ほぼ間違いありません
・RECFM:Fと表示される場合:物理レコード数が少ない場合は正確に判断できません
・RECFM:Uと表示される場合:データからデータ形式が予想できなかったメンバーです(つまりRECFM=U?)


行コマンド(赤の下線部分)は以下のものがあります。
・B : 表示(ISPFのBrowse)
・R : メンバーのディレクトリーを再生します
・X : メンバーを別のデータセットに書き出します


又、メンバー一覧でTTRやDataが白色で表示されているメンバーは、データセットのDCBと実際のレコード形式が合っていません。このメンバーはBrowseやRestoreを行う事ができません。
エラーメンバーの例(これは可変長データセットに固定長のデータが存在しています)

  Browse

行コマンドに“B”を入力した場合、メンバーを一時的に復元し、ISPFのBrowseを呼び出します

  Restore

行コマンドに“R”を入力し、メンバー名欄に復元したいメンバー名を入力した場合、該当メンバーのディレクトリー部を復元します。
Restore例(この例では復元するメンバー名を“ABCD”としています)


もし、メンバー名に文法エラーがある場合、以下の画面が表示されます
エラー例(この例ではメンバー名に“+”記号が含まれています)

  Extract

行コマンドに“X”を入力した場合、該当メンバーを別のデータセットに書き出します。
Extract例

行コマンドに“X”を入力後、実行キーを押すと、以下の画面が表示されます。
Extract画面

この画面には、メンバーを書き出すデータセットを指定します。現在は新規データセットのみ指定可能で、既存のデータセットを指定するとエラーとなります。画面に入力する内容は以下の通りです
・Dataset name : データセット名称
・Member name : メンバー名(区分データセットでは無い場合、空白とする)
・Volume serial : VOLSER(br> ・Space unit : CYL、TRK、又はBLK
・Primary quantity : 一次割り振り量
・Secondary quantity : 二次割り振り量
・Directory blocks : ディレクトリーブロック数(区分データセットでは無い場合、“0”を入力)
・record format : レコード形式
・Record length : 論理レコード長
・Block size : 物理レコード長











Back | Home | Tools | Source

1999.09.01 - Kimu -