10.12.2 システムログファイルの容量の縮小契機
データベースの更新処理が行われるとシステムログが出力されるため,データベースの更新量に比例してシステムログファイルの容量が増加していきます。特に,非定期運用などでデータベースの大量更新を行った場合,一部のユーザログファイルの容量が非常に大きくなることがあります。その結果,DBディレクトリの容量を圧迫するなどの問題が発生するおそれがあります。DBディレクトリの容量圧迫を防ぐために,HADBサーバは次に示す契機でシステムログファイルの容量を自動的に縮小します。
- マスタログファイルの容量の縮小契機
-
データベースを更新したトランザクションが決着した際に,マスタログファイルの容量が2メガバイトを超えている場合,マスタログファイルの容量が縮小されます。ただし,次に示すどちらかの条件を満たす場合は,マスタログファイル内に使用中のシステムログが存在するため,マスタログファイルの容量を縮小する処理がスキップされます。
-
データベースを更新するトランザクションがほかにも存在する場合
-
マスタログファイルの容量の縮小契機となったトランザクションが,アーカイブディレクトリ下のデータを削除する処理を行っている場合
- 重要
-
データベースを更新するトランザクションを複数実行している状態が続くと,マスタログファイルの縮小処理が行われません。そのため,定期的(例えば1日に1回)に更新トランザクションを複数同時に実行しない時間帯を意図的に設定することを推奨します。
- メモ
-
アーカイブマルチチャンク表に対して次に示すSQL文またはコマンドを実行した場合,アーカイブディレクトリ下のデータを削除する処理が行われます。
-
DROP SCHEMA文
-
REVOKE文のSCHEMA
-
DROP TABLE文
-
TRUNCATE TABLE文
-
ALTER TABLE文(アーカイブマルチチャンク表をレギュラーマルチチャンク表へ変更する場合)
-
PURGE CHUNK文
-
adbunarchivechunkコマンド
-
-
- ユーザログファイルの容量の縮小契機
-
更新トランザクションの決着時,その更新トランザクションが使用していたユーザログファイルの容量が,サーバ定義のadb_log_usrfile_sizeオペランドのユーザログファイルの容量の縮小契機に指定した容量を超えている場合,ユーザログファイルの容量が初期化容量※に縮小されます。
- 注※
-
adb_log_usrfile_sizeオペランドのユーザログファイルの初期化容量に指定した容量です。
ユーザログファイルの縮小に関して次のことを考慮してください。
-
ユーザログファイルの縮小処理に伴う更新性能への影響をなくしたい場合
ディスクに十分な空き容量がある場合は,adb_log_usrfile_sizeオペランドのユーザログファイルの容量の縮小契機に0を指定してください。0を指定した場合,ユーザログファイルの容量の縮小処理は行われません。
-
ユーザログファイルの容量増加に伴うディスク容量不足を回避したい場合
adb_log_usrfile_sizeオペランドを省略するか,またはadb_log_usrfile_sizeオペランドのユーザログファイルの容量の縮小契機に0以外を指定してください。この場合,ユーザログファイルの容量の縮小処理が行われます。ただし,定常運用中にユーザログファイルの容量の縮小処理の回数が増加すると,更新性能に影響を及ぼすおそれがあります。そのため,ユーザログファイルの容量の縮小処理が実行された回数を定期的に確認してください。ユーザログファイルの容量の縮小処理が実行された回数を調べる方法については,「14.1.9 ユーザログファイルの縮小化容量の見直し」を参照してください。