When the solution matters

FAQ Tips Tech Note 一般News サービス内容 お申し込み テクニカルサポート
トレーニング 4D News

バックアップの方法について教えて下さい

バックアップとは、データファイルやストラクチャファイルなど、データベースの運用に必要なファイルを圧縮してひとつのファイルにまとめる操作のことです。

次に挙げるバックアップの方法は明らかに間違っています。
絶対にやらないで下さい。

■ 1時間毎にバックアップを実行する。
■ バックアップの代わりにファイルをデータベースの実行中にコピーする。
■ 終了時にバックアップを実行する。

次に挙げるバックアップの方法は効果的ではありません。
できればやらないで下さい。

■ ログファイルを使用しない。
■ バックアップ場所にオリジナルと同じディスクボリュームを使用する。
■ バックアップ場所に取り外し可能な記憶媒体を使用する。

【バックアップの頻度】

バックアップは、セーブ(冒険の書)ではありません。有事に備えるためとはいえ、一時間毎という間隔は明らかに間違っています。停電やディスクの事故などにより、データベースが損害を被った場合、圧縮ファイルであるバックアップを展開すれば、バックアップ実行時点のデータが復元されます。続けてログファイルを統合すれば、事故直前のデータが復元されます。バックアップを頻繁に実行しなくても、ログファイルがあれば、事故直前のデータまでは復元できるのです。

【バックアップの注意事項】

■ バックアップをトランザクション中に開始することはできません。
■ バックアップをインデックス作成中に開始することはできません。
■ バックアップ中にレコードを更新することはできません。
■ バックアップはかなりの負荷をCPUに加えます。

【バックアップモジュールを使用する理由】

4Dは、データベースが更新されるたびにデータファイルやストラクチャファイルを更新しているわけではありません。そのような操作はいずれもバッファと呼ばれるメモリ上の領域に一時保管され、キャッシュマネージャ(内部タイマープロセス)と呼ばれるプロセスが適切なタイミングでディスクに対する書き込みを実行します。実行中にデータファイルやストラクチャファイルなどをコピーした場合、そのファイルは不完全なものだったり、読み取りができないファイルになる危険があるので絶対にしないで下さい。

プロセスリスト(4D 2004)



プロセスリスト(4D v11 SQL)



ディスク書き込み中を示すスプラッシュイメージ(4D 2004)



ディスク書き込み中を示すスプラッシュイメージ(4D v11 SQL)



4Dは、終了間際にローカルプロセスを作成し、On Exitデータベースメソッドを実行します。このプロセスの主な役割は、イベント待機中のプロセスにアプリケーションの終了を通知することです。通知を受け取ったプロセスは、速やかに実行中の操作を中断あるいは完了することが期待されています。On Exitデータベースメソッドは、一定時間、アプリケーションの終了を遅らせることができますが、最終的には強制的に終させられます。ここでバックアップは実行しないで下さい。

【ログファイルとの併用】

バックアップは、データファイルやストラクチャファイルなど、データベースの運用に必要なファイルを圧縮する操作です。データベースのサイズに応じて処理に要する時間が長くなり、出来上がるファイルのサイズもかなりのものになります。

これに対し、ログファイルはデータベースの更新履歴を順番どおりに記録したファイルです。バックアップ直後に新しく作成され、バックアップ実行前に閉じられて完成します。ログファイルはバックアップとバックアップの間をつなぐ重要な役目を負っています。バックアップをするのであれば、ログファイルの使用は必須です。ログファイルを使用しないのであれば、たいへんなリスクを覚悟しなければなりません。

【ログファイルの構造】

ログファイルの先頭にはログヘッダと呼ばれる基本情報が記録されています。

http://www.4d-japan.com/docs/CMU/CMU84857.HTM

ログヘッダの後は、ログタグと呼ばれる情報が操作履歴の数だけ続きます。

http://www.4d-japan.com/docs/CMU/CMU84856.HTM

ログファイルには、ログアクションと呼ばれる操作履歴が記録されています。

http://www.4d-japan.com/docs/CMU/CMU84855.HTM

ディスクに対するログアクションの書き込みを実行する前にアプリケーションがクラッシュしてしまった場合、あるいはバックアップからデータベースを復元した場合、データファイルに書き込まれていないログアクションがログファイルに記録が残されているので、これをデータファイルに統合することにより、事故直前のデータを復元することができます。

バックアップは、データファイルが置かれたディスクに対する書き込みができなくなった場合に対する備えでもあるので、データファイルと同じボリュームには置かないのが無難です。また、バックアップの場所は、常に利用できる(マウントされている)ボリュームを選択し、取り外し可能な記憶媒体は使用しないで下さい。

【ログファイルの使用を開始する】

ログファイルを使用を開始するには、4Dまたは4D Serverの環境設定ダイアログで作成場所を指定します。4D Serverであれば、SELECT LOG FILEコマンドで作成することもできます。ログファイルは、バックアップの終了後に作成され、バックアップの開始前に閉じられます。設定あるいはコマンドで新しいログファイルを作成することにした場合、実際にはバックアップを実行するまでログファイルは作成されません。ログファイルは、バックアップを実行した回数に応じ、何度目のバックアップを実行した後に作成されたファイルであるのかを示す接尾辞がファイル名に追加されます。



http://www.4d-japan.com/docs/CMU/CMU00926.HTM

データベースの実行中は、データベースに対する更新の履歴がログファイルに書き込まれています。この内容は、ダイアログで確認することができます。

ログファイルをチェック(4D 2004)



メンテナンスアンドセキュリティセンター(4D v11 SQL)



バックアップの場所は、4Dまたは4D Serverの環境設定ダイアログで指定します。



バックアップを実行すると、ログファイルは閉じられて拡張子が.4DLから.4BLに変化します。データファイルやストラクチャファイルなどは、圧縮されて拡張子.4BKのファイルになります。また新しいログファイルが作成されます。



バックアップファイルを展開して元のファイルやフォルダを復元するには、所定のダイアログを使用します。

開くダイアログ(4D 2004)



メンテナンスアンドセキュリティセンター(4D v11 SQL)



バックアップを展開すると、圧縮されていたフォルダやファイルが再現されてひとつのファイルの中に置かれます。[0001].4BKを復元した場合、そのフォルダ名は[0001.4BK]-restoreです。



復元されたデータベースもログファイルを必要としています。通常は、そのバックアップを実行した後から使用されてきたログファイルを指定し、最新のデータまで統合します。そのファイルがない場合、あるいは特に統合するログアクションがない場合、新しいログファイルを作成します。



ログファイルの要・不要属性はストラクチャファイルに刻まれているので、この時点でログファイルの使用を中止することはできません。そのようなストラクチャは、ログファイルを選択するか、新しく作成しない限り、実行することができません。



ログファイルの使用を中止するのであれば、次の手順でログファイルの要・不要属性を書き換えて下さい。

■ データベースを一旦終了します。
■ 新規データファイルと新規ログファイルを作成してデータベースを開きます。
■ ログファイルの使用を中止します。
■ 元のデータファイルでデータベースを開きます。

【まとめ】

バックアップは、時間的な余裕があるときにデータベース全体の完全なコピーを作成するために実行するものです。

バックアップは、ログファイルと併用することにより、本来の力を発揮するものです。最後のバックアップ以降の履歴はログファイルに記録されており、これを統合することにより、データファイルを復元することができます。

International | 会社案内 | 採用情報 | お客様窓口 | サイトマップ | © 4D Japan 1995-2008 | フォントサイズ:[A] [A] [A] | Print this page