如何在linux中进行队列管理器备份和恢复

时间:2013-03-15 19:57:21

标签: ibm-mq

您好我有名为QM_1的队列管理器。在这里,我接受了QM_1的备份,如下所示。 之后我在其他系统中创建了具有相同名称的队列管理器(QM_1),我需要恢复save qmgr属性。请提供如何恢复queuemanager属性?

saveqmgr -m QM_1 -f 

1 个答案:

答案 0 :(得分:4)

部分选项位于SupportPac MS03目标网页上。 (MS03是包含saveqmgr程序的SupportPac。)详细说明在下载文档中。以下说明是从SupportPac MS03页面复制的:


您可以运行以下saveqmgr命令(参见下文)来创建2个输出文件。两个输出文件都是文本,可以进行编辑。

  • 具有对象定义的一个(使用选项-f) - 此示例中的文件名是:qmgr_data.mqsc
  • 另一个具有权限记录(使用选项-z为setmqaut生成条目)
  • 此示例中的文件名是:qmgr_auth.bat(在Windows中)或qmgr_auth.sh(在UNIX中)

以下命令保存对象和规范记录:

UNIX:

saveqmgr -m QMGR -f /tmp/mq/qmgr_data.mqsc -z /tmp/mq/qmgr_auth.sh

Windows:

saveqmgr.exe -m QMGR -f C:\temp\mq\qmgr_data.mqsc -z C:\temp\mq\qmgr_auth.bat

尝试将内容还原到新的队列管理器时,可以按如下方式运行文件qmgr_data.mqsc

runmqsc TEST < qmgr_data.mqsc

文件qmgr_auth.bat(在Windows中)或qmgr_auth.sh(在UNIX中)具有独立条目,这些条目使用每个授权记录的正确参数调用setmqaut命令。需要执行此批处理/脚本文件才能恢复授权记录。

UNIX:

chmod u+x qmgr_auth.sh
./qmgr_auth.sh

视窗:

qmgr_auth.bat

要查找此和所有其他SupportPac,请转到SupportPac登录页面here

2014年11月6日更新:
虽然OP要求如何从saveqmgr备份恢复,但值得注意的是IBM已从版本7.1开始提供dmpmqcfg命令。您可以使用以下语法以MQSC格式备份QMgr:

dmpmqcfg -m [QUEUE_MANAGER] > BACKUP_FILE.mqsc

这会在单个文件中捕获对象deinifions 授权。默认情况下,授权被捕获为SET AUTHREC个条目,而不是setmqaut个命令。

请注意,dmpmqcfg的初始版本未捕获您可能已定义的所有授权设置。所有版本都必须应用最新的Fix Pack才能使用dmpmqcfg获得可靠的备份。此行为可能会在以后的修订包中回归,因此建议您在切换到此命令时以及应用修订包后将备份与auths创建脚本进行协调。

dmpmqcfg文件恢复QMGgr与saveqmgr文件中的相同:

runmqsc [QMNAME] < output_of_dmpmqcfg_or_saveqmgr.mqsc > logfile.txt 2>&1

这会将MQSC文件定义运行到QMgr(包括SET AUTHREC命令)中,并将STDOUTSTDERR的输出保存到日志文件中。