ページの先頭行へ戻る
Symfoware Server V10.0.0 トラブルシューティング集

6.4.1 システムファイルを見積もる

システムファイルを見積もる際によくある質問と、その回答について説明します。

更新量に対するアーカイブログファイル見積もりかたは?

アーカイブログファイルは、圧縮を行っていません。INSERT文、UPDATE文、DELETE文を実行するときのアーカイブログ量は、テーブルとインデックスに関して、以下のようにして見積もることができます。

テーブル更新時の見積もり方法

レコード長をLとすると、ログ量は、INSERT文、UPDATE文、DELETE文とも、おおよそ以下の値となります。

ログ量 = L + 100
インデックス更新時の見積もり方法

インデックスレコード長をLとすると、おおよそ以下の値となります。ただし、INDEXではページ分割、ページ縮退といった処理が不定期に実行されます。このときにもログが採取されます。

  • INSERT文、DELETE文の場合

    ログ量 = L + 102
  • UPDATE文の場合

    ログ量 = (L + 102) × 2
  • ページ分割、ページ縮退時

    ログ量 = ページ長 × 1.5 + 168

ページ分割、ページ縮退の発生頻度はおおよそ次のとおりです。

ページ分割回数 = INSERT件数 ÷ (インデックスページ内レコード数×0.5)
ページ縮退回数 = DELETE件数 ÷ (インデックスページ内レコード数×0.5)

また、アーカイブログファイルへの出力は、ブロック長(512バイト)境界に補正されます。このため、アーカイブログファイルへにログを出力する際は、ログ量の総量より、補正された分の使用量が増加します。

ポイント

アーカイブログファイルの容量と数について

アーカイブログ運用を行う場合には、2つ以上のアーカイブログファイルを作成します。定義するアーカイブログファイルの数と総容量は、データベースのバックアップ運用とそれに合わせたアーカイブログファイルの保存に関係した運用で決まります。
アーカイブログファイルが複数個定義されている場合には、ログファイルが満杯になった時点で、Symfoware/RDBが自動的に空きアーカイブログファイルを使用するように自動的に切替えます。
ただし、空きのアーカイブログファイルが1つも存在しない状態になると、Symfoware/RDBが無応答状態となり業務が停止してしまうので、余裕をもたせた容量で見積もってください。

同じレコードをINSERT直後にDELETEしたら、アーカイブログ量はゼロか?

ログは、時系列に書き込みを行っており、取得したログを過去にさかのぼって削除したり上書きしたりすることはありません。

更新結果であるAIログは、すべてアーカイブに出力されます。したがって、INSERT直後にDELETEした場合には、INSERTとDELETEの2つの操作分のログが採取されます。相殺するSQL文を実行してもログの内容が削除されることはありません。