1. ホーム
  2. データベース
  3. デービーツー

解決する db2トランザクションログがいっぱいで、ログのディスク容量がいっぱいです問題の詳細な解決方法

2022-01-19 04:26:21

フル トランザクション ログとは、現在のトランザクションをアクティブ ログに書き込めないことを意味します(プライマリおよびセカンダリ ログ ファイルがすべて使用されているか、現在のトランザクションの書き込みに十分な領域がない場合です)。

ログディスク容量が一杯とは、セカンダリログファイルが使い切られておらず、ディスク容量が一杯であることを意味します。

db2データベースのトランザクションログファイルは、プライマリログファイルとセカンダリログファイルに分かれており、プライマリログファイルにはすでに領域が割り当てられており、セカンダリログファイルが使用されると再割り当てされるようになっています。

トランザクションログの設定を表示するには(midはデータベース名)。

db2 get db cfg for mid

実行した結果。

ログファイルのサイズ(4KB) (LOGFILSIZ) = 1024
マスター・ログ・ファイルの数(LOGPRIMARY)=13
セカンダリーログファイル数(LOGSECOND)=4個
ログファイルへの変更パス(NEWLOGPATH) = =。
ログファイルのパス = D:\DB2NODE0000SQL00003SQLOGDIR

トランザクションログの合計サイズ = (LOGPRIMARY+LOGSECOND)*LOGFILSIZ*4k

ps:(13+4)*1024*4kb=68mb

DB2トランザクションログのフルソリューションです。

(1)ログファイルのサイズを大きくしてください。

LOGFILSIZ 8192 を使用した Mid 用 db cfg の db2 udpate。

または、マスターログファイルの数を増やすこと。

LOGPRIMARY 15 を使用した Mid 用の db2 更新 db cfg。

または、補助ログファイルの数を増やすこと。

db2 update db cfg for mid using LOGSECOND 10.

(2) エラーが発生したアプリケーションを停止、またはすべてのアプリケーションを停止し、データベースを再起動する。

db2 force applications all
db2 force アプリケーション (db2 list applications から取得したアプリケーションハンドル)
db2stop
db2start

db2 transaction log is full and the log disk space is fullを解決するための上記の2つの解決策は、うまくいけばあなたの助けになるでしょう。