表定義保守(9)・ユーザDDFにバックアップした表定義を戻す
-
「表定義保守(8)・表定義情報をユーザDDFにバックアップ」でバックアップした表定義を戻します。
簡単に言うと「表定義保守(8)」のコピー元とコピー先を逆にすればいいだけです。
ユーザDDFにバックアップしたのは表定義の情報だけですから、これだけではデータ自体はリジュームされませんので注意が必要です。
「表定義保守(8)・表定義情報をユーザDDFにバックアップ」で表定義をユーザデータディクショナリファイル(MSD001のUSERDDF)にバックアップした後に「表定義保守(5)・基本表の表定義を削除」で表名:SALESHYOUの表定義を削除したとします。
この表定義をバックアップしたユーザデータディクショナリファイルから戻してみます。
-
「表定義」を選びます。選ぶ方法は幾つかあり、矢印キーでカーソルを「2 表定義」の位置に移動して[ENTER]キーを押す、[2]キーを押す、[PF2]キーを押す、などの方法で選びます。
この画面では、どのデータディクショナリに表定義情報をコピーするか(コピー先/併合先)を選びます。
データベースに表を戻すときは、システムのデータディクショナリ、即ちMSD000のSYS@DDFを指定します。
データディクショナリの入っている装置名とデータディクショナリのファイル名を入れると、「指定確認」と入力したファイル名が良いかどうか再確認してきますので、問題無ければ「1.OK」を選びます。
画面上に新しいメニューが出てきます。
「5.併合」を選びます
まず下のような画面になります。ここでは主にコピー元とコピー先のファイルの情報と何をコピーするかを入力することになります。
まず処理モードを聞いてきます。「追加」と「置換」の違いはコピー先に同じ名前の表の定義があったときにどうなるか、の違いです。「追加」はコピー先に同じ名前の表の定義があった場合はエラーになります。「置換」の方は上書きされます。
入力元の装置名とファイル名は、コピー元のファイルの情報(今回はユーザデータディクショナリファイルの装置名とファイル名)を入力します。
装置名に「MSD001」、ファイル名に「USERDDF」を入力します。
戻す表の名前を選択します。
USERDDFにバックアップされている表の一覧が画面右側に出るので、そこから表定義を戻したい表名を選びましょう。今回は「セールス用表」を選んでみます。
一覧から選ぶのは嫌だという人は、[PF15]キーを押せば直接表名を入力したり、集積名を入力したりすることもできます。
「範囲指定終了表名」は今回は1表だけなので、何も入力せずに[ENTER]キーを押します。
「名称」も今回は変更しないこととします。
ここまでの入力が問題ないかどうか再確認してきますので、良ければ「1.OK」を選びます。
別の表定義をコピーしますか?と聞いてきます。
今回は1表だけなので、「2.いいえ」を選びましょう。
次にデータを入れるファイルを作るかどうか聞いてきます。
「表定義保守(5)・基本表の表定義を削除」では、表定義の他にデータファイルも削除してしまったので、データファイルも作ってみましょう。「1.確保する」を選びます。
もしデータファイルが残っていたり、後から別の方法で作るよ、という場合は「2.確保しない」を選ぶことになります。
データファイルを作りたい表の名前を選びます。画面右側にシステムデータディクショナリに登録済みの表の一覧が表示されるので、そこから選びましょう。
[PF15]キーを押せば直接表名を入力することもできます。
装置名や物理ファイル名が自動で入ります。(これらは表定義内に登録済み)
もし最初に装置名を「MSD」とだけ入力していた場合は、装置番号まで入力させられます。
レコード長も表定義内に登録済みなので、自動で入ります。ブロック化係数はアクセス性能に関係してきますが、ここは8にしておきます。
レコード件数は、何件データを登録するかです。登録する件数にブロック化係数で割り算した値を入れます。例えば1000件のデータを登録するならば、1000÷8=125なので、125以上の値を入れます。
残りのジャーナル指定、自動アライン指定、オーバフロー警告は必要に応じて入力します。今回は無しにしました。
「キーファイルを確保しますか」と聞いてきます。これはキー(インデックス)を作るかどうかを聞いています。
今回の例では「ICODE」をキーにする予定ですので、「2.確保する」を選びます。
キーファイルは一般的には、自動的に作成された名前で良いです。何かこだわりがあるならば、自由に決めてください。
二重キーと更新は、今回は難しく考えずに、自動的に設定される値のままにしています。
ICODE(アイテムコード)をキーにするので、それを選びます。
選んだら[II]キーを押して、キーの選択を終了します。うっかり変な項目を選択してしまったら、[PF14]キーを押して、修正します。
キーを複数作れますが、今回は1個だけなので、下の画面で[II]キーを押して、キーファイル指定を終了します。
いいかどうか聞かれるので、よければ「1.OK」を押します。
駄目ならば[BSKIP]キーを押して、前に戻って修正します。
ここでようやくファイルを確保します。一瞬何か動いて(ファイルを確保しています)、下のような画面に変わります。
別の表のファイルを確保するならば「1.はい」を選びます。
今回は1個しか表を作りませんでしたので、「2.いいえ」を選択することにします。
これで表の定義は終わりです。
(直前の画面が一部残っていますが)一番上のメニューが最初の状態に戻っています。
これで終わる時は、メニューの一番右の「8.終了」を選びます。
表定義はデータベース上に戻りましたが、データファイルを新規に作り直した場合は中身は空です。必要ならデータもバックアップから戻す必要がありますが、これはデータディクショナリ保守ユーティリティの役割ではないので、これ以降は別のユーティリティなりアプリケーションなりを使うことになります。