Revive!   < Lose vailable PDS Members ... >

M VSを使っていると、区分データセットって良く使いますよね。で、「大切なメンバーを消してしまった!」、もしくは「あ!SAVEしちゃったよ!!」。。そんな事は良くある事です。簡単なJCLなどは消えてしまっても「まいっか!」で済んでしまうのですが、システムパラメータを間違って変更などしてしまった日にはそりゃもーたいへんです。あなたは記憶の限りを尽くして、消えてしまったメンバーを復元する努力を続け、明日の朝は誰よりも早く来て、ちゃんとオンラインが立ち上がってくれる事を祈らないといけなくなるかもしれません。そうです、間違って保存してしまったら、それはもう取り返しがつかないのです。
が、
Revive!を使えば、このような無くなってしまったはずのメンバーを完全な形で復元する事ができます。

分データーセットの構造は非常に単純で、そのままの状態では一度使用した領域を再び使用する事はありません。一度使用した領域を再び使用する為にはIEBCOPY等のユーティリティーを使用してCOMPRESSしなければならないのです。つまり、COMPRESSするまでの間は、消えてしまったはずのデータがそのままの姿でDASD上に存在している事になります。Revive!はこの使用済み領域にディレクトリー・エントリーを作成し、再び使用できる様にするツールです。

Download : Revive.zip (29K Byte)
ZIP形式で圧縮しています。Winzip等のツールで展開して下さい。

Install : 導入方法

Usage : 使用方法

Knowledge : 技術情報

History : 変更履歴

注意 その1

変履歴にもありますが、このプログラムは以前私が使用していたOh!Shuckと同じ機能が欲しいと思い作成したものです。私はその作者も、ソースを見た事もありませんし、全て私がコーディングしたものです。著作権等には触れないと思いますが、何かありましたら連絡をお願いします。

注意 その2

のプログラムは現在(というか8年ほど前からずっと)作成途中です。いずれは正式版として公開したいと思いますが、その目処は全く立っていません。今後は以下の様な改良をと考えていますが、技術的問題や時間的余裕が私の目の前に立ち塞がっており、何時になったら完成するのか判らない状態にあります。

ロードモジュール対応:

現在、ロードモジュールを復元する事が出来ません。(データを復元する事は可能なのですが、ロードモジュールはディレクトリー上に制御用の情報を持っており、その部分を再作成しなければデータを戻しても意味が有りません。)

これまでLoadmoduleのRecord Layoutが不明でした(一部解析してました)が、DF/SMS 1.4から以下のマニュアルにRecord Layoutが載っている事に気付きました。

DFSMS/MVS Version 1 Release 4
Program Management
Document Number SC26-4916-03
Program Number
5695-DF1
5647-A01
File Number S390-20

H.0 Appendix H. Linkage Editor Load Module Formats
H.2 Record Formats

とりあえず、以前作成していたModule Format 解析 Program を修正してTest Programを作成(途中ですが)しました。

異なるレコード長を持ったデータの読み込み:

現在、データ部にVTOCと異なるレコード長のデータが存在していた場合、そのデータを読み込む事ができません。本来であれば異なるレコード長を持ったデータなどは存在しないのですが、MVSの仕様?でJCL又はプログラムにDCB情報を指定して、OUTPUTでオープンするとVTOC情報が書き換わってしまいます。これを繰り返せば、メンバー単位に異なるレコード長を持ったデータセットが存在してしまいます。

通常、このメンバーを読み込むとI/Oエラーとなります。しかし、DITTO等を見ていると技術的には読み込み可能なはずであり、その方法を模索しています。XDAPを使用して読み込みを試みましたが、上手くいっていません(読めない事は無いのですが、読み込んだレコードの長さが判断できません)

排他はどうかな?:

ディレクトリー更新時の排他処理が上手くいっていません。というかやり方が判りません。ISPFのEDIT機能の様に、データセットにEXCLUSIVE ENQをかけずに排他処理を実施するにはどうすればいいんでしょう?

中途半端に放置された機能を。。。:

データセット情報画面にただ面倒だというだけの理由で欠落している項目、拡張復元時に作成する新規データセットの大きさが指定できない、モジュールの分割に失敗して結局メインルーチンが巨大である、アルゴリズムを良く研究していない時代に作ったルーチンが多く、ちょっとはずかしい、等の点を。。。そのうち直します。

Version 1以降の計画(PDS-E対応?)

PDS-EはPDSとは異なり、Mapによってデータを管理しています。おそらくLost Chainを調べると、半自動でデータを復元できるのではないか?!と思っています。そのうちManualを読んで解析、可能であればPDS-E対応します。(しかし、SMS はどの程度使われているのだろう?? ドイツは結構進んでるってうわさは耳にしましたが。。)

使用条件

のプログラムは、私自身が自身の作業効率を上げるために作成したものの中から、一般的なMVS環境で使用できると思われる幾つかを公開したものの1つです。故に作成途中で放置された機能があったり、あなたが使用する環境に何らかの悪影響を与えてしまう機能が含まれているかもしれません。しかし、その事に対して私は一切責任を負う事ができません。その様な場合はあなた自身の責任に於いて、その対処をされる様にお願いします。
又、このプログラムはソースで提供しており、ご使用される環境に合わせての改造や、機能向上の為の改良は自由とします。再配布に関しても一切自由としますが、御一報下されば助かります。










概要 導入方法 使用方法 技術情報 変更履歴 Home Tools

1998.05.09-1998.09.14 - Kimu -