MQ日常維護操作手冊


假設隊列管理器為QMgrName,以下所有使用QMgrName的地方您都可以替換成您維護的mq隊列管理器名稱。

一、MQ的啟動與停止

用root用戶啟/停需要root用戶包含在mqm組中。

 

1、MQ的啟動

strmqm QMgrName

如果啟動默認隊列管理器,strmqm后可以忽略隊列管理器名稱。

在意外情況停止隊列管理器后,啟動可能會失敗,此時可以檢查上次停止后是否有IPC資源未釋放,若有請予以刪除,刪除方法參考下面的“C.清理所有殘留在系統內部的信號燈和共享內存”。

 

2、MQ的關閉

一般情況下,我們使用“endmqm  -i QMgrName”來停止mq,如果停止失敗,可以使用如下步驟:

步驟1:endmqm  -p QMgrName,如果停不掉,繼續步驟2;

步驟2:殺死有關進程,清理殘留在系統內部的信號燈和共享內存

A.找到隊列管理器程序進程

ps -ef|grep QMgrName

B.使用kill命令終止1>中找到的程序進程,無法停止的進程可以用kill -9來終止,終止進程的順序如下(不存在的進程可以忽略):

kill amqpcsea  命令服務器
kill amqhasmx  記錄器
kill amqharmx  日志格式化器(僅LINEAR日志)
kill amqzllp0  檢查點處理器
kill amqzlaa0  隊列管理器代理
kill amqzxma0  處理控制器
kill amqrrmfa  庫進程(用於群集)
C.清理所有殘留在系統內部的信號燈和共享內存(其屬主和組均為mqm)
ipcs -s| grep mqm | awk '{print $2}'|xargs -i ipcrm -s {}
ipcs -m| grep mqm | awk '{print $2}'|xargs -i ipcrm -m {}

 

二、MQ運行狀態查看與常用操作

 

1、查看隊列管理器運行狀態

對MQ 5.2或以上版本,執行如下命令檢查隊列管理器運行狀態:dspmq
顯示結果中QMNAME表示MQ隊列管理器的名稱,STATUS表示當前運行狀態。
運行狀態有如下幾種:
Starting    正在啟動
Running    正在運行
Ending    正在停止
Ended normally  已經正常終止
Ended immediately  已經立即終止
Ended preemtively  已經強制終止
Ended unexpectively 異常終止

注意:停止MQ后必須使用dspmq命令進行狀態檢查

dspmq查詢結果示例:
QMNAME(QM00)    STATUS(Running)

 

2、查看通道運行狀態與啟停通道

runmqsc

dis chl(*);     查看所有通道定義

dis chs(*);     查看所有通道狀態,如果沒有查詢到通道狀態,或報錯AMQ8420: Channel Status not found,請啟動通道

dis chs(ChannelName); 查看通道ChannelName的狀態

通道狀態有如下幾種:

STARTING  正在啟動
BINDING    正在綁定
INITIALIZING  正在初始化
RUNNING   正常
STOPPING 正在停止
RETRYING  重試
PAUSED  等待
STOPPED 已停止
REQUESTING  請求

start chl(ChannelName);  啟動通道

stop chl(ChannelName);  停止通道

reset channel(ChannelName);  重置通道序號。當本地與其他MQ隊列管理器的通道無法正常啟動的情況,檢查日志發現是通道序號不一致,此時就需要先停止發送方通道,並在發送方和接收方進行通道計數的重置,重置后啟動通道即可恢復通訊。

 

3、查看通道監聽狀態與啟停監聽

runmqsc

dis listner(*);     查看通道監聽定義

dis lsstatu(listnerName);   查看監聽狀態

start lstr(listnerName); 啟動監聽

stop lstr(listnerName); 停止監聽 

 

4、查看隊列深度

runmqsc

dis q(*);    查看所有各類隊列的屬性

dis qlocal(QName);   查看所有本地隊列的屬性

隊列深度屬性為:CURDEPTH

 

5、查看死信隊列
dis qlocal(DEADQName)

 

三、日常維護項目

1、監控文件系統/var/mqm的使用情況,建議不要超過80%。

 

2、定期報告MQ系統錯誤,備份清理MQ系統錯誤記錄
在遇到問題時,檢查/var/mqm/errors目錄下是否有新的FDC文件產生,如果有應當檢查原因。另外,要定期檢查該目錄下MQ錯誤日志。

3、檢查日志個數是否增長
使用命令cd移動到MQ日志所在目錄(/var/mqm/log/QMgrName/active/),使用ls –l|wc命令統計。


4. 檢查MQ隊列管理器錯誤日志
當系統運行不正常時首先檢查:/var/mqm/qmgrs/QMgrName/errors/AMQERR0n.LOG

錯誤消息生成后總是放在AMQERR01中,AMQERR02和AMQERR03文件用於保存歷史錯誤消息。

 

附圖:/var/mqm目錄結構

 

轉載於http://www.daobugu.com/New/index/id/109.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM