Top / Installmemo / DB2 / transactionLog

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

トランザクションログの設定確認

確保されているトランザクションログの容量は(LOGPRIMARY + LOGSECOND) * LOGFILSIZ * 4KB

$ db2 get db cfg for <データベース名>
ログ・ファイルのサイズ (4KB) (LOGFILSIZ) 
1次ログ・ファイルの数 (LOGPRIMARY) 
2次ログ・ファイル数 (LOGSECOND) 
ログ・ファイルのパス

トランザクションログの拡張

LOGSECOND は変更後に即時反映される。LOGPRIMARY および LOGFILSIZ は、変更を反映するためには該当のデータベースの再活動化が必要。

  • ログ・ファイル・サイズ (LOGFILSIZ) を大きくする
    $ db2 update db cfg for [DB名] using LOGFILSIZ [新しい値]
  • 1次ログ・ファイルの数 (LOGPRIMARY) を大きくする
    db2 update db cfg for [DB名] using LOGPRIMARY [新しい値] 
  • 2次ログ・ファイル数 (LOGSECOND) を大きくする
    db2 update db cfg for [DB名] using LOGSECOND [新しい値] IMMEDIATE 

トランザクションが確保しているログ・スペースの量

$ db2pd -db <データベース名> -transactions

未コミットのアプリケーションの特定

$ db2 GET SNAPSHOT FOR DATABASE ON DB名 
最も古いトランザクションを保留しているアプリケーション ID = 504  
最初のアクティブ・ログのファイル番号 = 0 
最後のアクティブ・ログのファイル番号 = 2 
現在のアクティブ・ログのファイル番号 = 0 

古い未コミットのアプリケーションを特定するには


[1]トランザクション・ログの使用量を見積もる方法
[2]トランザクション・ログがフル (SQL0964C) になったときの対応 (IM-10-00W)