データベースメンテナンス
データベースメンテナンスページは、ローカルのHandyCafeデータベースのバックアップと保守を行うセンターです。このページでは、データベースの健全性を確認し、単発のメンテナンスタスクを実行し、自動メンテナンスとバックアップをスケジュールし、以前のスナップショットからサーバーを復元できます。
データベースの健全性
データベースの健全性セクションには、データベースの現在の状態が表示されます。更新ボタンでこれらの値をいつでも再読み込みできます。
健全性ダッシュボードには次の項目が表示されます。
- データベースサイズ: メインデータベースファイルの合計サイズ。
- 先行書き込みログ: 先行書き込みログ(WAL)ファイルのサイズ。
- ページ数: データベースファイルが保持するページ数。
- 空きページ: バキュームで回収可能な、フリーリスト上の未使用ページ数。
- 前回のバックアップ: 最新のバックアップのタイムスタンプ。バックアップが一度も取得されていない場合は未実行と表示されます。
- 前回のメンテナンス: 最新のバキュームのタイムスタンプ。
- 前回の整合性チェック: 最新の整合性チェックのタイムスタンプ。データベースが正常だったか、または問題が見つかったかを示すステータスインジケーター付きです。
- ログエントリ: 監査ログに現在保存されている行数。
これらの数値の下に、セクションではジャーナルモード、自動バキューム設定、ページサイズ、ディスク上のバックアップ数も表示されます。
テーブルエントリを展開すると、データベース内のすべてのテーブルについてテーブルごとの行数を確認できます。
手動アクション
手動アクションセクションでは、単発のメンテナンスタスクを即座に実行します。アクションは一度に1つのみ実行できます。各アクションは完了時に確認トーストを表示し、いくつかのアクションはこのセクションの上部に結果サマリーを表示します。
- 今すぐバックアップ: 現在のデータベースのアトミックなスナップショットを作成します。新しいスナップショットはバックアップ履歴の一覧に表示されます。
- バキューム: 未使用ページを回収し、データベースファイルをデフラグします。結果サマリーには、実行前のサイズ、実行後のサイズ、回収された容量、所要時間が表示されます。
- 整合性チェック: 完全な破損チェックを実行します。低速ですが徹底的です。結果は整合性レポートダイアログで開きます。
- クイックチェック: 高速な構造の健全性チェックを実行します。結果も整合性レポートダイアログで開きます。
- 分析: クエリプランナーの統計情報を更新します。
- 最適化: SQLiteの増分オプティマイザを実行します。
- WALの切り詰め: 先行書き込みログファイルをフラッシュして切り詰めます。結果サマリーには、WALフレーム数、チェックポイント処理されたフレーム数、所要時間が表示されます。
- 古いログのクリーンアップ: 設定された保持期間より古いログエントリを削除します。結果サマリーには、削除された行数、残った行数、所要時間が表示されます。
整合性レポート
整合性チェックまたはクイックチェックの後、整合性レポートダイアログが開きます。データベースが正常な場合は、データベースの整合性が検証されたことを確認します。SQLiteが問題を報告した場合は、ダイアログに問題が一覧表示され、正常であることが確認済みのバックアップからの復元を推奨します。ダイアログにはチェックの所要時間も表示されます。
自動メンテナンス
自動メンテナンスセクションでは、バキューム、整合性チェック、ログのクリーンアップを自動実行するようスケジュールします。
- スケジュールメンテナンスを有効にする: スケジュールされたメンテナンスサイクルのオン・オフを切り替えます。
- 頻度: 毎日、毎週、毎月から選択します。
- 時刻: サイクルを実行するローカル時刻を選択します。
自動バックアップ
自動バックアップ設定では、定期的にスナップショットを取得し、1回の破損で1日分のデータが消失することがないようにします。
- スケジュールバックアップを有効にする: スケジュールされたバックアップのオン・オフを切り替えます。
- 頻度: 毎日、毎週、毎月から選択します。
- 時刻: バックアップを実行するローカル時刻を選択します。
- 最新の保持件数: 保持するスナップショットの数で、1~365の範囲です。この件数を超えた古いスナップショットは削除されます。
- バックアップフォルダー: スナップショットを保存するディレクトリ。空のままにすると、アプリケーションデータディレクトリ内のデフォルトフォルダーが使用されます。
ログの保持
ログの保持設定では、監査ログエントリがメンテナンス時に削除されるまでの保持期間を制御します。スライダーで**保持日数(日)**の値を設定します。サポートされる範囲は7~730日です。
このセクション下部の保存ボタンで、自動メンテナンス、自動バックアップ、ログの保持の各設定を保存します。
バックアップ履歴
バックアップ履歴セクションには、ローカルに保存されたスナップショットが一覧表示されます。各バックアップについて、テーブルには次の項目が表示されます。
- ファイル: スナップショットファイルの名前。
- 作成日時: スナップショットが取得された日時。
- サイズ: スナップショットファイルのサイズ。
- ソース: バックアップがどのように起動されたか。自動バックアップはスケジュール、アプリケーション起動時のバックアップは起動時、今すぐバックアップで作成されたバックアップは手動です。
各行には2つのアクションがあります。
- 復元: 実行中のデータベースを選択したスナップショットで置き換えます。置き換えの前に、現在のデータベースの復元前セーフティコピーが自動的に保存されます。その後、スナップショットを反映させるためにアプリケーションが終了して再起動します。復元を開始する前に確認を求められます。
- 削除: スナップショットファイルをディスクから削除します。ファイルを削除する前に確認を求められます。これは元に戻せません。
スナップショットがまだ存在しない場合、このセクションは今すぐバックアップを実行するか次のスケジュールサイクルを待つよう促します。
クラウドバックアップ
クラウドバックアップセクションでは、HandyCafeのサーバーに保存され、任意のHandyCafeインストールから復元できる、オフサイトの暗号化スナップショットについて説明します。
この機能は近日公開と表示されており、まだ利用できません。トグルと構成フィールドはローカルに保存されるため、お使いのアカウントで機能が開放された際にすぐ設定が使える状態になります。利用可能なフィールドは、クラウドバックアップを有効にする、ロゴ・ポスター・アイドル画面などのメディアアセットも併せてバックアップするオプション、エンドポイント、バケット / ストレージゾーンです。
重要な注意事項
- 復元を行うとサーバーアプリケーションが終了して再起動します。復元前にアクティブなセッションへ知らせてください。
- 復元時は常に現在のデータベースの復元前セーフティコピーが先に保存されるため、そのセーフティコピーを復元することで復元を取り消せます。
- バックアップフォルダーは、最新の保持件数で設定したスナップショット数に十分な空き容量があるストレージに置いてください。
- 大きなデータベースで整合性チェックやバキュームを実行すると時間がかかる場合があります。手動アクションは一度に1つのみ実行されます。