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的日志文件。