データベース - IBM DB2 - トランザクションログ

 クラウディア
1. 概要
2. サイズを変更する
3. 状態を見る

1. 概要

 細かいことは、よう知らんのですが、「IBM DB2」には、トランザクションログというものがあります。  まぁ、トランザクションを開始して、コミットもしくはロールバックするまでの状態を退避するものだと理解しております。  で、これがよくいっぱいになるんですな。  「データベース - IBM DB2 - トラブルシュート」でもふれています。  まとめて何かしようとすると、すぐに

SQL0964C  データベースのトランザクション・ログがいっぱいです。
 てなエラーになります。  わたしに言わせれば、「IBM DB2」とは、「トランザクションログがいっぱいになる、データベース」なのだ。  わたしが思うに、デフォルトが小さすぎるんじゃねぇの?  本ページは、下記のサイトを参考にさせていただきました。
[Db2] トランザクション・ログの使用量を見積もる方法

2. サイズを変更する

 「SQL」の構成をみなおしたりして、対処するのですが、根本的には、ログのサイズを増やすしかないことがあります。  ここ「データベース - IBM DB2 - トラブルシュート」との重複になりますが・・・。  サーバのコマンドで現在のサイズをか確認するには。

db2 CONNECT TO データベース名
db2 GET DB CFG FOR データベース名

ログ・ファイルのサイズ (4KB) (LOGFILSIZ) =
 と書いてあるのがログファイルサイズです。  変更するには、下記のコマンドを使用します。

db2 UPDATE DB CFG FOR データベース名 USING LOGFILSIZ サイズ
 変更したら、データベースを再起動します。

db2 DISCONNECT データベース名
db2stop
db2start

3. 状態を見る

 現在のトランザクションログの状態を見るのは、下記のコマンドです。

db2pd -db データベース名 -transactions
 見方が、難しいのではありますが・・・。