4D v16.3

修復ページ

ホーム

 
4D v16.3
修復ページ

修復ページ  


 

 

このページはデータやストラクチャーファイルが損傷を受けたとき、それを修復するために使用します。一般的にこれらの機能は4Dから要求を受けたときに実行します。4Dは起動時やMSCによる検証 (検証ページ参照) の結果データベースに損傷を見つけたときに修復を促します。.

警告: 各修復操作は元のファイルの複製を伴います。この結果アプリケーションフォルダーの容量が増大します。この点に留意することが重要です。特にOS Xではパッケージの容量が増大することを意味します。パッケージのサイズを減少させるには、作成されたコピーを削除しなければなりません。

注: 修復はメンテナンスモードでのみ利用できます。標準モードでこの操作を実行しようとすると、データベースが閉じられメンテナンスモードで開く旨の警告が表示されます。

“データファイル修復”エリアにはカレントデータファイルのパス名と、他のデータファイルを指定する場合に使用する [...] ボタンがあります。このボタンをクリックすると標準のファイルを開くダイアログボックスが表示され、修復対象のデータファイルを選択できます。標準の修復 を実行する場合、開かれたストラクチャーに対応するデータファイルを選択しなければなりません。レコードヘッダーによる再生を実行する場合、どのデータ ファイルでも選択できます。
このダイアログボックスを受け入れると、ウィンドウには修復対象のファイルのパス名が表示されます。

デフォルトで修復処理の前に元のデータファイルが複製されます。そのファイルはデータベースフォルダーの“Replaced files (repairing)”サブフォルダーに配置されます。二番目の [...] ボタンを使用して、複製の保存先を変更できます。このオプションは特にサイズの大きな元ファイルを別ボリュームに複製させたい場合に使用できます。

修復オプションは二種類、標準の修復レコードヘッダーによる再生があります。これらについては後ほど説明します。

修復対象のデータファイルを選択したら、修復またはスキャンおよび修復...ボタンをクリックすると、修復処理が開始されま す (選択した修復オプションによりボタンが変化します)。レコードヘッダーによる再生を選択した場合、再生する項目を選択するためのダイアログが表示されま す (レコードヘッダーによる再生参照)。

4Dは元のファイルの場所に空のデータファイルを作成します。元のファイルは、"\Replaced Files (Repairing) {日付} {時刻}"という名前のフォルダーが"元のファイルのバックアップフォルダー"に作成され (デフォルトはデータベースフォルダー)、そこに移動されます。
修復操作が完了すると、MSCの"修復"ページが表示され、修復の結果が表示されます。修復に成功していればデータベースをそのまま使い始めることができます。

ログファイルを開くボタンをクリックするとマシンのデフォルトブラウザーに実行された処理の結果を表すページが表示されます。このページには実行された検証および修復の結果、そして発生したエラーが表示されます (検証に成功した項目には[OK]が表示されます)。ファイルはデータベースのLogsフォルダーに作成されます。このファイルはXMLフォーマットで作成され、"<DatabaseName>_Repair_Log_<yyyy-mm-dd hh-mm-ss>.xml" というファイル名がつけられます。このとき:

  • <DatabaseName> は拡張子を除いたストラクチャーファイル名をあらわします。例:"Invoices"
  • <yyyy-mm-dd hh-mm-ss> はファイルのタイムスタンプで、メンテナンスオペレーションが開始された時刻のローカルのシステム時刻に基づいています。例:"2016-01-22 15-20-45"

このファイルを使用すると実行されたオペレーションを全て閲覧することができます。ログファイルを開くボタンをクリックすると、4Dは直近のログファイルをマシンのデフォルトブラウザ上で表示します(ログファイルを開くを参照して下さい)。

数が多くないレコードやインデックスが損傷を受けているケースでは、標準の修復を選択します。データは圧縮および修復されます。このタイプの修復を行うためにはデータファイルとストラクチャーファイルが対応していなければなりません。

この低レベルな修復オプションは、データファイルが大きく損傷していて、バックアップからの復旧や標準の修復などの手段では回復できなかった場合にのみ使用します。

4Dのレコードはサイズが可変です。故にそのレコードをロードするためには、ディスク上のどこに格納されているか、その場所を "アドレステーブル" という特殊なテーブルに記録しておく必要があります。4Dはインデックスやアドレステーブルを経由して、レコードのアドレスにアクセスします。レコードやインデックスのみが損傷を受けている場合、通常、標準の修復を使用すれば問題は解決されます。しかしアドレステーブル自身が損傷を受けている場合、より専門的な修復作業が必要となります。これを行うために、MSCは各レコードのヘッダーに存在するマーカーを使用します。マーカーはレコード情報のサマリと比較されます。そしてアドレステーブルが再構築可能となります。

注 :

  • データベースストラクチャーのテーブルプロパティでレコードを完全に削除オプションの選択を解除していると、ヘッダーマーカーを使用した復旧によって削除したはずのレコードが復活する原因となります。
  • ヘッダーによる再生は参照整合性を考慮しません。この処理を行った後、重複不可フィールドに重複する値が現れたり、NULL値を許可しないに設定したフィールドにNULL値が現れたりするかもしれません。

スキャンおよび修復...をクリックすると、4Dはデータファイルを完全にスキャンします。スキャンを完了すると、結果が以下のウィンドウに表示されます:

注: すべてのレコードおよびすべてのテーブルを対象とした場合、メインエリアのみが表示されます。

"データファイル中で見つかったレコード"エリアには2つのリストがあり、データスキャン結果の概要が表示されます。

  • 左のリストにはデータファイルスキャンの情報が表示されます。各行にはデータファイル中の再生可能なレコードのグループが表示されます:
    • いちばん左の列にはレコードグループの再生順が表示されます。
    • 数列にはグループに割り当てられたテーブル番号が表示されます。
    • 割当先テーブル列には識別されたレコードのグループに割り当てられたテーブルの名前が表示されます。割り当てられたテーブルの名前は自動で緑色で表示されます。
    • 再生可能レコード列にはグループ中で再生可能なレコード数が表示されます。
    • 再生列では各グループごとに、それらのレコードを再生するかどうかを指定できます。デフォルトですべてのグループが選択されています。
  • 右側のリストには割り当てられなかったテーブルが表示されます。例えばどのレコードも割り当てることができなかったテーブルです。

手動による割り当て
アドレステーブルが損傷を受けているため、テーブルに割り当てることのできないレコードグループがある場合、それらを手動で割り当てることができます。
これを行うにはまず、左側のリストの中で割り当てられていないレコードグループを選択します。"レコードの内容"エリアに最初のレコードの内容がプレビューされるため、それがどのテーブルのレコードか判断しやすくなります:

次に"割り当てられていないテーブル"リストから、グループを割り当てるテーブルを選択し、テーブルを割り当てボタンをクリックします。割り当てのためにドラッグ&ドロップを使用することもできます。
結果そのレコードグループは選択したテーブルに割り当てられ、そのテーブルのレコードとして再生されます。手動で割り当てられたテーブルはリスト中黒色で表示されます。
テーブルを割り当てないボタンをクリックすると、レコードグループに対するテーブルの割り当てを手動で解除できます。

“ストラクチャーファイルの修復”エリアにはデータベースストラクチャーファイルのパス名と、修復実行前に元のファイルのコピーを作成する保存先を変更するための [...] ボタンが表示されます。

修復ボタンをクリックすると、必要であればデータベースが閉じられ、再びメンテナンスモードで開かれます。

修復操作が終了すると、4Dはデータベースフォルダーに処理の結果を記録したログファイルを、XMLとHTMLフォーマットで"databasename_Repair_log"という名前で生成します。ログファイルを開くボタンをクリックすると、4Dはマシンのデフォルトブラウザーを使用してHTMLフォーマットのログファイルを開きます (ログファイルを開く参照)。

 
プロパティ 

プロダクト: 4D
テーマ: Maintenance & Security Center

 
履歴 

 
タグ 

Repair_Log

 
ARTICLE USAGE

デザインリファレンス ( 4D v16)
デザインリファレンス ( 4D v16.1)
デザインリファレンス ( 4D v16.3)