AMQ7017 日志不可用.
即AMQ7017:queue manager log not available or corrupted
一、問題描述
1、使用命令啟動隊列管理器時,報錯:AMQ7017:日志不可用.
-------------------------------------------
[root@localhost /]$ mqsistart MB7BROKER
AMQ7017:日志不可用.
-------------------------------------------
2、使用圖形化界面啟動隊列管理器,報錯:
-----------------------------------------------
WebSphere MQ 隊列管理器“MB7QMGR”正在啟動。
AMQ7017: 日志不可用。
退出值 = 71
-----------------------------------------------
二、錯誤分析
因為MQ為非正常關閉,導致日志文件丟失或是損壞。
日志文件路徑: /var/mqm/log/MB7BORKER/active。
應該包含三個文件:S0000000.LOG,S0000001.LOG,S0000002.LOG
三、解決辦法
主要解決思路為:為現有隊列管理器備份后刪除現有隊列管理器,再建一個相同名字的代理隊列管理器、代理,以生成相對的日志文件。
1、[root@localhost /]$ cd /var/mqm/qmgrs
2、[root@localhost /]$ mv MB7QMGR TEST.OLD
說明:將qmgrs下的MB7QMGR文件夾備份為TEST.OLD
3、[root@localhost /]$ dltmqm MB7QMGR
說明:刪除隊列管理器MB7QMGR.使用這個命令刪除時,可能會報錯,可選擇手動在文件目錄中刪除。
a、刪除/var/mqm/qmgrs下的MB7QMGR目錄
b、刪除/var/mqm/log/下的MB7QMGR目錄
c、打開/var/mqm/mqs.ini文件。刪除MB7QMGR的QueueManager節點信息,后保存,共4行:
QueueManager:
Name=MB7QMGR
Prefix=/var/mqm
Directory=MB7QMGR
如果沒有刪除權限,可切換到用戶mqm下:
su mqm
dltmqm MB7QMGR
參考:http://www.cnblogs.com/hhl-kf/archive/2012/12/12/AMQ7077.html
4、重建MB7QMGR隊列管理器:crtmqm MB7QMGR
說明:可能會因為環境或是內存原因,重建MB7QMGR時,生成的是MB7QMGR.000的文件目錄
可以手動重命名目錄:
a、/var/mqm/log/下,MB7QMGR.000重命名為MB7QMGR
b、/var/mqm/mqs.ini文件里,MB7QMGR.000重命名為MB7QMGR
5、復制新的隊列管理器的文件到備份中。
cd /var/mqm/qmgrs
cp MB7QMGR/amqalchk.fil TEST.OLD
6、刪除現有MMB7QMGR:rm -rf MB7QMGR
如果命令不能刪除,請手動在目錄下刪除
7、還原備份:mv TEST.OLD MB7QMGR
8、啟動隊列管理器:strmqm MB7QMGR
此時,隊列管理器就可以正常啟動了。可看到/var/mqm/log/MB7BORKER/active的日志文件。
參考來源:http://blog.csdn.net/watson243671/article/details/7015626
