-ld -lc -ll -lf -lp -ls - ibmpublic.dhe.ibm.com/software/dw/jp/websphere/wmq/mq_intro/...- 1 -...

19
-1- 第14章 ログ 第2章でも簡単に触れましたが、今回はWebSphere MQにとって重要なログについて、お話ししたいと思います。 単純にログと言っても、WebSphere MQのログには大別すると2つのタイプがあります。 ・メッセージ処理などのアクティビティーを記録している、「トランザクション・ログ」 ・キュー・マネージャーの活動状況やエラーなどをテキストで記録している、「エラー・ログ」 後者の「エラー・ログ」については第12章で触れていますので、前者に話を絞ります。 14-1. トランザクション・ログ 「第2章 WebSphere MQの構成要素」の「2-5. ログ」でお話ししたように、トランザクション・ログ は、 ●複数のログ・ファイル(一次ログ・ファイルと、二次ログ・ファイルがあります) ●ログ制御ファイル から構成され、それぞれキュー・マネージャー単位で作成されます。トランザクション・ログの 保管先ディレクトリーはキュー・マネージャー作成時に指定(*1)できますが、省略時は ● Windowsの場合、[WebSphere MQ導入先ディレクトリー]\log\[キュー・マネージャー名]\ ● UNIXやLinuxの場合、/var/mqm/log/[キュー・マネージャー名]/ になります。(以降では、上記のディレクトリーを「ログ・ディレクトリー」と表記します) (*1) crtmqmのパラメータ"-ld"で指定します。システムのパフォーマンスや、運用上ログの保管 などの条件がある場合には、このパラメータを使ってログ・ファイルを別のファイル・システ ムやディレクトリーに作成することもあります。ただし、キュー・マネージャー作成後に変更 はできませんので、ご注意を。 [crtmqmで指定可能な、ログ関連のパラメータ] (1) ログ・ファイル ログ・ファイルには、 - キュー・マネージャー自身と、その管理下にあるキューなどのオブジェクトの情報 - キューに対する書き込み/読み出しなどパーシスタント・メッセージに対する処理情報 (キューのMPNCLASS属性の設定により、ノン・パーシスタント・メッセージが含まれる 場合もあります) - 同期点処理に関する情報 - チャネルの情報 ログ・ファイル・パス -ld ログ・ファイルの保管先ディレクトリー -lc 循環式ロギング (省略時) -ll リニア・ロギング ログ・ファイル・ページサイズ -lf ログ・ファイルのサイズ (4KB単位) -lp 一次ログ・ファイル数 (省略時 3) -ls 二次ログ・ファイル数 (省略時 2) ロギング方法 ログ・ファイル数 Copyright IBM Japan, Ltd

Upload: others

Post on 06-Jul-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: -ld -lc -ll -lf -lp -ls - IBMpublic.dhe.ibm.com/software/dw/jp/websphere/wmq/mq_intro/...- 1 - 第14章 ログ 第2章でも簡単に触れましたが、今回はWebSphere MQにとって重要なログについて、お話ししたいと思います。単純にログと言っても、WebSphere

- 1 -

第14章 ログ

第2章でも簡単に触れましたが、今回はWebSphere MQにとって重要なログについて、お話ししたいと思います。

単純にログと言っても、WebSphere MQのログには大別すると2つのタイプがあります。

・メッセージ処理などのアクティビティーを記録している、「トランザクション・ログ」

・キュー・マネージャーの活動状況やエラーなどをテキストで記録している、「エラー・ログ」

後者の「エラー・ログ」については第12章で触れていますので、前者に話を絞ります。

14-1. トランザクション・ログ

「第2章 WebSphere MQの構成要素」の「2-5. ログ」でお話ししたように、トランザクション・ログ

は、

●複数のログ・ファイル(一次ログ・ファイルと、二次ログ・ファイルがあります)

●ログ制御ファイル

から構成され、それぞれキュー・マネージャー単位で作成されます。トランザクション・ログの

保管先ディレクトリーはキュー・マネージャー作成時に指定(*1)できますが、省略時は

● Windowsの場合、[WebSphere MQ導入先ディレクトリー]\log\[キュー・マネージャー名]\

● UNIXやLinuxの場合、/var/mqm/log/[キュー・マネージャー名]/

になります。(以降では、上記のディレクトリーを「ログ・ディレクトリー」と表記します)

(*1) crtmqmのパラメータ"-ld"で指定します。システムのパフォーマンスや、運用上ログの保管

などの条件がある場合には、このパラメータを使ってログ・ファイルを別のファイル・システ

ムやディレクトリーに作成することもあります。ただし、キュー・マネージャー作成後に変更

はできませんので、ご注意を。

[crtmqmで指定可能な、ログ関連のパラメータ]

(1) ログ・ファイル

ログ・ファイルには、

- キュー・マネージャー自身と、その管理下にあるキューなどのオブジェクトの情報

- キューに対する書き込み/読み出しなどパーシスタント・メッセージに対する処理情報

(キューのMPNCLASS属性の設定により、ノン・パーシスタント・メッセージが含まれる

場合もあります)

- 同期点処理に関する情報

- チャネルの情報

ログ・ファイル・パス -ld ログ・ファイルの保管先ディレクトリー-lc 循環式ロギング (省略時)-ll リニア・ロギング

ログ・ファイル・ページサイズ -lf ログ・ファイルのサイズ (4KB単位)-lp 一次ログ・ファイル数 (省略時 3)-ls 二次ログ・ファイル数 (省略時 2)

ロギング方法

ログ・ファイル数

Copyright IBM Japan, Ltd

Page 2: -ld -lc -ll -lf -lp -ls - IBMpublic.dhe.ibm.com/software/dw/jp/websphere/wmq/mq_intro/...- 1 - 第14章 ログ 第2章でも簡単に触れましたが、今回はWebSphere MQにとって重要なログについて、お話ししたいと思います。単純にログと言っても、WebSphere

- 2 -

Copyright IBM Japan, Ltd

などの情報が、キュー・マネージャーの再始動時や、ソフトウェア/ハードウェア障害発生時に

備えて、記録されます。ログ・ファイルは、Sxxxxxxx.LOG(xxxxxxxは、0000000から9999999)と

いうファイル名で、ログ・ディレクトリー下にある"active"というディレクトリーに存在します。

ⅰ. 一次ログ・ファイルと、二次ログ・ファイル

通常で利用されているログ・ファイルは、一次ログ("primary log"と呼ばれることがあり

ます)になります。この一次ログ・ファイル全てを利用しても、ログ容量が不足することが

予想される場合に、二次ログ("secondary log"と呼ばれることがあります)が作成されて、

利用されることがあります。

一次ログ・ファイルと二次ログ・ファイルの数は、crtmqmのパラメータ"-lp"と"-ls"で

指定します。WebSphere MQ V7.0での有効範囲は、以下のようになります。

ログ・ファイルのサイズは、crtmqmの"-lf"パラメータを使って、4KB単位でいくつ使うか

で指定します。 つまり、実際のファイル・サイズは、

[-lf パラメータでの指定値] × [4KB]

になります。バージョンによって異なりますが、"-lf"の省略値、および最大値/最小値は

最新のWebSphere MQ V7.0では以下のようになります。

ログ・ファイルの空き容量が足りなくなると、キュー・マネージャーのメッセージ処理に

影響が出ます (エラー・メッセージとして、AMQ7463とかAMQ7465など)。またログ・ファイ

ルの切り替えが頻繁に行われると、I/O待ちが生じ、一時的にパフォーマンスが落ちたり

することもあります。このような状況を避けるため、余裕を見込んだサイズと数を指定し

省略値 最大値 最小値 省略値 最大値 最小値 最大値 最小値Windows 3 254 2 2 253 1 255 3Unix/Linux 3 510 2 2 509 1 511 3

lpとlsとの合計lsの値lpの値

省略値 最小値 最大値Windows 4,096 32 65,536

Unix/Linux 4,096 64 65,536

-lf パラメータ

Page 3: -ld -lc -ll -lf -lp -ls - IBMpublic.dhe.ibm.com/software/dw/jp/websphere/wmq/mq_intro/...- 1 - 第14章 ログ 第2章でも簡単に触れましたが、今回はWebSphere MQにとって重要なログについて、お話ししたいと思います。単純にログと言っても、WebSphere

- 3 -

Copyright IBM Japan, Ltd

て、キュー・マネージャーを作成することをお勧めします (たとえ、勢いで決めたとして

も、「余裕を持って」大きめに....)。

ⅱ. ログによるオブジェクトの回復

WebSphere MQでは、ログ・ファイルを使って、キューに滞留していたメッセージや、

キューなどのオブジェクトを回復させることができます。

- リスタート・リカバリー

正常終了したキュー・マネージャーを再始動させた時に行われる復元処理

- クラッシュ・リカバリー

何らかの問題によるキュー・マネージャーの異常終了後、再始動させたときに

行われる復元処理.

- メディア・リカバリー

キュー・マネージャーが管理している、キューやチャネルなどのオブジェクトの

情報や状態の復元処理.

この中で、リスタート・リカバリーとクラッシュ・リカバリーでは、

- キューに滞留していたパーシスタント・メッセージ

- トランザクションの整合性

の回復が、キュー・マネージャー始動時などに行われます。

Windows版WebSphere MQ V6.0.2.5で、キュー・マネージャー"venus"の

リスタート・リカバリーが行われたことを示すメッセージ (点線内の部分)

メディア・リカバリーでは、ログ・ファイルに保管されているキューやその中に滞留して

いたパーシスタント・メッセージチャネル定義やプロセス定義、サービス定義などの情報

を復元することが出来ます。ただし、このメディア・リカバリーはリニア・ロギングを

利用している場合のみ、利用可能です。

ログ・ファイルが破損すると、キュー・マネージャーがメッセージ処理を行えないだけで

なく、これらの回復処理もできないことになり、正常に機能できない場合があります。

f:¥work>strmqm venusWebSphere MQ キュー・マネージャー venus' を開始しています。ログのやり直しフェーズ中に、キュー・マネージャー 'venus' で 5 ログ・レコードがアクセスされました。キュー・マネージャー 'venus' のログのやり直しが完了しました。キュー・マネージャー ‘venus’ のトランザクション・マネージャーの状態が回復されました。WebSphere MQ キュー・マネージャー 'venus' が始動しました。

f:¥work>

f:¥work>strmqm venusWebSphere MQ キュー・マネージャー venus' を開始しています。ログのやり直しフェーズ中に、キュー・マネージャー 'venus' で 5 ログ・レコードがアクセスされました。キュー・マネージャー 'venus' のログのやり直しが完了しました。キュー・マネージャー ‘venus’ のトランザクション・マネージャーの状態が回復されました。WebSphere MQ キュー・マネージャー 'venus' が始動しました。

f:¥work>

Page 4: -ld -lc -ll -lf -lp -ls - IBMpublic.dhe.ibm.com/software/dw/jp/websphere/wmq/mq_intro/...- 1 - 第14章 ログ 第2章でも簡単に触れましたが、今回はWebSphere MQにとって重要なログについて、お話ししたいと思います。単純にログと言っても、WebSphere

- 4 -

Copyright IBM Japan, Ltd

ⅲ. チェック・ポイント

アプリケーションからパーシスタント・メッセージの処理を依頼されると、キュー・マ

ネージャーは、まず初めにログ・ファイルに情報を記録し、その後キュー・ファイルの

更新を行います。つまり、ログ・ファイルの方が、常に最新の情報を保持していることに

なります。そこで、キュー・マネージャーは、ログ・ファイルとキュー・ファイルの情報

を一致させるために、チェック・ポイントと呼ばれる操作を

- ログ・ファイルに対して、10,000回の処理が行われたタイミング

- キュー・マネージャーの正常終了時、または起動時

- 利用可能なログ・ファイルの空き容量が少なくなってきた時

に行います。(注:上記のタイミングは、WebSphere MQ V7.0およびV6.0のものです。バー

ジョンによって、異なる場合があります)

チェック・ポイント処理が行われるタイミング. チェック・ポイント処理が行われると、ログ・ファイルとキューの情報が一致する.

もしチェック・ポイント処理が行われる前にキュー・マネージャーが異常終了した場合、次

ページの図のように、キュー・マネージャー再始動時に最後のチェック・ポイントからメッ

セージの復元処理(つまり、リスタート・リカバリー)が行われます。 (当然のことながら、

ログ・ファイルが破損していないことが前提とです)

チェック・ポイント処理が行われると、各キュー・マネージャーのAMQERR01.LOGに、メッセージ

AMQ7467が記録されます。また、チェック・ポイント処理が行われたファイルよりも、古い

ログ・ファイルがinactive呼ばれる状態となります(inactiveになっても、不要になったという

時間

キュー・マネージャー停止

キュー・マネージャー始動

10,000回の処理

チェック・ポイント2

チェック・ポイント3

チェック・ポイント1

ログ・ファイルの切り替え

パーシスタント・メッセージの処理(MQPUT / MQGET)

パーシスタント・メッセージの処理(MQPUT / MQGET)

時間

キュー・マネージャー停止

キュー・マネージャー始動

10,000回の処理

チェック・ポイント2

チェック・ポイント3

チェック・ポイント1

ログ・ファイルの切り替え

パーシスタント・メッセージの処理(MQPUT / MQGET)

パーシスタント・メッセージの処理(MQPUT / MQGET)

Page 5: -ld -lc -ll -lf -lp -ls - IBMpublic.dhe.ibm.com/software/dw/jp/websphere/wmq/mq_intro/...- 1 - 第14章 ログ 第2章でも簡単に触れましたが、今回はWebSphere MQにとって重要なログについて、お話ししたいと思います。単純にログと言っても、WebSphere

- 5 -

意味ではありません)。

ログ・ファイルがinactiveになると、

●循環式ロギングを利用している場合、ログ・ファイルが解放され、再利用可能になり

ます・

●リニア・ロギングを利用している場合は、まだ再利用可能になるわけではありません。

という、違いがあります。

(2) ログ制御ファイル

ログ制御ファイル "amqhlctl.lfh"は、各キュー・マネージャーのログ・ディレクトリー下に

あります。このファイルには、

- ログ・ファイルのサイズ

- ログ・ファイルの存在ディレクトリー

- 次に利用可能なログ・ファイル名

など、ログ・ファイルに関する制御情報が保存されています。またチェック・ポイント処理が

行われると、その情報も書き込まれます。従って、ログ・ファイルのバックアップを取る場合

には、必ずこのamqhlctl.lfhも一緒に保管して下さい。

(3) 循環式ロギングとリニア・ロギング

前述のように、ログ・ファイルの使い方によって、WebSphere MQは循環式ロギングとリニア・

ロギングという二つの方法を持っています。まず、大きな違いは

- 循環式ロギングはキュー・マネージャー作成時に指定された数だけしか、ログ・ファイ

時間

キュー・マネージャー異常終了

10,000回の処理

チェック・ポイント

チェック・ポイント1

ログ・ファイルの切り替え

パーシスタント・メッセージの処理(MQPUT / MQGET)

パーシスタント・メッセージの処理(MQPUT / MQGET)

キュー・マネージャー再始動

キュー・マネージャー再始動時に、チェック・ポイント 2の段階から異常終了の直前まで復元.

キュー・マネージャー始動

チェック・ポイント2

時間

キュー・マネージャー異常終了

10,000回の処理

チェック・ポイント

チェック・ポイント1

ログ・ファイルの切り替え

パーシスタント・メッセージの処理(MQPUT / MQGET)

パーシスタント・メッセージの処理(MQPUT / MQGET)

キュー・マネージャー再始動

キュー・マネージャー再始動時に、チェック・ポイント 2の段階から異常終了の直前まで復元.

キュー・マネージャー始動

チェック・ポイント2

Copyright IBM Japan, Ltd

Page 6: -ld -lc -ll -lf -lp -ls - IBMpublic.dhe.ibm.com/software/dw/jp/websphere/wmq/mq_intro/...- 1 - 第14章 ログ 第2章でも簡単に触れましたが、今回はWebSphere MQにとって重要なログについて、お話ししたいと思います。単純にログと言っても、WebSphere

- 6 -

Copyright IBM Japan, Ltd

ルを利用しない. 一方リニア・ロギングでは、必要に応じてログ・ファイルが増えてい

く.

- リニア・ロギングのみ、キューなどのオブジェクトのイメージを保管できる.

という点にあります。

それぞれのログ・タイプと、先にお話ししたリカバリー処理のどれが対応するかをまとめる

と、以下のようになります。

ファイル・システムの損傷などによるログ・ファイルの物理的な損傷が起こった場合には、

どちらのログ・タイプを使っていても対応できません。キュー・マネージャーの終了後に、

ログ・ファイルとログ制御ファイルをまとめて待避しておくと共に、これらのファイルの

保存先ファイル・システムはRAID構成にするなど、物理的にも障害に強くなるように設計して

下さい。

(4) qm.iniとの関係

キュー・マネージャー作成時に指定されたログ関連のパラメータは、キュー・マネージャー

構成ファイル "qm.ini"に保管されます(*1)。

(*1) Windows版V6.0やV7.0では、qm.iniはWindowsレジストリーに統合されています。Unix

系OSやLinuxの場合、/var/mqm/qmgrs/[キュー・マネージャー名]/下に存在します。

リスタート・リカバリー クラッシュ・リカバリー メディア・リカバリー

循環式ロギング 可能 可能 不可能

リニア・ロギング 可能 可能 可能

Page 7: -ld -lc -ll -lf -lp -ls - IBMpublic.dhe.ibm.com/software/dw/jp/websphere/wmq/mq_intro/...- 1 - 第14章 ログ 第2章でも簡単に触れましたが、今回はWebSphere MQにとって重要なログについて、お話ししたいと思います。単純にログと言っても、WebSphere

- 7 -

Copyright IBM Japan, Ltd

例として、Linux上のWebSphere MQ V7.0におけるqm.iniをお見せします。

qm.iniの例(/var/mqm/qmgrs/orange/qm.ini). 赤い四角で囲まれた部分がログ・ファイルに関する設定.

この中で「Logスタンザ」と呼ばれる、"Log:"の部分がcrtmqmで指定したログ・ファイル関連の

パラメータが反映される箇所になります。(この例では、パラメータを省略してcrtmqmを

行ったため、省略時の値が設定されています)

Logスタンザに記述されているパラメータの概要は、次ページのようになります。

[mqm@stardust orange]$ pwd/var/mqm/qmgrs/orange[mqm@stardust orange]$ ls -la qm.ini-rw-rw-r-- 1 mqm mqm 1295 8月 27 14:33 qm.ini[mqm@stardust orange]$ cat qm.ini#*******************************************************************##* Module Name: qm.ini *##* Type : WebSphere MQ queue manager configuration file *## Function : Define the configuration of a single queue manager *##* *##*******************************************************************##* Notes : *##* 1) This file defines the configuration of the queue manager *##* *##*******************************************************************#ExitPath:

ExitsDefaultPath=/var/mqm/exits/ExitsDefaultPath64=/var/mqm/exits64/

#* *##* *#Log:

LogPrimaryFiles=3LogSecondaryFiles=2LogFilePages=1024LogType=CIRCULARLogBufferPages=0LogPath=/var/mqm/log/orange/LogWriteIntegrity=TripleWrite

Service:Name=AuthorizationServiceEntryPoints=13

ServiceComponent:Service=AuthorizationServiceName=MQSeries.UNIX.auth.serviceModule=/opt/mqm/lib/amqzfuComponentDataSize=0

[mqm@stardust orange]$

[mqm@stardust orange]$ pwd/var/mqm/qmgrs/orange[mqm@stardust orange]$ ls -la qm.ini-rw-rw-r-- 1 mqm mqm 1295 8月 27 14:33 qm.ini[mqm@stardust orange]$ cat qm.ini#*******************************************************************##* Module Name: qm.ini *##* Type : WebSphere MQ queue manager configuration file *## Function : Define the configuration of a single queue manager *##* *##*******************************************************************##* Notes : *##* 1) This file defines the configuration of the queue manager *##* *##*******************************************************************#ExitPath:

ExitsDefaultPath=/var/mqm/exits/ExitsDefaultPath64=/var/mqm/exits64/

#* *##* *#Log:

LogPrimaryFiles=3LogSecondaryFiles=2LogFilePages=1024LogType=CIRCULARLogBufferPages=0LogPath=/var/mqm/log/orange/LogWriteIntegrity=TripleWrite

Service:Name=AuthorizationServiceEntryPoints=13

ServiceComponent:Service=AuthorizationServiceName=MQSeries.UNIX.auth.serviceModule=/opt/mqm/lib/amqzfuComponentDataSize=0

[mqm@stardust orange]$

Page 8: -ld -lc -ll -lf -lp -ls - IBMpublic.dhe.ibm.com/software/dw/jp/websphere/wmq/mq_intro/...- 1 - 第14章 ログ 第2章でも簡単に触れましたが、今回はWebSphere MQにとって重要なログについて、お話ししたいと思います。単純にログと言っても、WebSphere

- 8 -

「crtmqm後に変更可能」となっているLogPrimaryFiles/LogSecoundaryFiles/LogBufferPages/

LogWriteIntegrity(*2)の各パラメータを変更した場合、その値が有効になるのは、qm.ini変更

後のキュー・マネージャー再始動時になります。

(*1) LogBufferPagesの省略時の値"0"は、128ページ(512KB)を指定していることになります.

(*2) ログ・ファイルへの出力を保証するため、LogWriteIntegrityの変更はお勧めしません.

14-2. ログの管理と利用

なお、ここでお話しする「ログ」は、これまでお話ししてきたトランザクション・ログ、特に

明記していない場合にはリニア・ログを意味しますので、ご注意下さい。

(1) メディア・リカバリー

リニア・ログを利用している場合、キューなどキュー・マネージャーの管理下にある各種オブ

ジェクトの定義情報は、ログ・ファイルにもその情報が保管されます。そのため、例えば物理

的なキュー・ファイルが損傷した場合でも、ログ・ファイルから復元することが可能な場合が

あります。

リニア・ログに、各種オブジェクトの情報が記録・保存されるのは、

●キュー・マネージャーの作成時

●キューなど、各種オブジェクトの作成時

などのタイミングですが、さらにキュー・マネージャー活動中に"rcdmqimg"コマンドを利用し

て、記録させることが可能です。では、実際に試してみましょう。

(* 注意)これは、あくまでテストで行っています。実際のシステムでは、回復処理作業時以外

に行わないで下さい.

qm.iniのパラメータ crtmqmでのパラメータ 概要 crtmqm後に変更可能かLogPrimaryFiles -lp 一次ログ・ファイル数 可能

LogSecondaryFiles -ls 二次ログ・ファイル数 可能LogFilePages -lf ログ・ファイル・サイズ (4KB単位) 不可能LogType -ll または -lc ロギング方法 不可能

LogBufferPagesログ・ファイルに対する出力時に利用するバッファー・サイズ (4KB単位)(*1)

可能

LogPath -ld ログ・ファイルの保管先ディレクトリー 不可能

LogWriteIntegrityログ・ファイルに対する出力時における保証方法

可能 (*2)

Copyright IBM Japan, Ltd

Page 9: -ld -lc -ll -lf -lp -ls - IBMpublic.dhe.ibm.com/software/dw/jp/websphere/wmq/mq_intro/...- 1 - 第14章 ログ 第2章でも簡単に触れましたが、今回はWebSphere MQにとって重要なログについて、お話ししたいと思います。単純にログと言っても、WebSphere

- 9 -

Copyright IBM Japan, Ltd

リニア・ログ指定(-llオプション)で、キュー・マネージャー"terra"を作成したところ.

"-lp"で指定された個数のログ・ファイルが、"-lf"で指定されたサイズ(33MB=8192*4KB)で

作成されています.

この直後に、キュー・マネージャーのAMQERR01.LOG(/var/mqm/qmgrs/terra/errors/AMQERR01.

LOG)を確認すると、次ページのようにリスタート・リカバリーとメディア・リカバリーで、

それぞれ必要となるログ・ファイルが解ります。(つまり、キュー・マネージャー "terra"を

作成した時点で、各種システム・オブジェクトの情報がログ・ファイル"S0000000.LOG"に記録

されたことになります)

[mqm@stardust ~]$ crtmqm -ll -lp 10 -ls 5 -lf 8192 terraWebSphere MQ キュー・マネージャーが作成されました。terra のデフォルト・オブジェクトを作成または置換しています。デフォルト・オブジェクトの統計 : 作成 58、置換 0、失敗 0設定を完了中です。設定が完了しました。[mqm@stardust ~]$ ls -la /var/mqm/log/terra/active/合計 328176drwxrwx--- 2 mqm mqm 4096 10月 28 13:53 .drwxrwx--- 3 mqm mqm 4096 10月 28 13:53 ..-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000000.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000001.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000002.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000003.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000004.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000005.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000006.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000007.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000008.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000009.LOG[mqm@algernon ~]$

Page 10: -ld -lc -ll -lf -lp -ls - IBMpublic.dhe.ibm.com/software/dw/jp/websphere/wmq/mq_intro/...- 1 - 第14章 ログ 第2章でも簡単に触れましたが、今回はWebSphere MQにとって重要なログについて、お話ししたいと思います。単純にログと言っても、WebSphere

- 10 -

Copyright IBM Japan, Ltd

terraの作成直後のAMQERR01.LOG.メッセージ番号AMQ7467とAMQ7468で、リスタート・

リカバリーとメディア・リカバリーに必要となるログ・ファイルが解ります.

キュー・マネージャー"terra"を始動し、テスト用にローカル・キュー"lq01"をDEFPSIST(YES)

で作成します。

この段階で、

● /var/mqm/qmgrs/terra/queue/に、lq01に対応したファイル構造の作成

● ログ・ファイルへ、lq01の情報を記録

2008年10月28日 13時53分41秒 - Process(3031.1) User(mqm) Program(amqzxma0)AMQ7467: キュー・マネージャー terraを開始するために必要な最も古いログ・ファイルは、S0000000.LOGです。

説明:ログ・ファイル S0000000.LOGには、キュー・マネージャーを再始動するために必要な最も古いログ・レコードが含まれています。メディア・リカバリーでは、これより古いログ・レコードが必要となる場合があります。処置:S0000000.LOGより古いログ・ファイルをアーカイブ・メディアに移動して、ログ・ディレクトリーのスペースを解放することができます。オブジェクトを再作成するために必要なログ・ファイルをメディア・イメージから移動した場合、オブジェクトを再作成するためにはそれらのログ・ファイルを復元する必要があります。古いログ・ファイルほどログ番号が数値的に小さくなります (ただし、9999999でログ番号の折り返しが 行われます)。-------------------------------------------------------------------------------2008年10月28日 13時53分41秒 - Process(3031.1) User(mqm) Program(amqzxma0)AMQ7468: キュー・マネージャー terraのメディア・リカバリーを実行するために必要な最も古いログ・ファイルは、S0000000.LOG です。

説明:ログ・ファイル S0000000.LOGには、メディア・イメージからいずれかのオブジェクトを再作成するために必要な最も古いログ・レコードが含まれています。これより前のログ・ファイルには、メディア・リカバリー操作でアクセスされません。処置:この情報を、最新の AMQ7467 メッセージにある情報と一緒に使用してください。アーカイブ可能なログ・ファイルは、S0000000.LOGと、AMQ7467 メッセージで言及されているログ・ファイルの両方より古いファイルすべてです。

[mqm@stardust ~]$ strmqm terraWebSphere MQ キュー・マネージャー terra' を開始しています。ログのやり直しフェーズ中に、キュー・マネージャー 'terra' で 11 ログ・レコード がアクセスされました。キュー・マネージャー 'terra' のログのやり直しが完了しました。キュー・マネージャー 'terra' のトランザクション・マネージャーの状態が 回復されました。WebSphere MQ キュー・マネージャー 'terra' が始動しました。[mqm@stardust ~]$ runmqsc terra5724-H72 (C) Copyright IBM Corp. 1994, 2008. ALL RIGHTS RESERVED.キュー・マネージャー terra に対して MQSC を始動中です。

define qlocal('lq01') defpsist(yes)1 : define qlocal('lq01') defpsist(yes)

AMQ8006: WebSphere MQ キューが作成されました。

Page 11: -ld -lc -ll -lf -lp -ls - IBMpublic.dhe.ibm.com/software/dw/jp/websphere/wmq/mq_intro/...- 1 - 第14章 ログ 第2章でも簡単に触れましたが、今回はWebSphere MQにとって重要なログについて、お話ししたいと思います。単純にログと言っても、WebSphere

- 11 -

Copyright IBM Japan, Ltd

が行われますが、rcdmqimgコマンドを使って明示的にlq01の情報をログに保存してみま

しょう。

次に、サンプル・プログラム"amqsput"を使って、"lq01"に幾つかのメッセージを書き込みます。

amqsputは、MQPUTで"MQPER_AS_Q_DEF"というパラメータを指定していますので、DEFPSIST(YES)

と設定した"lq01"に書き込んだメッセージは、パーシスタント・メッセージとなります。

[mqm@stardust ~]$ /opt/mqm/bin/rcdmqimg -m terra -t qlocal lq01オブジェクト lq01, タイプ qlocalのメディア・イメージが記録されました。[mqm@stardust ~]$ ls -la /var/mqm/log/terra合計 36drwxrwx--- 3 mqm mqm 4096 10月 28 13:53 .drwxrwsr-x 5 mqm mqm 4096 10月 28 13:53 ..drwxrwx--- 2 mqm mqm 4096 10月 28 13:53 active-rw-rw---- 1 mqm mqm 6256 10月 28 15:01 amqhlctl.lfh[mqm@stardust ~]$ ls -la /var/mqm/log/terra/active合計 328176drwxrwx--- 2 mqm mqm 4096 10月 28 13:53 .drwxrwx--- 3 mqm mqm 4096 10月 28 13:53 ..-rw-rw---- 1 mqm mqm 33562624 10月 28 15:01 S0000000.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000001.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000002.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000003.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000004.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000005.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000006.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000007.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000008.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000009.LOG[mqm@stardust ~]$

[mqm@stardust ~]$ /opt/mqm/samp/bin/amqsput lq01 terraSample AMQSPUT0 starttarget queue is lq0111111222223333344444555556666677777888889999900000

Sample AMQSPUT0 end[mqm@stardust ~]$ runmqsc terra5724-H72 (C) Copyright IBM Corp. 1994, 2008. ALL RIGHTS RESERVED.キュー・マネージャー terra に対して MQSC を始動中です。

dis ql('lq01') curdepth1 : dis ql('lq01') curdepth

AMQ8409: キューの内容を表示します。QUEUE(lq01) TYPE(QLOCAL)CURDEPTH(10) amqsputで書き込まれた10メッセージ

[mqm@stardust ~]$ /opt/mqm/samp/bin/amqsput lq01 terraSample AMQSPUT0 starttarget queue is lq0111111222223333344444555556666677777888889999900000

Sample AMQSPUT0 end[mqm@stardust ~]$ runmqsc terra5724-H72 (C) Copyright IBM Corp. 1994, 2008. ALL RIGHTS RESERVED.キュー・マネージャー terra に対して MQSC を始動中です。

dis ql('lq01') curdepth1 : dis ql('lq01') curdepth

AMQ8409: キューの内容を表示します。QUEUE(lq01) TYPE(QLOCAL)CURDEPTH(10) amqsputで書き込まれた10メッセージ

Page 12: -ld -lc -ll -lf -lp -ls - IBMpublic.dhe.ibm.com/software/dw/jp/websphere/wmq/mq_intro/...- 1 - 第14章 ログ 第2章でも簡単に触れましたが、今回はWebSphere MQにとって重要なログについて、お話ししたいと思います。単純にログと言っても、WebSphere

- 12 -

キュー・マネージャー "terra"を停止させます。この停止処理中に、チェック・ポイント処理

が行われます。

/var/mqm/qmgrs/terra/queuesを確認すると、"lq01"というディレクトリーが存在し、その

配下に"q"というファイルが存在します。このディレクトリー"lq01"を削除してみます。

(補足)キューの名前に'.'が含まれる場合、上記のディレクトリー名 "SYSTEM!ADMIN!ACCOUNTING!

QUEUE"のように、ファイル・システム上では'!'に置換されます。

[mqm@stardust ~]$ date2008年 10月 28日 火曜日 15:49:55 JST[mqm@stardust ~]$ endmqm -i terraWebSphere MQ キュー・マネージャー 'terra' を終了中です。WebSphere MQ キュー・マネージャー 'terra' が終了しました。[mqm@stardust ~]$ ls -la /var/mqm/log/terra/合計 36drwxrwx--- 3 mqm mqm 4096 10月 28 13:53 .drwxrwsr-x 5 mqm mqm 4096 10月 28 13:53 ..drwxrwx--- 2 mqm mqm 4096 10月 28 13:53 active-rw-rw---- 1 mqm mqm 6256 10月 28 15:50 amqhlctl.lfh[mqm@stardust ~]$ ls -la /var/mqm/log/terra/active合計 328176drwxrwx--- 2 mqm mqm 4096 10月 28 13:53 .drwxrwx--- 3 mqm mqm 4096 10月 28 13:53 ..-rw-rw---- 1 mqm mqm 33562624 10月 28 15:50 S0000000.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000001.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000002.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000003.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000004.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000005.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000006.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000007.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000008.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000009.LOG[mqm@stardust ~]$

endmqm時に行われたチェック・ポイント

処理により、最終アクセス時間が更新されている.

[mqm@stardust ~]$ date2008年 10月 28日 火曜日 15:49:55 JST[mqm@stardust ~]$ endmqm -i terraWebSphere MQ キュー・マネージャー 'terra' を終了中です。WebSphere MQ キュー・マネージャー 'terra' が終了しました。[mqm@stardust ~]$ ls -la /var/mqm/log/terra/合計 36drwxrwx--- 3 mqm mqm 4096 10月 28 13:53 .drwxrwsr-x 5 mqm mqm 4096 10月 28 13:53 ..drwxrwx--- 2 mqm mqm 4096 10月 28 13:53 active-rw-rw---- 1 mqm mqm 6256 10月 28 15:50 amqhlctl.lfh[mqm@stardust ~]$ ls -la /var/mqm/log/terra/active合計 328176drwxrwx--- 2 mqm mqm 4096 10月 28 13:53 .drwxrwx--- 3 mqm mqm 4096 10月 28 13:53 ..-rw-rw---- 1 mqm mqm 33562624 10月 28 15:50 S0000000.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000001.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000002.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000003.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000004.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000005.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000006.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000007.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000008.LOG-rw-rw---- 1 mqm mqm 33562624 10月 28 13:53 S0000009.LOG[mqm@stardust ~]$

endmqm時に行われたチェック・ポイント

処理により、最終アクセス時間が更新されている.

[mqm@stardust queues]$ lsSYSTEM!ADMIN!ACCOUNTING!QUEUE SYSTEM!CLUSTER!TRANSMIT!QUEUESYSTEM!ADMIN!ACTIVITY!QUEUE SYSTEM!DEAD!LETTER!QUEUESYSTEM!ADMIN!CHANNEL!EVENT SYSTEM!DEFAULT!ALIAS!QUEUESYSTEM!ADMIN!COMMAND!QUEUE SYSTEM!DEFAULT!INITIATION!QUEUESYSTEM!ADMIN!LOGGER!EVENT SYSTEM!DEFAULT!LOCAL!QUEUESYSTEM!ADMIN!PERFM!EVENT SYSTEM!DEFAULT!MODEL!QUEUESYSTEM!ADMIN!QMGR!EVENT SYSTEM!DEFAULT!REMOTE!QUEUESYSTEM!ADMIN!STATISTICS!QUEUE SYSTEM!DURABLE!MODEL!QUEUESYSTEM!ADMIN!TRACE!ROUTE!QUEUE SYSTEM!DURABLE!SUBSCRIBER!QUEUESYSTEM!AUTH!DATA!QUEUE SYSTEM!HIERARCHY!STATESYSTEM!BROKER!ADMIN!STREAM SYSTEM!INTER!QMGR!CONTROLSYSTEM!BROKER!CONTROL!QUEUE SYSTEM!INTER!QMGR!FANREQSYSTEM!BROKER!DEFAULT!STREAM SYSTEM!INTER!QMGR!PUBSSYSTEM!BROKER!INTER!BROKER!COMMUNICATIONS SYSTEM!MQEXPLORER!REPLY!MODELSYSTEM!CHANNEL!INITQ SYSTEM!MQSC!REPLY!QUEUESYSTEM!CHANNEL!SYNCQ SYSTEM!NDURABLE!MODEL!QUEUESYSTEM!CICS!INITIATION!QUEUE SYSTEM!PENDING!DATA!QUEUESYSTEM!CLUSTER!COMMAND!QUEUE SYSTEM!RETAINED!PUB!QUEUESYSTEM!CLUSTER!REPOSITORY!QUEUE lq01[mqm@stardust queues]$ ls -la lq01/合計 28drwxrwx--- 2 mqm mqm 4096 10月 28 15:01 .drwxrws--- 40 mqm mqm 4096 10月 28 15:01 ..-rwxrwx--- 1 mqm mqm 7168 10月 28 15:50 q[mqm@stardust queues]$ rm -rf ./lq01[mqm@stardust queues]$

[mqm@stardust queues]$ lsSYSTEM!ADMIN!ACCOUNTING!QUEUE SYSTEM!CLUSTER!TRANSMIT!QUEUESYSTEM!ADMIN!ACTIVITY!QUEUE SYSTEM!DEAD!LETTER!QUEUESYSTEM!ADMIN!CHANNEL!EVENT SYSTEM!DEFAULT!ALIAS!QUEUESYSTEM!ADMIN!COMMAND!QUEUE SYSTEM!DEFAULT!INITIATION!QUEUESYSTEM!ADMIN!LOGGER!EVENT SYSTEM!DEFAULT!LOCAL!QUEUESYSTEM!ADMIN!PERFM!EVENT SYSTEM!DEFAULT!MODEL!QUEUESYSTEM!ADMIN!QMGR!EVENT SYSTEM!DEFAULT!REMOTE!QUEUESYSTEM!ADMIN!STATISTICS!QUEUE SYSTEM!DURABLE!MODEL!QUEUESYSTEM!ADMIN!TRACE!ROUTE!QUEUE SYSTEM!DURABLE!SUBSCRIBER!QUEUESYSTEM!AUTH!DATA!QUEUE SYSTEM!HIERARCHY!STATESYSTEM!BROKER!ADMIN!STREAM SYSTEM!INTER!QMGR!CONTROLSYSTEM!BROKER!CONTROL!QUEUE SYSTEM!INTER!QMGR!FANREQSYSTEM!BROKER!DEFAULT!STREAM SYSTEM!INTER!QMGR!PUBSSYSTEM!BROKER!INTER!BROKER!COMMUNICATIONS SYSTEM!MQEXPLORER!REPLY!MODELSYSTEM!CHANNEL!INITQ SYSTEM!MQSC!REPLY!QUEUESYSTEM!CHANNEL!SYNCQ SYSTEM!NDURABLE!MODEL!QUEUESYSTEM!CICS!INITIATION!QUEUE SYSTEM!PENDING!DATA!QUEUESYSTEM!CLUSTER!COMMAND!QUEUE SYSTEM!RETAINED!PUB!QUEUESYSTEM!CLUSTER!REPOSITORY!QUEUE lq01[mqm@stardust queues]$ ls -la lq01/合計 28drwxrwx--- 2 mqm mqm 4096 10月 28 15:01 .drwxrws--- 40 mqm mqm 4096 10月 28 15:01 ..-rwxrwx--- 1 mqm mqm 7168 10月 28 15:50 q[mqm@stardust queues]$ rm -rf ./lq01[mqm@stardust queues]$

Copyright IBM Japan, Ltd

Page 13: -ld -lc -ll -lf -lp -ls - IBMpublic.dhe.ibm.com/software/dw/jp/websphere/wmq/mq_intro/...- 1 - 第14章 ログ 第2章でも簡単に触れましたが、今回はWebSphere MQにとって重要なログについて、お話ししたいと思います。単純にログと言っても、WebSphere

- 13 -

この結果、再度terraを始動すると、エラーを検出し、キュー・マネージャーのエラー・ログに

記録されます。(FFSTファイルも生成されます)

キュー・マネージャー "terra"のエラー・ログ(/var/mqm/qmgrs/terra/errors/AMQERR01.LOG)から.

この時点で、再度amqsputを使って"lq01"にメッセージを書き込もうとすると、2101(MQRC_

OBJECT_DAMAGED)を理由とするエラーが発生します。

rcrmqobjコマンドを使って、リニア・ログからlq01を復元してみましょう。(次ページ参照)

-------------------------------------------------------------------------------2008年10月28日 17時02分10秒 - Process(3841.1) User(mqm) Program(amqzxma0)AMQ7472: オブジェクト lq01、タイプ queue が壊れています。

説明:オブジェクト lq01、タイプ queueに、損傷のマークが付けられています。これは、キュー・マネージャーがファイル・システム内のオブジェクトにアクセスできなかったか、またはオブジェクト内のデータに何らかの不整合が検出されたかのいずれかを示しています。処置:損傷したオブジェクトが検出された場合、実行するアクションは、キュー・マネージャーがメディア・リカバリーをサポートするかどうかと、損傷が検出された時期によって異なります。キュー・マネージャーがメディア・リカバリーをサポートしない場合、リカバリーは不可能なので、オブジェクトを削除する必要があります。キュー・マネージャーがメディア・リカバリーをサポートし、キュー・マネージャーの開始時に実行される処理中に損傷が検出された場合には、キュー・マネージャーは、自動的にオブジェクトのメディア・リカバリーを開始します。キュー・マネージャーがメディア・リカバリーをサポートし、キュー・マネージャーがいったん開始されてから損傷が検出された場合には、rcrmqobjコマンドを使用してメディア・イメージからリカバリーすることもできますし、削除することもできます。

[mqm@stardust ~]$ /opt/mqm/samp/bin/amqsput lq01 terraSample AMQSPUT0 starttarget queue is lq01MQOPEN ended with reason code 2101unable to open queue for outputSample AMQSPUT0 end[mqm@algernon ~]$ runmqsc terra5724-H72 (C) Copyright IBM Corp. 1994, 2008. ALL RIGHTS RESERVED.キュー・マネージャー terra に対して MQSC を始動中です。

dis ql('lq01')1 : dis ql('lq01')

AMQ8149: WebSphere MQ オブジェクトが壊れています。

Copyright IBM Japan, Ltd

Page 14: -ld -lc -ll -lf -lp -ls - IBMpublic.dhe.ibm.com/software/dw/jp/websphere/wmq/mq_intro/...- 1 - 第14章 ログ 第2章でも簡単に触れましたが、今回はWebSphere MQにとって重要なログについて、お話ししたいと思います。単純にログと言っても、WebSphere

- 14 -

lq01の復元により、先にamqsputで書き込んだメッセージも復元しています。

[mqm@stardust ~]$ /opt/mqm/bin/rcrmqobj -m terra -t qlocal lq01オブジェクト lq01, タイプ qlocal が再作成されました。[mqm@stardust ~]$ runmqsc terra5724-H72 (C) Copyright IBM Corp. 1994, 2008. ALL RIGHTS RESERVED.キュー・マネージャー terra に対して MQSC を始動中です。

dis ql('lq01') curdepth1 : dis ql('lq01') curdepth

AMQ8409: キューの内容を表示します。QUEUE(lq01) TYPE(QLOCAL)CURDEPTH(10)

end2 : end

MQSC コマンドを 1 つ読み取りました。構文エラーがあるコマンドはありません。有効な MQSC コマンドはすべて処理されました。[mqm@stardust ~]$ ls /var/mqm/qmgrs/terra/queues/SYSTEM!ADMIN!ACCOUNTING!QUEUE SYSTEM!CLUSTER!TRANSMIT!QUEUESYSTEM!ADMIN!ACTIVITY!QUEUE SYSTEM!DEAD!LETTER!QUEUESYSTEM!ADMIN!CHANNEL!EVENT SYSTEM!DEFAULT!ALIAS!QUEUESYSTEM!ADMIN!COMMAND!QUEUE SYSTEM!DEFAULT!INITIATION!QUEUESYSTEM!ADMIN!LOGGER!EVENT SYSTEM!DEFAULT!LOCAL!QUEUESYSTEM!ADMIN!PERFM!EVENT SYSTEM!DEFAULT!MODEL!QUEUESYSTEM!ADMIN!QMGR!EVENT SYSTEM!DEFAULT!REMOTE!QUEUESYSTEM!ADMIN!STATISTICS!QUEUE SYSTEM!DURABLE!MODEL!QUEUESYSTEM!ADMIN!TRACE!ROUTE!QUEUE SYSTEM!DURABLE!SUBSCRIBER!QUEUESYSTEM!AUTH!DATA!QUEUE SYSTEM!HIERARCHY!STATESYSTEM!BROKER!ADMIN!STREAM SYSTEM!INTER!QMGR!CONTROLSYSTEM!BROKER!CONTROL!QUEUE SYSTEM!INTER!QMGR!FANREQSYSTEM!BROKER!DEFAULT!STREAM SYSTEM!INTER!QMGR!PUBSSYSTEM!BROKER!INTER!BROKER!COMMUNICATIONS SYSTEM!MQEXPLORER!REPLY!MODELSYSTEM!CHANNEL!INITQ SYSTEM!MQSC!REPLY!QUEUESYSTEM!CHANNEL!SYNCQ SYSTEM!NDURABLE!MODEL!QUEUESYSTEM!CICS!INITIATION!QUEUE SYSTEM!PENDING!DATA!QUEUESYSTEM!CLUSTER!COMMAND!QUEUE SYSTEM!RETAINED!PUB!QUEUESYSTEM!CLUSTER!REPOSITORY!QUEUE lq01

h復元したlq01ディレクトリー構造

[mqm@stardust ~]$ /opt/mqm/bin/rcrmqobj -m terra -t qlocal lq01オブジェクト lq01, タイプ qlocal が再作成されました。[mqm@stardust ~]$ runmqsc terra5724-H72 (C) Copyright IBM Corp. 1994, 2008. ALL RIGHTS RESERVED.キュー・マネージャー terra に対して MQSC を始動中です。

dis ql('lq01') curdepth1 : dis ql('lq01') curdepth

AMQ8409: キューの内容を表示します。QUEUE(lq01) TYPE(QLOCAL)CURDEPTH(10)

end2 : end

MQSC コマンドを 1 つ読み取りました。構文エラーがあるコマンドはありません。有効な MQSC コマンドはすべて処理されました。[mqm@stardust ~]$ ls /var/mqm/qmgrs/terra/queues/SYSTEM!ADMIN!ACCOUNTING!QUEUE SYSTEM!CLUSTER!TRANSMIT!QUEUESYSTEM!ADMIN!ACTIVITY!QUEUE SYSTEM!DEAD!LETTER!QUEUESYSTEM!ADMIN!CHANNEL!EVENT SYSTEM!DEFAULT!ALIAS!QUEUESYSTEM!ADMIN!COMMAND!QUEUE SYSTEM!DEFAULT!INITIATION!QUEUESYSTEM!ADMIN!LOGGER!EVENT SYSTEM!DEFAULT!LOCAL!QUEUESYSTEM!ADMIN!PERFM!EVENT SYSTEM!DEFAULT!MODEL!QUEUESYSTEM!ADMIN!QMGR!EVENT SYSTEM!DEFAULT!REMOTE!QUEUESYSTEM!ADMIN!STATISTICS!QUEUE SYSTEM!DURABLE!MODEL!QUEUESYSTEM!ADMIN!TRACE!ROUTE!QUEUE SYSTEM!DURABLE!SUBSCRIBER!QUEUESYSTEM!AUTH!DATA!QUEUE SYSTEM!HIERARCHY!STATESYSTEM!BROKER!ADMIN!STREAM SYSTEM!INTER!QMGR!CONTROLSYSTEM!BROKER!CONTROL!QUEUE SYSTEM!INTER!QMGR!FANREQSYSTEM!BROKER!DEFAULT!STREAM SYSTEM!INTER!QMGR!PUBSSYSTEM!BROKER!INTER!BROKER!COMMUNICATIONS SYSTEM!MQEXPLORER!REPLY!MODELSYSTEM!CHANNEL!INITQ SYSTEM!MQSC!REPLY!QUEUESYSTEM!CHANNEL!SYNCQ SYSTEM!NDURABLE!MODEL!QUEUESYSTEM!CICS!INITIATION!QUEUE SYSTEM!PENDING!DATA!QUEUESYSTEM!CLUSTER!COMMAND!QUEUE SYSTEM!RETAINED!PUB!QUEUESYSTEM!CLUSTER!REPOSITORY!QUEUE lq01

h復元したlq01ディレクトリー構造

[mqm@stardust ~]$ /opt/mqm/samp/bin/amqsget lq01 terraSample AMQSGET0 startmessage <11111>message <22222>message <33333>message <44444>message <55555>message <66666>message <77777>message <88888>message <99999>message <00000>no more messagesSample AMQSGET0 end[mqm@stardust ~]$

Copyright IBM Japan, Ltd

Page 15: -ld -lc -ll -lf -lp -ls - IBMpublic.dhe.ibm.com/software/dw/jp/websphere/wmq/mq_intro/...- 1 - 第14章 ログ 第2章でも簡単に触れましたが、今回はWebSphere MQにとって重要なログについて、お話ししたいと思います。単純にログと言っても、WebSphere

- 15 -

このように、リニア・ログを利用している場合には、ログ・ファイルに

● rcdmqimgコマンドによって、オブジェクト情報の保存

● rcrmqobjコマンドによって、オブジェクトの復元

ができます。ログ・ファイルへ保存可能なオブジェクト、ならびにログ・ファイルから復元

可能なオブジェクトは、ローカル・キュー以外に

● 別名キュー、モデル・キュー、リモート・キュー

● チャネル定義

● クライアント接続チャネル定義、およびクライアント・チャネル・テーブル

● プロセス定義

● サービス定義

● リスナー定義

● チャネルの同期ファイル (*)

などがあります (バージョンによって異なりますので、詳細はマニュアルを参照して下さい)。

(*) チャネルの同期情報を保存しているチャネル同期ファイルは、リニア・ログだけでなく

循環式ログを利用しているキュー・マネージャー環境でも保存/復元可能です。

[mqm@stardust ~]$ /opt/mqm/bin/rcrmqobj -m terra -t syncfile

同期ファイルの再作成 - プログラムが正常に完了しました。

[mqm@stardust ~]$

(2) ログの管理

「リニア・ログを利用している場合、inactiveになっても再利用可能になるわけではない」と

前述しました。例えば、(1)でお見せしたようなキューの復元作業などで必要となるログ・ファ

イルが、inactiveとなったログ・ファイルと一致するとは限りません。(rcdmqimgコマンドで

明示的に保存していない場合、S0000000.LOGが必要になる可能性もあります)

したがって、リニア・ログ利用時の運用では、オブジェクトの情報が

● いつの時点で

● どのログ・ファイルに

保存されたかを判断することで、ログ・ファイル用のディスク・スペースを効率的に使うこと

ができるだけではなく、障害時には必要となるログ・ファイルだけ適用することで復旧作業と

それにかかる時間を軽減することにも繋がります。

先ほどの実験でキュー・マネージャー"terra"を作成した際にお見せしましたが、キュー・

マネージャーの活動状況を記録しているAMQERR01.LOGには、AMQ7467とAMQ7468というメッセー

ジで、リスタート・リカバリーとメディア・リカバリーの際に必要となるログ・ファイルが

解ります。(10ページ参照)

またV6.0とV7.0ではrunmqscの"display qmstatus"コマンドを使うと、現在使用中のログ・

ファイル、リスタート・リカバリーで必要となるログ・ファイル、メディア・リカバリーで

必要となるログ・ファイルのそれぞれを表示させることが出来ます。(次ページ参照)

Copyright IBM Japan, Ltd

Page 16: -ld -lc -ll -lf -lp -ls - IBMpublic.dhe.ibm.com/software/dw/jp/websphere/wmq/mq_intro/...- 1 - 第14章 ログ 第2章でも簡単に触れましたが、今回はWebSphere MQにとって重要なログについて、お話ししたいと思います。単純にログと言っても、WebSphere

- 16 -

"all"オプションによる"display qmstatus"コマンドの表示

上の表示例で、

● CURRLOG : 現在使用しているログ・ファイル名

● RECLOG : リスタート・リカバリーで必要となるログ・ファイル名

● MEDIALOG: メディア・リカバリーで必要となるログ・ファイル名

をそれぞれ示しています。

このように、AMQERR01.LOG内のAMQ7467メッセージとAMQ7468メッセージで表示されるファイル

名、または"display qmstatus"コマンドで表示されるファイル名よりも、古い番号を持つ

ログ・ファイルはログ・ディレクトリー以外へ移動させることが可能です。

他の方法としては、V6以降から「ロガー・イベント」と呼ばれるイベントを使うことができる

ようになりました。このロガーイベントはキュー・マネージャーのLOGGEREV属性で制御します

が、この機能を利用すると

● ログ・ファイルの切り替えが発生したとき

● キュー・マネージャーが始動したとき

● キュー・マネージャーのLOGGEREV属性が、"ENABLED"から"DISABLED"に変更されたとき

に、イベント・メッセージが生成されて、SYSTEM.ADMIN.LOGGER.EVENTキューへ書き込まれま

す。このイベント・メッセージには、display qmstatusコマンドで表示される各ファイル名

などの情報が記録されています。ただし、このメッセージを解析するためのプログラムが必要

になりますので、利用する場合には注意してください。(「第13章 チャネルの監視」でお見せ

したような方法でも出来ますが、根気と時間が必要です)

(3) runmqsc "reset qmgr type(advancelog)"コマンド

V6以降では、"reset qmgr type()advancelog)"コマンドという、現在使用中のログ・ファイル

をクローズし、新しいログ・ファイルに切り替えるコマンドがあります。(次ページ参照)

[mqm@stardust ~]$ strmqm terraWebSphere MQ キュー・マネージャー terra' を開始しています。ログのやり直しフェーズ中に、キュー・マネージャー 'terra' で 11 ログ・レコード がアクセスされました。キュー・マネージャー 'terra' のログのやり直しが完了しました。キュー・マネージャー 'terra' のトランザクション・マネージャーの状態が 回復されました。WebSphere MQ キュー・マネージャー 'terra' が始動しました。[mqm@algernon ~]$ runmqsc terra5724-H72 (C) Copyright IBM Corp. 1994, 2008. ALL RIGHTS RESERVED.キュー・マネージャー terra に対して MQSC を始動中です。

display qmstatus all1 : display qmstatus all

AMQ8705: キュー・マネージャー状況の詳細を表示します。QMNAME(terra) STATUS(RUNNING)CONNS(6) CMDSERV(RUNNING)CHINIT(RUNNING) CURRLOG(S0000000.LOG)RECLOG(S0000000.LOG) MEDIALOG(S0000000.LOG)

[mqm@stardust ~]$ strmqm terraWebSphere MQ キュー・マネージャー terra' を開始しています。ログのやり直しフェーズ中に、キュー・マネージャー 'terra' で 11 ログ・レコード がアクセスされました。キュー・マネージャー 'terra' のログのやり直しが完了しました。キュー・マネージャー 'terra' のトランザクション・マネージャーの状態が 回復されました。WebSphere MQ キュー・マネージャー 'terra' が始動しました。[mqm@algernon ~]$ runmqsc terra5724-H72 (C) Copyright IBM Corp. 1994, 2008. ALL RIGHTS RESERVED.キュー・マネージャー terra に対して MQSC を始動中です。

display qmstatus all1 : display qmstatus all

AMQ8705: キュー・マネージャー状況の詳細を表示します。QMNAME(terra) STATUS(RUNNING)CONNS(6) CMDSERV(RUNNING)CHINIT(RUNNING) CURRLOG(S0000000.LOG)RECLOG(S0000000.LOG) MEDIALOG(S0000000.LOG)

Copyright IBM Japan, Ltd

Page 17: -ld -lc -ll -lf -lp -ls - IBMpublic.dhe.ibm.com/software/dw/jp/websphere/wmq/mq_intro/...- 1 - 第14章 ログ 第2章でも簡単に触れましたが、今回はWebSphere MQにとって重要なログについて、お話ししたいと思います。単純にログと言っても、WebSphere

- 17 -

"reset qmgr type(advancelog)"コマンドの実行結果.赤線で示したように、

CURRLOGの値がS0000000.LOGからS0000001.LOGに変わっています.

14-3. キュー・マネージャーのバックアップ

(1) 「キュー・マネージャー丸ごと」バックアップ

同じタイミングで、キュー・マネージャーのディレクトリーと、ログ・ディレクトリー、

WebSphere MQの構成ファイル、それぞれをバックアップしておくと、例えWebSphere MQ自体の

再導入を行った場合(*注)や、ディスク障害の場合でも、そのバックアップ作成時点までの状態

を復元することが可能です。

(*注) 同一OS上の、同じバージョン、かつ、修正レベルが同じかそれ以上の場合に限ります。

例えば、UNIX系のOSの場合、WebSphere MQは/var/mqm以下のディレクトリーを利用していま

す(次ページ参照)。

この図で赤い点線で囲んだ、

- mqs.ini

- /var/mqm/qmgrs/"キュー・マネージャー名"/ディレクトリー以下

- /var/mqm/log/"キュー・マネージャー名"/ディレクトリー以下

が最低でもバックアップしておく必要があります。(ディレクトリーの属性、所有者などの情報

を保持したまま、バックアップしてください)

もっともバックアップ先のメディアに余裕があるのであれば、「/var/mqmディレクトリー

丸ごと、バックアップする」のも、一つの方法かもしれません。

display qmstatus all2 : display qmstatus all

AMQ8705: キュー・マネージャー状況の詳細を表示します。QMNAME(terra) STATUS(RUNNING)CONNS(6) CMDSERV(RUNNING)CHINIT(RUNNING) CURRLOG(S0000000.LOG)RECLOG(S0000000.LOG) MEDIALOG(S0000000.LOG)

reset qmgr type(advancelog)3 : reset qmgr type(advancelog)

AMQ8649: WebSphere MQ キュー・マネージャーのリセットが受け入れられました。

display qmstatus all4 : display qmstatus all

AMQ8705: キュー・マネージャー状況の詳細を表示します。QMNAME(terra) STATUS(RUNNING)CONNS(6) CMDSERV(RUNNING)CHINIT(RUNNING) CURRLOG(S0000001.LOG)RECLOG(S0000000.LOG) MEDIALOG(S0000000.LOG)

display qmstatus all2 : display qmstatus all

AMQ8705: キュー・マネージャー状況の詳細を表示します。QMNAME(terra) STATUS(RUNNING)CONNS(6) CMDSERV(RUNNING)CHINIT(RUNNING) CURRLOG(S0000000.LOG)RECLOG(S0000000.LOG) MEDIALOG(S0000000.LOG)

reset qmgr type(advancelog)3 : reset qmgr type(advancelog)

AMQ8649: WebSphere MQ キュー・マネージャーのリセットが受け入れられました。

display qmstatus all4 : display qmstatus all

AMQ8705: キュー・マネージャー状況の詳細を表示します。QMNAME(terra) STATUS(RUNNING)CONNS(6) CMDSERV(RUNNING)CHINIT(RUNNING) CURRLOG(S0000001.LOG)RECLOG(S0000000.LOG) MEDIALOG(S0000000.LOG)

Copyright IBM Japan, Ltd

Page 18: -ld -lc -ll -lf -lp -ls - IBMpublic.dhe.ibm.com/software/dw/jp/websphere/wmq/mq_intro/...- 1 - 第14章 ログ 第2章でも簡単に触れましたが、今回はWebSphere MQにとって重要なログについて、お話ししたいと思います。単純にログと言っても、WebSphere

- 18 -

Sun Solaris 10にWebSphere MQ V7を導入した場合の、/var/mqmディレクトリー構造

(2) リニア・ログの利用

V6からリニア・ログを利用して、稼働中のキュー・マネージャーのバックアップとしての同じ

名前のキュー・マネージャーを作成しておき、何らかの障害が発生したため本番機上で稼働

していたキュー・マネージャーがサービスできなくなった場合に、バック・アップ機上の

キュー・マネージャーに切り替えることが出来るようになりました。

この機能は、本番機からバック・アップ機へinactiveになったログ・ファイルをコピーし

「適用」することで、そのログ・ファイルがinactiveになった時点までキュー・マネージャー

の状態を復元します。

この機能を利用する場合、

●本番機とバック・アップ機は、同じOSであること.

●バック・アップ機で利用するWebSphere MQは、本番機と同じバージョンか、または

それよりも新しいFixPackが適用されたリリースであること.

●本番機で稼働しているキュー・マネージャーと同じ名前で、ログ・タイプやログ・

ファイル数などの属性が同じであること.

などの前提があります。

手順などの詳細については、マニュアルまたはInfoCenterの「システム管理者ガイド」の

「リカバリーおよび問題判別」/「リカバリーおよび再始動」/「WebSphere MQのバックアップ

service.env

/var/mqm/ mqs.ini

conv/

errors/

config/

exits/

exits64/

tivoli/

mqsclient.ini

trace/

.......

qmgrs/ "QMgr Name"/ qm.ini active/

.......

queues/

log/ "QMgr Name"/ amqhlctl.lfh

.......................

S0000000.LOG

S0000001.LOG

service.env

/var/mqm/ mqs.ini

conv/

errors/

config/

exits/

exits64/

tivoli/

mqsclient.ini

trace/

.......

qmgrs/ "QMgr Name"/ qm.ini active/

.......

queues/

log/ "QMgr Name"/ amqhlctl.lfh

.......................

S0000000.LOG

S0000001.LOG

Copyright IBM Japan, Ltd

Page 19: -ld -lc -ll -lf -lp -ls - IBMpublic.dhe.ibm.com/software/dw/jp/websphere/wmq/mq_intro/...- 1 - 第14章 ログ 第2章でも簡単に触れましたが、今回はWebSphere MQにとって重要なログについて、お話ししたいと思います。単純にログと言っても、WebSphere

- 19 -

と復元」を参照して下さい。

Copyright IBM Japan, Ltd