IBM Support

[Db2] ロギングに関連する EDU

Question & Answer


Question

ロギングに関連する EDU (スレッド) の役割と、これらの EDU でどのようにロギングが行われるのか教えて下さい。

Answer

【ロギングに関連する EDU の役割】

Db2 のトランザクション・ログの操作に関係する代表的な EDU は以下の通りです。
  • db2loggr (ロガー)
    ログ・ファイルの作成やリネームなど、ログ・ファイルの生成に責任を持ちます。
  • db2loggw (ログ・ライター)
    ログ・ファイルへのログ・レコードの書き出しに責任を持ちます。
  • db2logmgr (ログ・マネージャー)
    ログ・ファイルのアーカイブ処理およびリトリーブ処理に責任を持ちます。
  • db2lfr (ログ・ファイル・リーダー)
    ログ・ファイルの読み取りに責任を持ちます。

【ロギングに関わる処理を行う際の EDU の挙動】

トランザクションログの生成や書き込みなど、主なイベントと概要は以下の通りです。
  1. データベースの活動化
  2. 更新系トランザクションの開始
  3. トランザクションのコミット
  4. 現在のログ・ファイル (Current Log) の切り替え
  5. ログ・ファイルのリネーム及び作成
  6. ログ・ファイルのアーカイブ・ログ・パスへのコピー (アーカイブ)
  7. オンライン・バックアップ
  8. データベースの非活動化
  1. データベースの活動化
    データベースが活動化されると、活動化のための処理の中でロギングに関する EDU (db2loggr/db2loggw/db2logmgr) も起動されます。
    また、LOGPRIMARY の設定に応じて必要なログ・ファイルが db2loggr により作成されます。
     
  2. 更新系トランザクションの開始
    UPDATE/INSERT/DELETE 等のデータを更新するステートメントが実行されると、その記録がトランザクション・ログとして書き出されます。
    ステートメントを実行するエージェント (db2agent) はログ・バッファーにログ・レコードを記録します。ログ・バッファーが一杯になった時などに、db2loggw は必要に応じてログ・バッファー内のログ・レコードを現在のログ・ファイルに書き出します。
     
  3. トランザクションのコミット
    db2agent は db2loggw にログ・バッファーからのログ・レコードの書き出しを同期的に依頼します。db2loggw はログ・レコードを現在のログ・ファイルに書き出します。ログの書き出しが完了すると db2loggw はそれを db2agent に通知し、db2agent はログの書き出しの完了をもってコミットを完了します。
     
  4. 現在のログ・ファイル (Current Log) の切り替え
    db2loggw はログ・レコードを現在のログ・ファイル (Current Log) に書き出しますが、現在のログ・ファイルが一杯になった場合は、ログ・ファイルをクローズして次のログ・ファイルをオープンします。また、db2loggw は現在のログ・ファイルが切り替わったことをリカバリー履歴ファイルに記録します。
     
  5. ログ・ファイルのリネームおよび作成
    追加のログ・スペースが必要な時に、db2loggr はアクティブ・ログ・パス上にリネーム可能且つアーカイブ・ログ・パスへコピー済みのログ・ファイルが無いかを確認し、存在すればそれをリネームします。存在しない場合は、LOGPRIMARY と LOGSECOND の合計を超えない範囲で新たなログ・ファイルを作成します。LOGPRIMARY と LOGSECOND の合計を超えてしまう場合、ログ・フルのエラーが発生します。
     
  6. ログ・ファイルのアーカイブ・ログ・パスへのコピー (アーカイブ)
    db2logmgr は、アクティブ・ログ・パス上にクローズされたアーカイブ可能なログ・ファイルが存在するかを非同期に確認します。アーカイブ可能なログ・ファイルが存在すれば、そのログ・ファイルをアーカイブ・ログ・パスにコピーし、アーカイブ処理を行ったことをリカバリー履歴ファイルに記録します。
     
  7. オンライン・バックアップ
    バックアップ処理の完了後、db2loggr は現在のログ・ファイルの切り捨てを db2loggw に依頼します。INCLUDE LOGS オプションが有効な場合、db2logmgr はロールフォワードに必要なログ・ファイルがアクティブ・ログ・パス上になければアーカイブ・ログ・パスからログ・ファイルをリトリーブします。その後、db2lfr はアクティブ・ログ・パス上のログ・ファイルを読み取り、バックアップ・イメージにログ・ファイルのデータを統合します。
     
  8. データベースの非活動化
    データベースが非活動化されると、db2loggw は現在のログ・ファイルを切り捨てて、クローズします。その後、他の EDU 同様にロギングに関する EDU も終了します。
お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと Db2 テクニカル・サポートへお問い合わせください。
Db2 テクニカル・サポート

[{"Type":"MASTER","Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"ARM Category":[{"code":"a8m500000008PmcAAE","label":"Recovery-\u003ELogging"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]

Document Information

Modified date:
15 February 2024

UID

swg21655156