過去の桐井戸端BBS (桐ver.8)
9118 ページチェインのトラブルについて 真太郎 2000/12/26-11:29
お久しぶりです。
桐ver8 sp4 にてネットワークにて桐でシステム構築をしております。
先日、テーブルのデータに わけのわかないデータがあり(内容をうまくかけませんが)テーブルの検査をしたところ
ページチェインが 異常との結果がでました。
ページチェインとは何を意味してるのでしょうか?
どなたか、ご存じの方よろしくお願いします。
9119 Re:ページチェインのトラブルについて 宮城 2000/12/26-12:05
記事番号9118へのコメント
真太郎さん、こんにちは。

詳しいことは他のかたに譲ります。
早い話が「特定レコードを読めなくなった」でありまして、
まずすべきことは、その表名+拡張子 BAKのファイルがあれば
ただちにこれを別名にするか他の場所に保存。
拡張子を TBLに変えると前回編集時のデータを回復できる可能性があります。

本筋は「修復」を行います。
出力表に適当な(もちろん他に存在しない)名前をつけて、修復をクリックします。
(参照表はまず使ったことがありません。)
ここで注意!
妙なメッセージも出ず「修復に成功しました」とかなればいいのですが、
「読めないのでとばしました」とかいうメッセージが出た場合、いくつかのレコードを失ったことになります。
そして、それがどれかは残念ながら桐は教えてはくれません。

いずれにしても、元の表を削除し、出力表をリネームします。

さて、表には大雑把に行って原始データを保管しているものと、処理過程でのワークファイルとがあります。
後者ならはっきりいって表の枠組みさえあればよいわけですから無視していいはずです。

しかし、前者となると・・・。BAK戻したのが使えないかとか、せめてキーだけでも最新が残っている表がないか、
はてまたバックアップからとかで、大汗かきながら欠落レコードの特定・回復ということになります。


9120 システムエラーの処置について 真太郎 2000/12/26-12:54
記事番号9119へのコメント
宮城さん早速のレスありがとうございます。
ほんとに夕べは大汗かいてデータのバックアップに取り組みました。
どうにか、データは生かせたので、とりあえずホットしております。
どういうことでこのような事がおきるのか、管理工学にも問い合わせしたところ、何が原因か特定できませんとのことでした。
当然といえば当然ですよね
システム構築で、クライアント側はネットワークドライブの割り当てにて使用させていますが、
クライアント側でシステム使用中にトラブルが発生(フリーズ等)してパソコンを強制終了しなくてはいけない事態になった時、
ファイルを共有してあるパソコンもファイルを使用中とかの共有管理情報エラーがでてしまいます。
再起動をすると元に戻るのですが、メンテが大変です。
なにかいい方法はないのでしょうか?
9121 Re:システムエラーの処置について ぷぷり 2000/12/26-13:17
記事番号9120へのコメント
こんにちは、ぷぷりです。

良い方法とは言えないかもしれませんが、私の場合は終了時にTBLファイルをコピーすることでバックアップを取っています。
ただ、バックアップを前回のだと壊れているかもしれないので、バックアップを起動3回前までのデータをバックアップしています。

あと、空の表を作って動作がおかしいなと思ったら、空の表にデーターをコピーして、
元の表は削除して新しく作った表を使用するようにしています。

最近は表が壊れることは少なくなったんですが、以前は1週間に一回ぐらい壊れていて困ったものでした。

9132 ページチェインとは 佐田 守弘 2000/12/27-00:09
記事番号9118へのコメント
真太郎さん
ページチェインの話は、過去ログも含めてかなり書いておりますが、今世紀最後の記念(?)に、
ページチェインの仕組みについてもう一度解説しておきます。

●ページの概念
桐の表ファイルを始め、ワープロソフトなどでもデータファイルの記録にページ管理の仕組みが使われています。
これは、後から述べる様に、多量のデータの任意の部分を編集するために必要だから出す。
そしてこれは、ディスク装置でランダム記録を実現するためにディレクトリとFATといったファイル管理システムを
使っている事と比較すると分かりやすいと思います。
つまり、
<ディスク装置>     <表ファイル>
ディスク装置全体     表ファイル全体
目的のファイル      目的の行データ
ディレクトリとFAT   ゼロページ情報
クラスタチェイン     ページチェイン

●ページ管理とは
分かりやすい様に長い文章を書いているとしましょう。仮に100ページの文章を書き上げたところ、
10ページ目に追加をしなければならなくなったとします。
もしこれが日記帳の様な製本されたものであったとしたら、11ページから先を一度消して、10ページ目を追加しなければなりません。
ところがルーズリーフであれば、新しいページを足すだけですみます。
これはワープロであっても同じです。
何気なく挿入モードで文字列を途中に追加しておりますが、システムは結構面倒な事をやっているのです。
1文字追加するには、それ以降を1文字分繰り下げて、入力した1文字を書き込みます。
この様な事を長い文章全体で行っていたら大変ですから、文章全体をページに分け、
編集中のページ内だけでその様な処理を済ませています。
そしてもしそのページに入り切らなくなった場合には、そのページを2ページに分けます。
ただし途中に新しいページを入れる事はできませんから、新しいページは最後に付け加えられます。
「それでは文章の通りに記録できないではないか!」
と思われるでしょう。まさにその通りです。
ワープロ文書であっても、画面表示したり印刷するレイアウト通りに記録されている訳ではありません。
あるデータの単位(これがページです)で、文書ファイル中のあちこちに散在して記録されている内容を、
順序良く読み出しているに過ぎません。
そしてどの順序で読むかがページチェインです。

●ページ管理は桐の表でも同じ
上記はワープロ文書で説明しましたが、桐の表データでも全く同じです。もちろん他のアプリも同様です。
桐の場合には表ファイル全体を8KB単位のページで管理します。データの編集や新しい行の追加は、編集中のページの中で行います。
そして1ページに収まらなくなると、ページ分割を行います。
その結果、ページは次第に順不同になって行きます。

●ページチェイン情報
順不同に記録されているデータを正しく読むには、どの順序でページめくりしたらよいかがきちんと管理されていなければなりません。
これがページチェイン情報です。
表がどの様な項目から成り立っているか、ページをどの順序で読むかといった大切な情報は、表の先頭のページに記録されています。
そしてもし、この情報が壊れたり間違ったとしたら、データファイルを正しく読めなくなります。
この様な状態がページチェインの異常です。
ではどの様な場合に異常が起きるのか。言える事は、ページチェイン情報を更新すべき
時に、正しく更新が行えない状況が発生したか、誤って書き替えられたかです。
しかしその原因(桐のシステム、OS、ハード的な障害、外部的なノイズなど)の特定は難しいと思います。

佐田守弘(KS-00119)
9133 参照表の指定が必要な場合 佐田 守弘 2000/12/27-00:40
記事番号9119へのコメント
桐の表ファイルの異常と修復について補足します。
●ページチェインの異常だけの場合
ページチェイン異常だけの場合には、障害を起こした表ファイルだけで修復が可能です。
仮にページチェイン情報が失われても、データの順序の情報が失われますが、データそのものは助かります。
桐の様なデータベースでは、一般論としてレコードの順序に大きな意味がありません。
レコードの順序が狂っても、並べ替えれば目的を達する場合がほとんどでしょう。
●読めないページがあった場合
表ファイルのどこかに記録上の障害があると、そのページが読めなくなります。
当然ながらこの場合には、データの一部を失います。
この様な場合、過去のバックアップが残っていたら、追加併合を行って見て下さい。
失われた部分が過去のバックアップに含まれていれば、そのレコードだけ読み込めます。
●参照表が必要な場合
データページに記録されている内容は、CSV形式のデータの様なものだと考えて下さい。
ただし項目区切りはありません。
また文字列型はそのままの文字列ですが、数値などや日時/時間型はバイナリ形式です。
これらの羅列されているデータをどの様に読み込むかを決めているのが表の定義情報です。
定義情報は表ファイルの先頭に記録されていて、これを参照しながらレコードデータをどの様なデータ形式で読むかが判断されています。
この定義情報がある先頭のページをゼロページといいます。
もしここが破壊されると、レコードデータをどの様に読んだらよいかが分からなくなります。
この様な場合、表の枠組み(表定義の内容)が同じ表を参照表として指定すれば、データファイルの読み出しができます。
参照表には、通常、同じ表のバックアップファイル、あるいは同じ定義内容の別の表を指定します。
ですから、バックアップと一緒に、表の定義情報をK3形式などで残しておけば、万一の場合に表を救済できる可能性が高くなります。
佐田守弘(KS-00119)
9137 Re:ページチェインのトラブルについて 新太郎 2000/12/27-11:12
記事番号9118へのコメント
みなさんいろいろ貴重なレスありがとうございます。
今回はじめて経験した現象だったので大汗かくやら、夜は眠れないやら今後もこういうことがおきるのかな?
と不安でいっぱいです。
バックアップは当然のことながら毎日していますが、データが壊れるということは結構精神的にきついですね
どうもありがとうございました。

戻る