中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > 综合其它
ibm message broker问题
作者:未知 时间:2005-09-13 23:34 出处:Blog.ChinaUnix.net 责编:chinaitpower
              摘要:ibm message broker问题
wbi message broker (ibm实现数据层EAI 软件)环境配置和相关信息

在 AIX 上配置MQ 的队列管理器,并实现与Window上的congfigMangager 底层使用的MQ 队列管理器实现相互通信配置

依据约定:
Window 上的congfigMangager 底层使用的MQ 队列管理器:WBRK_QM,对应的监听器端口为  1414

# login as root
# cd /var/mqm
# vi mqs.ini 文件,修改为LogFilePages=10240, 最大值可为 16384(为64M),根据需要调整此值,作为生产系统,一定要调整此值。

创建队列管理器
# crtmqm AIX_QM
启动队列管理器
# strmqm AIX_QM
运行MQSeries命令
# runmqsc AIX_QM

// endmqm AIX_QM  停止队列管理器
// dltmqm AIX_QM  删除队列管理器

修改 gmgr缺省的ccsid和Windows 上的WBRK_QM 的一样(一般Unix、Linux平台中MQ默认的字符集为819,而中文Windows平台为1381(英文:437),所以你必须改变其字符集,使两边的字符集相同,一般改被管理的字符集)
alter qmgr ccsid(1381)

定义允许window 平台的 MQ 资源管理器远程管理使用的服务器连接通道
define channel(SYSTEM.ADMIN.SVRCONN) chltype(SVRCONN) trptype(TCP)  mcauser(‘mqm’)
//  mcauser(‘mqm’)  忽略用户权限,可以远程登陆
end命令退出 MQSC命令交互环境
end

使用strmqcsv命令来启动被管理队列管理器上的命令服务器,启动命令服务器,允许从window上远程管理
strmqcsv AIX_QM

//strmqcsv AIX_QM    # start AIX_QM ‘s command server
//dspmqcsv AIX_QM   # display ….. status

定义 MQ的监听器
#vi /etc/services, add a line:
AIX_QM  1414/tcp
#vi /etc/inetd.conf, add a line:
AIX_QM stream  tcp  nowait mqm /usr/mqm/bin/amqcrsta amqcrsta -m AIX_QM

启动 MQ的监听器
#refresh -s inetd

在 AIX 上定义 MQ队列管理器的资源:
runmqsc AIX_QM
define qlocal(WBRK_QM)  usage(xmitq)
define channel(AIX.WBRK) chltype(SDR) trptype(TCP) conname('10.131.67.172(1414)') xmitq(WBRK_QM)
define channel(WBRK.AIX) chltype(rcvr)
start chl(AIX.WBRK)

配置window上MQ 的队列管理器,并实现与UNIX borker 底层使用的MQ 队列管理器实现相互通信配置
打开MQ explore 建立channel如下:

AIX.WBRK 接收通道

WBRK.AIX 发送通道

通信队列 AIX_QM

在AIX上创建Broker组件
login as db2inst1
$mqsisetcapacity -c 12
$mqsidisplaycapacity
如果修改了 db2inst1 的密码,会不能启动 broker, 导致 mqsistart 失败, 需要使用 mqsichangebroker 来作相应的修改(-i 用户名 –a 密码)
$ mqsicreatebroker AIX_BROKER -i db2inst1 -a password -q AIX_QM -n WBRKBKDB
$ mqsistart AIX_BROKER
$ mqsilist
$ mqsilist AIX_BROKER

// mqsichangebroker AIX_BROKER -i db2inst1 -a password –p password  改变用户/密码
// mqsistop AIX_BROKER  停止BROKER
// mqsideletebroker AIX_BROKER  删除BROKER


可通过用户日志开监控 Broker 的运行产生的信息
#tail -f /var/adm/user.log

在WBI toolkit管理透视图中,创建代理Borker(远程AIX部署)。Broker name可以自定义,队列名称必须与发送通道所定义的队列名称一致,Broker名称必须和AIXBroker名称一致

AIX环境和WIN cmgr配置步奏到此完成

Other:

Broker不支持64位DB2,否则会报ODBC连接错误

Broker权限:
mqsi_setupdatabase db2 /usr/opt/db2_08_01
cd /var/mqsi
chown -R db2inst1:db2grp1 *

彻底删除cmgr环境配置
Unix:
1.删除broker
2.删除queue manager
3.删除WBRKBKDB

Win:
1.删除开发环境
2.删除queue manager
3.删除WBRKBKDB,WBRKCMDB
(1.连接WBRKCMDB,delete from cbroker where cname = ’broker name’
2.Delete the broker using the mqsideletebroker command on the system on which you created it.)

一些命令
dspmq: 查看现有QM状态

ps -ef|grep bip  查看broker运行进程信息

dis qmgr all runmqsc AIX_QM 环境下 显示队列管理器的细节
ps -ef|grep mq

使用netstat -in (接口配置) 命令和 netstat -rn (路由配置) 命令检查IP配置;即接口的IP地址和缺省网关的配置等是否正确


db2 list db directory
db2 list tables

收发测试消息
amqsput QR_NT QM_NT
amqsget Q_UNIX QM_UNIX

查看log命令
路径:/var/mqsi/log/
语法:
mqsireadlog -u -e -o egname.out
mqsiformatlog -i .out -o .txt

mqsichangetrace AIX_BROKER -u -e default -r -l debug
mqsireadlog AIX_BROKER -u -e default -f -o 123.out
mqsiformatlog -i 123.out -o 123.txt

配置远程oracle数据库步奏:

1. 添加oracle数据库tnsnames.ora内容
2. 修改Db2inst1用户.profile文件,添加oracle用户环境变量
3. 修改.odbc.ini文件,添加oracle内容
4. 运行mqsi_setupdatabase命令,建立broker目录到oracle目录的软连接
5. 运行mqsisetdbparms命令,设置broker访问库用户名,密码

1.
EAI35 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.131.53.35)(PORT = 1521))
    )
    (CONNECT_DATA =
        (SERVICE_NAME = cms.sn.cmcc)
    )
  )

2.
if [ -s "$MAIL" ]# This is at Shell startup.  In normal
then echo "$MAILMSG"# operation, the Shell checks
fi# periodically.

# The following three lines have been added by UDB DB2.
if [ -f /home/db2inst1/sqllib/db2profile ]; then
    . /home/db2inst1/sqllib/db2profile
fi

LC__FASTMSG=false
ODBCINI=/var/wmqi/odbc/.odbc.ini
LIBPATH=$LIBPATH:/usr/java131/jre/bin/classic:/var/wmqi/lib:/usr/opt/wmqi/merant
/lib:/usr/opt/wmqi/lib
MQSI_REGISTRY=/var/wmqi
PATH=$PATH:/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:.
export PATH LC__FASTMSG ODBCINI LIBPATH MQSI_REGISTRY

ORACLE_BASE=/oracle
ORACLE_HOME=/oracle/product/9.2.0
NLS_LANG=AMERICAN_AMERICA.UTF8
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32
LIBPATH=/usr/lib:$ORACLE_HOME/lib32:$ORACLE_HOME/lib:$LIBPATH
LIBPATH_64=/usr/lib:$ORACLE_HOME/lib32:$ORACLE_HOME/lib
PATH=$ORACLE_HOME/bin:$PATH
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

export PATH ORACLE_BASE ORACLE_HOME NLS_LANG LD_LIBRARY_PATH LIBPATH LIBPATH_64 ORA_NLS33

3.
[ODBC Data Sources]
WBRKBKDB=IBM DB2 ODBC Driver
ORACLEDB=DataDirect 410 Oracle 8 Driver
SYBASEDB=DataDirect 410 Sybase ASE Driver

[WBRKBKDB]
Driver=/home/db2inst1/sqllib/lib/libdb2.a
Description=WBRKBKDB DB2 ODBC Database
Database=WBRKBKDB

[ORACLEDB]
Driver=/usr/opt/wmqi/merant/lib/UKor818.so
WorkArounds=536870912
WorkArounds2=2
Description=Oracle9
ServerName=EAI35
EnableDescribeParam=1
OptimizePrepare=1

4.
mqsi_setupdatabase oracle9 $ORACLE_HOME

5.
mqsisetdbparms AIX_BROKER -n ORACLEDB -u eai -p eai123

Win向导配置BROKER cmgr通讯错误:

PubSubTopology information was not received from the Configuration Manager. Either the

Configuration Manager is not available or the user 'administrator@zhengy-eai' does not have

authority to view the object. (UUID='PubSubTopology', required

attribute='subcomponent.last')

解决方法:

 

 

Broker服务改为自动启动

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有