ファイルサイズを増やす
- 1 ファイルがオーバーフローした!
-
A−VXでは、ファイルのサイズはファイル作成時に決まってしまいます。
このためファイル内のデータがだんだん増えてくると、そのうちサイズが足りなくなり、オーバーフローしてしまうことがあります。以下の5種類のファイルは、後からファイルサイズを増やすことができます。
- 順編成ファイル
- 相対編成ファイル
- 複数索引順編成ファイルのデータ
- ロードモジュールライブラリ
- フォームオブジェクトライブラリ
ファイルのサイズを増やすには、以下の2つの方法があります。
- エクステントの追加
- エクステントの拡張
(注)システムファイル(ファイル名がSYS@で始まるファイル)は、特殊な方法でファイルのサイズを増やします。<システム導入・変更の手引き>という説明書を参照してください。
エクステントの追加 エクステントの拡張 ファイルの後ろに空き領域
が必要かどうか必要 不要 ファイルサイズを拡大
できる回数何回でも可能 回数制限有り エクステントは、ファイルのサイズなどを管理する単位みたいなものらしい。
- 2 エクステントの追加
-
同一ボリューム(例えば、サイズを増やしたいファイルがMSD001にある場合は、MSD001の空き領域が、増やす分だけのサイズあるかどうか)に空き領域が存在する場合、エクステントを追加してファイルのサイズを増やす方法です。
下の図のような感じでファイルのサイズを増やせます。
エクステントの数が決まっているので、追加できる回数には制限があります。
エクステントの追加には動的追加と静的追加という2つの方法があります。
静的追加は手動で増やす方法です。
一方動的追加は自動的に追加する方法で、ファイルを作成する時に指定します。動的追加を指定して、後で静的追加をすることはできません。動的追加ができるのは順編成ファイルと相対編成ファイルだけという制限もあります。
以下に例を挙げて「エクステントの追加」でファイルサイズを増やす方法を説明します。
「エクステントの静的追加」(手動)でファイルサイズを増やす ファイル作成時に「エクステントの動的追加」(自動)を指定
例では簡易操作ユーティリティ(#ABC)を使用していますが、新システム体系ユーティリティでもできます。
- 3 エクステントの拡張
-
ファイルの後ろにある空き領域を使って、ファイルサイズを増やす方法です。ファイルの後ろ(正確には最終エクステントの後ろ)に空き領域が必要になります。
下の図のような感じでファイルのサイズを増やします。
空き領域がある限り、何回でもファイルサイズを増やすことができます。(正確には1エクステント当りの最大値サイズになるまで可能。)
「エクステントの拡張」を行うためには、ファイルの後ろに空き領域が必要になります。たいていの場合、ファイルの直後は別のファイルがあったりして、空き領域が無い/足りない場合がほとんどです。同一ボリュームの別のところには空き領域があれば、ボリュームの再編成でファイルの後ろに空き領域を移動することができます。
以下に例を挙げて「エクステントの拡張」でファイルサイズを増やす方法を説明します。
ついでにボリュームの再編成で空き領域を移動させる方法も説明します。
例では簡易操作ユーティリティ(#ABC)を使用していますが、新システム体系ユーティリティでもできます。
- 4 追加/拡張の実際
-
どちらの方法を使ったとしても、サイズ増加後のファイルは普通にアクセスできます。使用者から見ると単純にファイルのサイズが増えたということしかわからず、エクステントを追加したのか拡張したのかはわかりません。
ファイルサイズを増やす時は、「エクステントの追加」は回数に制限があるということを頭に入れて、追加と拡張をうまく組み合わせて行うべきです。
「エクステントの追加」のみでファイルサイズを増やそうと考えているならば、あまり小さいサイズを指定しないようにすべきです。追加回数制限を越えてしまったら、もう「エクステントの拡張」でしか、サイズを増やす方法はありません。
ファイルの追加や拡張でデータが壊れるということはないはずですが、うっかり誤操作してデータを壊してしまう可能性はあるので、念のため作業前にファイルのデータをバックアップしておきましょう。ボリュームの再編成を行う場合は、ボリューム全体のバックアップしておくべきです。
ボリュームの空き領域が足りなくなったら、もう追加とか拡張だけでは済みません。ボリュームのサイズを簡単に増やす方法は無いので、もっと大きなボリュームを作ってそちらに全ファイルを移動するなど、根本的な対策が必要になってしまいます。
昔と比べて最近の600シリーズのハードディスク容量は巨大です。ファイルサイズを増やすのはたいへんなので、将来増加分も含めて、最初に大きめのファイルを作っておきましょう。