データベース - IBM DB2 - トランザクションログ
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 見方が、難しいのではありますが・・・。
SQL0964C データベースのトランザクション・ログがいっぱいです。
「[Db2] トランザクション・ログの使用量を見積もる方法」
db2 CONNECT TO データベース名 db2 GET DB CFG FOR データベース名
ログ・ファイルのサイズ (4KB) (LOGFILSIZ) =
db2 UPDATE DB CFG FOR データベース名 USING LOGFILSIZ サイズ
db2 DISCONNECT データベース名 db2stop db2start
db2pd -db データベース名 -transactions