Вы находитесь на странице: 1из 24

http://activexpert.blog.co.

in/2009/04/08/websphere-mq-interview-questions/ (Joseph's blog)


http://javaj2eeplanet.blogspot.com/2009/02/websphere-mq-interview-questions_26.html
http://activexpert.blog.co.in/category/technical/interview-questions/
http://www-1.ibm.com/software/integration/wmq/index.html?S_TACT=105AD02W&S_CMP=campaign

resumes@qualibrisk.com
post resume for the JOB
What is MQ and what does it do?
Ans. MQ stands for MESSAGE QUEUEING. WebSphere MQ allows
application programs to use message queuing to participate in message-
driven processing. Application programs can communicate across different
platforms by using the appropriate message queuing software products.
What is Message driven process?
Ans . When messages arrive on a queue, they can automatically start an
application using triggering. If necessary, the applications can be stopped
when the message (or messages) have been processed.
What are advantages of the MQ?
Ans. 1. Integration.
2. Asynchrony
3. Assured Delivery
4. Scalability.
How does it support the Integration?
Ans. Because the MQ is independent of the Operating System you use i.e. it
may be Windows, Solaris,AIX.It is independent of the protocol (i.e. TCP/IP,
LU6.2, SNA, NetBIOS, UDP).It is not required that both the sender and
receiver should be running on the same platform
What is Asynchrony?
Ans. With message queuing, the exchange of messages between the
sending and receiving programs is independent of time. This means that the
sending and receiving application programs are decoupled; the sender can
continue processing without having to wait for the receiver to acknowledge
receipt of the message. The target application does not even have to be
running when the message is sent. It can retrieve the message after it is has
been started.
What are the hardware and Software requirements for MQ
Installation in AIX?
Ans. WebSphere MQ for AIX, V5.3 runs on any machine that supports the
AIX V4.3.3 PowerPC® 32.bit, or AIX® V5.1 Power 32 bit only operating
system.
Disk Storage: Typical storage requirements are as follows:
1 Server installation: 50 MB
2. Client installation: 15 MB
3 Data storage (server): 50 MB
4. Data storage (client): 5 MB.
Software Requirements:
Operating system: The operating systems supported by WebSphere MQ for
AIX, V5.3 are:
1. AIX V4.3.3, with PTF U472177, running in a 32 bit environment, on 32 or
64 bit hardware.
2. AIX V5.1, with PTFs U476879, U477366, U477367 and U477368, and
APAR fix IY29345 running 32 bit kernel running on 32 or 64 bit hardware.
3. AIX V5.1, with PTF U476879, U477366, U477367 and U477368, and APAR
fix IY29345 running 64 bit kernel running on 64 bit hardware.
Connectivity The network protocols supported by WebSphere MQ for AIX,
V5.3 are:
1. TCP/IP
2. SNA LU 6.2.
Databases: DB2 7.1, 7.2
Oracle 8i and 9i
Sybase v12 or v 12.5
Java: If you want to use the Java Messaging Support, you need the Java
Runtime Environment Version 1.3 or later
What are the software and hardware requirements for installing MQ
on Windows?
Ans: MQ v 5.3 supports Windows 2000, Windows 2000XP,Windows
2000NT,
Windows 2003 SE, Windows 2003EE.
Disk Storage: Typical storage requirements are as follows:
1 Server installation: 50 MB
2. Client installation: 15 MB
3 Data storage (server): 50 MB
4. Data storage (client): 5 MB.
Connectivity The network protocols supported by WebSphere MQ for AIX,
V5.3 are:
1. TCP/IP
2. SNA LU 6.2.
3. LU 6.2
4. NetBIOS
Databases: DB2 7.1, 7.2
Oracle 8i and 9i
Sybase v12 or v 12.5
Java: If you want to use the Java Messaging Support, you need the Java
Runtime Environment Version 1.3 or later
what is a Message and what does it contain?
Ans: A message is a string of bytes that is meaningful to the applications
that use it. Messages are used to transfer information from one application
program to another (or between different parts of the same application). The
applications can be running on the same platform, or on different platforms.
WebSphere MQ messages have two parts:
1. The application data. The content and structure of the application data
is defined by the application programs that use it.
2. A message descriptor. The message descriptor identifies the message
and contains additional control information, such as the type of message and
the priority assigned to the message by the sending application. WebSphere
MQ defines the format of the message descriptor. For a complete description
of the message descriptor,
What is the Max Length of the message does MQ support/
Ans: The default maximum message length is 4 MB, although you can
increase this to a maximum length of 100 MB (where 1 MB equals 1 048
576 bytes).
What is the difference between Persistent and Non Persistent
Messages?
Ans: In Web Sphere MQ, messages can be either persistent or non
persistent. Persistent messages are logged and can be recovered in the
event of a WebSphere MQ failure. Thus, persistent messages are guaranteed
to be delivered once and only once. Nonpersistent messages are not logged.
Web Sphere still guarantees to deliver them not more than once, but it does
not promise to deliver them once.
What is the effect of using Persistant messages?
Ans: Persistent messages are usually logged. Logging messages reduces the
performance of your application, so use persistent messages for essential
data only. If the data in a message can be discarded if the queue manager
stops or fails, use a nonpersistent message.
WebSphere MQ messages:
Messages are made up of Two parts: Message descriptor, Application data
Types of messages?
Datagram: A Message sent with no response expected.
Request: A Message sent for which a response is expected.
Reply: A Response Message for a requested message.
Report: A Message that describes the occurrence or event
Ex COA/COD
Sizes ?
Qmanager10000 Msgs Maxmsglength4 Mb
Queue5000 Msgs Maxmsglength4 Mb

What is the attribute used to see the Message length?


Ans: MaxMsgLength
What is MQ Client?
Ans: A Web Sphere MQ client is a component that allows an application
running on a system to issue MQI calls to a queue manager running on
another system. The output from the call is sent back to the client, which
passes it back to the application.
What is MQ Server?
Ans: A Web Sphere MQ server is a queue manager that provides queuing
services to one or more clients. All the Web Sphere MQ objects, for example
queues, exist only on the queue manager machine (the Web Sphere MQ
server machine), and not on the client. A Web Sphere MQ server can also
support local Web Sphere MQ
Applications
What are the Objects used in Web sphere MQ?
Ans: 1. Queue Manager 2. Queues
3. Channels 4. Processes 5. Name lists.
Mention the No of Characters required for creating names of the MQ
objects?
Ans: For MQ Channels it is 20 Characters
For Remaining objects it is 48 characters.
What about is the Default port number for MQ Queue Manager?
Ans: 1414
Difference between MQSC commands and Control commands?
MQSC Commands - These commands are used to handle the admin related
functions for the components that are present in the MQ Series. In general
MQSC commands are used for creating and maintaining Message channels,
Queue Managers, Clusters etc…
Control Commands - These commands are used to manage the processes
and services that are helpful in the functioning of the MQ Series. In general
these commands are used for Channel listener, Channel Initiator, Trigger
monitor etc…
Is the MQSC attributes are Case sensitive?
Ans: MQSC commands, including their attributes, can be written in
uppercase or lowercase. Object names in MQSC commands are folded to
uppercase (that is, QUEUE and queue are not differentiated), unless the
names are enclosed within single quotation marks. If quotation marks are
not used, the object is processed with a name in uppercase.
SCRIPT COMMANDS:-
After entering in to queue manager we can find script commands.
Script commands are same for every queue manager.
(These Commands should be used in CAPITAL LETTERS)
 DEFINE :-To define/create MQ manager objects like queue,
Channels, process, and listener.
 ALTER :-to update or modify the existing objects
 DISPLAY :-to view all the properties of a particular object or to
Display all objects
 DELETE :-to delete created objects
 CLEAR :-to clear the message from the queue
 END :-to come out of the queue manager
 PING :-to check whether other side channel / queue manager is ready
to accept our request.
 START :- to start the particular channel or listener
 STOP :-to stop particular channel or listener
 REFRESH :-used to refresh the security every time after giving or
executing, set mgr or command for queue manager or object
 RESET :-used to reset channel,cluster,queue manager
 RESOLVE :-to resolve the channel which is in indoubt state
 SUSPEND :-to suspend a queue manager from a cluster environment
 RESUME :-to remove a queue manager from a cluster environment
How can we write the MQSC commands that have too many
parameters/
Ans: For commands that have too many parameters to fit on one line, use
continuation characters to indicate that a command is continued on the
following line:
1. A minus sign (-) indicates that the command is to be continued from the
start of _ the following line.
2. A plus sign (+) indicates that the command is to be continued from the
first nonblank character on the following line.

What is programmable command format (PCF) commands?


These commands are issued from a programme for local or remote
administration done by programmers.
What are commands used for creating the Queue manager from the
Command prompt?
Ans: crtmqm -q -d MY.DEFAULT.XMIT.QUEUE -u DEAD.LETTER.QUEUE QM1
Here
-q used to define the Queue manager QM1 as a Default Queue manager
-d is used to define the default transmission Queue
-u is used to define the default dead letter queue.
How can U make the existing Queue Manager as an default Queue
Manager?
Ans: On Windows systems, use the Web Sphere MQ Services snap-in to
display the properties of the queue manager, and check the Make queue
manager the default box. You need to stop and restart the queue manager
for the change to take effect.
Where are the backup files are present after creating the Queue
Manager?
Ans: Windows systems: If you use Web Sphere MQ for Windows NT and
Windows 2000, configuration information is stored in the Windows Registry.
UNIX Systems: 1. When you install the product, the Web Sphere MQ
configuration file (mqs.ini) is created. It contains a list of queue managers
that is updated each time you create or delete a queue manager. There is
one mqs.ini file per node.
2. When you create a new queue manager, a new queue manager
configuration file (qm.ini) is automatically created. This contains
configuration parameters for the queue manager.
What is the command used for starting the Queue Manager?
Ans: strmqm QMName
What is the command used for stopping the Queue manager?
Ans: endmqm -w QMName
The command waits until all applications have stopped and the queue
manager has ended.
endmqm –i QMName
This type of shutdown does not wait for applications to disconnect from the
queue manager.
What’s the message code for Stopping a Queue Manager?
AMQ4044 Queue manager stopping
What is the command used to delete the QueueManager?
Ans: dltmqm QMName
Display the attributes of the Queue Manager QM1?
Ans: runmqsc QM1
Display qmgr
What is Queue?
Ans: A queue is a data structure used to store messages. A queue manager
owns each queue. The queue manager is responsible for maintaining the
queues it owns, and for storing all the messages it receives onto the
appropriate queues
What is the Default max Queue depth?
Ans 5000
Types of Queues?
Local Queue Remote Queues Alias Queues
Model Queue Dynamic Queues Cluster Queues.
Queue: A safe place to store messages for Prior-To-Delivery, it belongs to
the Qmgr to which the application is connected.
Model Queue: Model queue is a template of a queue definition that uses
when creating a dynamic queue.
Alias Queue: Queue definition, which is Alias to an actual Local or Remote
Q. Used for security and easy maintenance.
Remote Queue: Object that defines a Queue belongs to another Q Manager
(Logical Def).
Initiation Queue: An initiation queue is a local queue to which the queue
manager writes a trigger message when certain conditions are met on
another local queue
Dynamic Queue: Such a queue is defined "on the fly" when the application
needs it. Dynamic queues may be retained by the queue manager or
automatically deleted when the application program ends. Use- To store
intermediate results.
Cluster Queue: Custer queue is a local queue that is known throughout a
cluster of queue managers.
Reply-To-Queue: A request message must contain the name of the queue
into which the responding program must put the Reply Message.
Queue Manager: Provides Messaging services and manages the Queues,
Channels, and Processes that belongs to it.
Alias Q Manager: Queue-manager aliases, are created using a remote-
queue definition with a blank RNAME.
What are the attributes required for the Remote Queue Definition?
Ans: 1.Name of the Queue 2. Transmission Queue Name.
3. Remote QueueManager name 4. Remote Local Queue Name
How can U define Queues in MQ?
Ans: Queues are defined to Web Sphere MQ using:
1. The MQSC command DEFINE
2. The PCF Create Queue command
What is Transmission Queue?
Ans: Transmission queues are queues that temporarily store messages that
are destined for a remote queue manager. You must define at least one
transmission queue for each remote queue manager to which the local
queue manager is to send messages directly.
What is Initiation Queues?
Ans: Initiation queues are queues that are used in triggering. A queue
manager puts a trigger message on an initiation queue when a trigger event
occurs. A trigger event is a logical combination of conditions that is detected
by a queue manager.
What is Dead Letter Queue?
Ans: A dead-letter (undelivered-message) queue is a queue that stores
messages that cannot be routed to their correct destinations. This occurs
when, for example, the destination queue is full. The supplied dead-letter
queue is called SYSTEM.DEAD.LETTER.QUEUE. For distributed queuing,
define a dead-letter queue on each queue manager involved.
What is the Max size that Queues support in MQ v5.3?
Ans.They support around 2GB of Size
How can u create a Transmission Queue from a local Queue?
Ans. Change the usage attribute from normal to Transmission
Q38.Define a Local Queue LQ using the MQSC Commands in the QM
QM1
Ans: runmqsc QM1
Define qlocal (LQ)
What are the Difference B/W Predefined & Dynamic Queues?
Ans: Queues can be characterized by the way they are created:
1. Predefined queues are created by an administrator using the
appropriate MQSC or PCF commands. Predefined queues are permanent;
they exist independently of the applications that use them and survive Web
Sphere MQ restarts.
2 Dynamic queues are created when an application issues an MQOPEN
request specifying the name of a model queue. The queue created is based
on a template queue definition, which is called a model queue.

What is the Algorithm followed in retrieving the Messages from the


Queue?
Ans: 1.First-in-first-out (FIFO).
2.Message priority, as defined in the message descriptor. Messages that have the
same priority are retrieved on a FIFO basis.
3. A program request for a specific message.
What is Process Definition and what are the attributes does it
contain?
Ans: A process definition object defines an application that starts in
response to a trigger event on a WebSphere MQ queue manager. The
process definition attributes include the application ID, the application
type, and data specific to the application.
What is intercommunication and its components to send message ?
What is Intercommunication?
Ans: In Web Sphere MQ, intercommunication means sending messages from
one Queue manager to another. The receiving queue manager could be on
the same machine or another; nearby or on the other side of the world. It
could be running on the same platform as the local queue manager, or could
be on any of the platforms supported by Web Sphere MQ. This is called a
distributed environment.
Message channels Message channel agents
Transmission queues Channel initiators and listeners
Channel-exit programs
What is Distributed Queue Management (DQM).
Web Sphere MQ handles communication in a distributed environment such
as this using DQM.The local queue manager is sometimes called the source
queue manager and the remote queue manager is sometimes called the
target queue manager or the partner queue manager.
What is the Objects required for the DQM?
Ans: On source QueueManager:
1. Transmission Queue 2. Remote queue definition.
3. Dead Letter Queue(recommended) 4. Sender Channel
On Target Queue Manager
1. Local Queue 2. Dead Letter Queue 3. Receiver Channel 4.Listenr
***.The sender and receiver channels names should be same.
What is channel and mention different types of channels in MQ?
Ans: Channels are objects that provide a communication path from one
queue manager to another. Channels are used in distributed queuing to
move messages from one queue manager to another. They shield
applications from the underlying communications protocols. The queue
managers might exist on the same, or different, platforms. Different types of
Channels:
1. Sender-Receiver Channels
2. Requester-Server Channels
3. Client Connection channels
4. Server Connection Channels.
5. Cluster Sender.
6. Cluster Receiver Channels
What are MQI channels and there types?
MQI channels are the channels that carry messages from MQ Client
application to the MQ server and vice versa.They are Bi-directional Channels
1. Server-connection 2. Client-connection
How many Channel Combinations?
1.Sender-receiver Channel 4.Requester-server Channel
2.Requester-sender Channel 5. Server-receiver Channel
3.Cluster-Sender- Receiver Channel 6.Client-Server Channel
What are the attributes required for the Sender Channel?
Ans: 1. The Name of the Channel 4.Transport Type
2. The Connection name 5.Scyexit
What are different Channel status?
Ans: Channel Status:
1. Inactive 3.Retrying
2. Running 4.Stopped
What about Initializing & Binding states?
Ans: Before running state first the channel will initializes the listener & Binds
with the Receiver Channel then it goes into running mode.
Tell me Some Channel Attributes?
Batch Heartbeat Interval (BATCHHB): This heartbeat interval allows a
sending channel to verify that the receiving channel is still active just before
committing a batch of messages. If the receiving channel is not active, the
batch can be backed out rather than becoming in-doubt, Batch interval
(BATCHINT), Batch size (BATCHSZ), Channel type (CHLTYPE), Cluster
(CLUSTER), Cluster namelist (CLUSNL), Connection name (CONNAME),
Convert message (CONVERT), Disconnect interval (DISCINT), Heartbeat
interval (HBINT), KeepAlive Interval (KAINT), Long retry count (LONGRTY),
Long retry interval (LONGTMR), Maximum message length (MAXMSGL)
Why is Channel RETRYINT attribute used?
If a message is places in DLQ because of put inhibited or queue full
condition, the DLQ handler attempts to put the message back to the
destination queue. This interval is called as RETRYINT by default the retry
interval is 60 seconds.
Receiver Cluster Receiver Requester
What is channel disconnect interval?
This is a time-out attribute, specified in seconds, for the server, cluster-
sender, and cluster-receiver channels. The interval is measured from the
point at which a batch ends, that is when the batch size is reached or when
the batch interval expires and the transmission queue becomes empty. If no
messages arrive on the transmission queue during the specified time
interval, the channel closes down
Explain the channel attribute BATCHSIZE?
BATCHSIZE denotes the maximum number of messages that can be sent
through a channel before taking a checkpoint. This parameter is valid only
for channels with a channel type (CHLTYPE) of SDR, SVR, RCVR, RQSTR,
CLUSSDR, or CLUSRCVR. The value must be in the range 1 through 9999.
What is BATCH HEARTBEAT INTERVAL?
Ans: The batch heartbeat interval allows a sending channel to verify that the
receiving channel is still active just before committing a batch of messages,
so that if the receiving channel is not active, the batch can be backed out
rather than becoming in-doubt, as would otherwise be the case. By backing
out the batch, the
messages remain available for processing so they could, for example, be
redirected to another channel.
What is Keep Alive Interval?
Ans: The Keep Alive Interval parameter is used to specify a time-out value
for a channel. The Keep Alive Interval parameter is a value passed to the
communications stack specifying the Keep Alive timing for the channel. It
allows you to specify a different keep alive value for each channel. The value
indicates a time, in seconds, and must be in the range 0 to 99999.
What is LONG Retry count?
Ans: Specify the maximum number of times that the channel is to try
allocating a session to its partner. If the initial allocation attempt fails, the
short retry count number is decremented and the channel retries the
remaining number of times.
What are the ways to start a channel?
Use the MQSC command START CHANNEL
Use the control command runmqchl to start the channel as a process
Use the channel initiator to trigger the channel
Type of channel states:
Inactive and Current- Stopped, Starting, Retrying and Active
What are the three options for stopping channels?
QUIESCE FORCE TERMINATE
What are the components of message channel?
A queue manager to communicate with another queue manager uses
message channel. The components of a message channel are
1. Sender Message channel agent: Sender MCA is a program that transfers
messages from a transmission queue to a communication link
2. Receiver MCA: It transfers messages from the communication link into
the target queue
3. Communication protocol: Responsible for transferring messages A
message channel is unidirectional.
What is Message Channel agent (MCA)?
Ans: A message channel agent (MCA) is a program that controls the sending
and receiving of messages. There is one message channel agent at each end
of a channel. One MCA takes messages from the transmission queue and
puts them on the communication link. The other MCA receives messages and
delivers them onto a queue on the remote queue manager.
A message channel agent is called a caller MCA if it initiated the
communication; otherwise it is called a responder MCA.
Q52.What is Channel initiator and Listeners?
Ans: A channel initiator acts as a trigger monitor for sender channels,
because a transmission queue may be defined as a triggered queue. When a
message arrives on a transmission queue that satisfies the triggering criteria
for that queue, a message is sent to the initiation queue, triggering the
channel initiator to start the
appropriate sender channel. You can also start server channels in this way if
you specified the connection name of the partner in the channel definition.
This means that channels can be started automatically, based upon
messages arriving on the appropriate transmission queue.
You need a listener program to start receiving (responder) MCAs.
Responder MCAs are started in response to a startup request from the caller
MCA; the channel listener detects incoming network requests and starts the
associated channel.
Channel Errors?
Due to: 1. Xmitq is set to get disabled 2. Network Issues
3.QueueManager Stopped 4. Listener is not running
5.TriggerTurned Off
Explain Channel-Exit programs and what are the types?
Channel-exit programs are called at defined places in the processing carried
out by MCA programs
Security Exit: You can use security exit programs to verify that the partner
at the other end of a channel is genuine
Message Exit: Message Exit can be used for Encryption on the link, message
data conversion, validation of user ID,
Message-retry Exit: Message-retry exit is called when an attempt to open
the target queue is unsuccessful
Sender and receiver Exit: You can use the send and receive exits to perform
tasks such as data compression and decompression
Channel auto-definition Exit Transport-retry Exit
What is the Different Logging Methods available?
Ans: There are two different types available
1. Circular: The circular logging is used for restart recovery. It is the default
logging method. Circular is used in Development and Testing Queues.
Circular logging keeps all restart Data in a ring of log files. Logging fills the
first file in the ring, then moves on to the and so on, until all the files are
full. It then goes back to the first file in the ring and starts This continues as
long as the product is in use, and has the advantage that you never run out
of log files.
2. Linear: Linear logging gives you both restart recovery and media
recovery. It is used in Production. Linear logging keeps the log data in a
continuous Sequence of files. Space is not reused, so you can always
retrieve any record logged from the time that the queue manager was
created. As disk space is finite, you might have to think about some form of
archiving. It is an administrative task to manage your disk space for the log,
reusing Or extending the existing space as necessary.
What is the Default location where the logs are stored and mention
the default sizes?
Ans: Default location:
Windows: C:\Program Files\IBM\WebSphere MQ\log\qmgr
UNIX: /var/mqm/log
What is the log file size?
Ans: In Web Sphere MQ for Windows NT and Win 2000, the minimum value
is 32, and the maximum is 16 384. The default value is 256, giving a default
log size of 1 MB.
In Web Sphere MQ for UNIX systems, the minimum value is 64, and the
maximum is 16 384. The default value is 1024, giving a default log size of 4
MB.
How will you change the log file size?
Ans ; You cannot change the log file size. For this you need to drop and re-create the queue
manager. The number of log files primary & secondary can be changed but you need to
restart the Q manager for the changes to take effect.
what is the number for log primary and secondary file allocated?
Ans: Primary log files: The number of primary log files to be allocated is 3
by default the minimum is 2 and MAX in Win 253 / Unix 510
Secondary log files: The number of secondary log files to be allocated is 2
by default the minimum is 1 and MAX in Win 252 / Unix 509
What is the command used for creating the listener?
Ans: crtmqlsr -t tcp -m QMNAME -p portno
What is the commands used for running listener in 5.3 Version?
Ans: runmqlsr -t tcp -m QMNAME -p portno
What is command used to perform task on the MQ services?
Ans: amqmdain
What are commands used on the Command server?
Ans: 1.strmqcsv: to start the command server
2. dspmqcsv: to display the command server
3. endmqcsv: To end the command server.
Is there is any chance for the Message lost?
Ans: If the target queuemanager doesn.t contain the dead letter queue
defined and if the messages are running on a fast channel and of non
persistant,Then there is a chance of the message loss.
What is the command that is used to provide authorization for the
clients?
Ans: setmqaut -m QMName -t queue -n Queuename -p GUEST +all
What are the common errors u get in DQM? Explain how to resolve ?
Ans:
mqrc 2058: MQRC_Q_MGR_NAME_ERROR
Mqrc 2059: MQRC_Q_MGR_NOT_AVAILABLE.
Mqrc 2033: MQRC_NO_MSG_AVAILABLE.
Mqrc 2085: MQRC_UNKNOWN_OBJECT_NAME.
Mqrc 2009: MQRC_CONNECTION_BROKEN.
Mqrc 2043: MQRC_OBJECT_TYPE_ERROR.
Mqrc 2086: MQRC_UNKNOWN_OBJECT_Q_MGR.
Mqrc 2035: MQRC_NOT_AUTHORIZED.
What are different modes in which a application can connect to a
Queuemanager?
Ans: 1.Binding mode: In binding mode, also known as server connection,
the communication to the queue manager utilizes inter-process
communications. One of the key factors that should be kept in mind is that
binding mode is available only to programs running on the MQSeries server
that hosts the queue manager. A program using binding mode will not run
from an MQSeries client machine. Binding mode is a fast and efficient way to
interact with MQSeries. Certain Facilities, such as XA transaction co-
ordination by queue manager, are available only in binding mode.
2. Client Connection: Client connection uses a TCP/IP connection to the
MQSeries Server and enables communications with the queue manager.
Programs using client connections can run on an MQSeries client machine as
well as on an MQSeries server machine. Client connections use client
channels on the queue manager to communicate with the queue manager.
The client connection does not support XA transaction coordination by the
queue manager.
What are the different types of messaging systems used by JMS?
Ans: JMS applications use either the point-to-point (PTP) or
publish/subscribe style of messaging.
Point-to-Point: Point-to-point messaging involves working with queues of
messages. The sender sends messages to a specific queue to be consumed
normally by a single receiver. In point-to-point communication, a message
has at most one recipient. A sending client addresses the message to the
queue that holds the messages for the intended (receiving) client.
Publish/Subscribe: In contrast to the point-to-point model of
communication, the publish/subscribe model enables the delivery of a
message to multiple recipients. A sending client addresses, or publishes, the
message to a topic to which multiple clients can be subscribed. There can be
multiple publishers, as well as subscribers, to a topic.
Is It Possible to use one transmission Queue for the multiple
message channels?
Ans: It is possible to define more than one channel per transmission queue,
but only one of these channels can be active at any one time. This is
recommended for the provision of alternative routes between queue
managers for traffic balancing and link failure corrective action. A
transmission queue cannot be used by another channel if the previous
channel to use it terminated leaving a batch of messages in-doubt at the
sending end.
What is the command used to test whether the channel is active or
not?
Ans: runmqsc QMName
Ping channel (channel name).
What are the administrative commands that are used in Publish and Subscribe?
Ans: The strmqbrk command is used to start a broker. The first time this command is run on a queue manager, all the relevant MQSeries objects are automatically created.

--------strmqbrk -m MYQMGRNAME
The dspmqbrk command is used to check the status of the broker. Possible
states are: starting, running, stopping, quiescing, not active and ended
abnormally.
--------dspmqbrk -m MYQMGRNAME
The endmqbrk command is used to stop a broker. There are two options:
-c requests a controlled shutdown (default), -i requests an immediate
shutdown.
-------endmqbrk -i -m MYQMGRNAME
What is multiple hoping?
Ans: If there is no direct communication link between the source queue
manager and the target queue manager, it is possible to pass through one
or more intermediate queue managers on the way to the target queue
manager. This is known as a multi-hop.
What is Local administration and Remote administration?
Local Administration: Means carrying out administration tasks on any
queue managers you have defined on your local system.
Remote Administration: This allows you to issue commands from your
local system that are processed on another system. For example, you can
issue a remote command to change a queue definition on a remote queue
manager. You do not have to log on to that system, although you do need to
have the appropriate channels defined. The queue manager and command
server on the target system must be running
Difference between Control Commands used in Windows and other Os?
Control commands on are case sensitive other OS but Windows they can be
used any way.
What is MQOO_BIND_ON_OPEN option on the MQOPEN call ?
When this attribute is set it forces all the messages sent to this queue to be
sent to the same instance of the queue (go to the same queue in cluster)
Difference between MQPUT and MQPUT1 call ?
The MQPUT1 call always operates as though MQOO_BIND_NOT_FIXED were
in effect, that is, it always invokes the workload management routine.
When is Channel security exit program called?
Are called at MCA initiation and termination
Stopping unauthorized queue managers putting messages on your queues
Use OS security, Object Authority Manager (OAM) on WebSphere MQ user-
written procedures
What happens if DEAD letter Queue is not defined?
If dead letter queue are not defined the Messages are placed on the
Transmission Queue and the Queue Manager become Inactive
Explain Remote queue definitions? Advantages?
These are definitions for queues that are owned by another queue manager
Advantages: The advantage of remote queue definitions is that they enable
an application to put a message to a remote queue without having to specify
the name of the remote queue or the remote queue manager, or the name
of the transmission queue. This gives you location independence.
What happens if channel terminates when fast non-persistent messages are in
transit?
If a channel terminates while fast, non-persistent messages are in transit,
the messages are lost and it is up to the application to arrange for their
recovery if required. If the receiving channel cannot put the message to its
destination queue then it is placed on the dead letter queue, if one has been
defined. If not, the message is discarded.
What happens when a message cannot be delivered?
Message-retry: If the MCA is unable to put a message to the target queue
for a reason that could be transitory (for example, because the queue is
full), the MCA has the option to wait and retry the operation later
Return-to-sender: If message-retry was unsuccessful, or a different type of
error was encountered, the MCA can send the message back to the
originator
Dead-letter queue: If a message cannot be delivered or returned, it is put on
to the dead-letter queue (DLQ). You can use the DLQ handler to process the
message
Recovery scenario –Disk Drive Full, damaged Queue manager object,
Damaged single object, Automatic media recovery failure
MQ ensures that messages are not lost by maintaining records (logs) of the
activities of the queue managers that handle the receipt, transmission, and
delivery of messages
How to Process Messages from the Dead-letter-Queue?
We can Process the DLQ messages using runmqdlq command for sending
messages to the destination Queues or target Queues. Use the runmqdlq
command to start the dead-letter queue (DLQ) handler, which monitors and
handles messages on a dead-letter queue.
runmqdlq QName QMgrName
Use the Dead-Letter-Queue-Handler to perform various actions on selected
messages by specifying a set of rules that can both select a message and
define the action to be performed on that message.
The runmqdlq command takes its input from stdin. When the command is
processed, the results and a summary are put into a report that is sent to
stdout.
Which field of the MQDLH structure contains a reason code that identifies why the
message is on the DLQ?
Reason field
What is completion code(MQCC) and reason code(MQRC)?
Completion code gives the status of the current transaction it can be 0, 1, 2.
0- for Successful completion (MQCC_OK), 1- Warning (MQCC_WARNING), 2-
call failed (MQCC_FAILED).
Reason code is that which gives the reason for which the transaction
fails it can be MQRC_NONE, MQRC_BACKED_OUT etc.
What is Correl ID?
This is a byte string that the application can use to relate one message to
another, or to relate the message to other unit of work that the application
is performing. The correlation identifier is a permanent property of the
message, and persists across restarts of the queue manager
Explain commit and Back Out units of work?
When a program puts a message on a queue within a unit of work, that
message is made visible to other programs only when the program commits
the unit of work.
Commit: To commit a unit of work, all updates must be successful to
preserve data integrity. If the program detects an error and decides that the
put operation should not be made permanent, it can back out the unit of
work.
Back Out: When a program performs a back out, WebSphere MQ restores
the queue by removing the messages that were put on the queue by that
unit of work. The way in which the program performs the commit and back
out operations depends on the environment in which the program is running
BackoutCount (MQLONG)?
This is a count of the number of times that the message has been previously
returned by the MQGET call as part of a unit of work, and subsequently
backed out. BackoutCount is the number of times the application tried and
failed to put the messages in the Queue
What is segmentation and explain segmentation Flag?
When a message is too big for a queue, an attempt to put the message on
the queue usually fails. Segmentation is a technique whereby the queue
manager or application splits the message into smaller pieces called
segments, and places each segment on the queue as a separate physical
message. The application that retrieves the message can either retrieve the
segments one by one, or request the queue manager to reassemble the
segments into a single message that is returned by the MQGET call.
What are Namelist? when do you use it?
A namelist is a WebSphere MQ object that contains a list of other
WebSphere MQ objects. Typically, namelists are used
By trigger monitors, where they are used to identify a group of queues.
Namelists are also used with queue manager clusters to maintain a list of
clusters referred to by more than one WebSphere MQ object.
The advantage of using a namelist is that it is maintained independently of
applications; it can be updated without stopping any of the applications that
use it. Also, if one application fails, the namelist is not affected and other
applications can continue using it. Namelists are also used with queue
manager clusters to maintain a list of clusters referred to by more than one
WebSphere MQ object
What are name services?
The name service is an installable service that provides support to the queue
manager for looking up the name of the queue manager that owns a
specified queue.
What is Local units of work (uses a single-phase commit process) and Global unit
of Work (uses a two-phase commit process)?
Local unit of work: Units of work that involve only the queue manager are
called local units of work. Syncpoint coordination is provided by the queue
manager itself (internal coordination) using a single-phase commit process.
Use global units of work when you also need to include updates to resources
belonging to other resource managers. Here the coordination can be internal
or external to the queue manager uses a two-phase commit
How will we start a command server?
Depending on the value of the queue manager attribute, SCMDSERV, the
command server is either started automatically when the queue manager
starts, or must be started manually.
Start: Using strmqcsv saturn.queue.manager where saturn.queue.manager
is the QM name
Display: dspmqcsv Stop: endmqcsv
When we use CCSID attribute of the ALTER QMGR command to change the CCSID
of the QM what are the components that need to be restarted?
Stop and restart the queue manager, stop and restart command server (A
command server processes command messages) and channel programs
What is a MQ Series Queue manager Configuration file (qm.ini)?
A queue manager configuration file (qm.ini) to effect changes for specific
queue managers. There is one qm.ini file for each queue manager on the
node. (A queue manager configuration file, qm.ini, contains config
information relevant to a specific queue manager. There is one queue
manager configuration file for each queue manager. The qm.ini file is
automatically created when the queue manager with which it is associated is
created. For example, the path and the name for a configuration file for a
queue manager called QMNAME is:/var/mqm/qmgrs/QMNAME/qm.ini)
What is name transformation in naming a Queue manager Configuration File?
A qm.ini file is held in the root of the directory tree occupied by the queue
manager. For example, the path and the name for a configuration file for a
queue manager called QMNAME is: /var/mqm/qmgrs/QMNAME/qm.ini A
directory name is generated based on the queue manager name. This
process is known as name transformation.
What is a Websphere MQ configuration file (mqs.ini)?
Contains information relevant to all the queue managers on the node. It is
created automatically during installation (The WebSphere MQ configuration
file, mqs.ini, contains information relevant to all the queue managers on the
node. It is created automatically during installation. The mqs.ini file for
WebSphere MQ for UNIX systems is in the /var/mqm directory. It contains: v
The names of the queue managers v The name of the default queue
manager The location of the files associated with each of them)
How can we edit the configuration files?
Automatically using commands that change the configuration of queue
managers on the node, Manually using a standard text editor
When security checks are made?
Connecting to the queue manager (MQCONN or MQCONNX calls), Opening
the object (MQOPEN or MQPUT1 calls), Putting and getting messages
(MQPUT or MQGET calls), Closing the object (MQCLOSE)
What is FFST?
First Failure Support Technology For MQSeries for UNIX systems, FFST
information is recorded in a file in the /var/mqm/errors directory. These
errors are normally severe, unrecoverable errors, and indicate either a
configuration problem with the system or an MQSeries internal error. The
files are named AMQnnnnn.mm.FDC, where: nnnnn Is the ID of the process
reporting the error mm Is a sequence number, normally 0 When a process
creates an FFST record, it also sends a record to syslog. The record contains
the name of the FFST file to assist in automatic problem tracking
Creating Damaged Objects Using Log files?
1.Rcdmqimg: Use this command to write an image of an object, or group of
objects, to the log for use in media recovery. This command can only be
used when using linear logging.
Use the associated command rcrmqobj to recreate the object from the
image.
2.Rcrmqobj: Use this command to recreate an object, or group of objects,
from their images contained in the log. This command can only be used
when using linear logging
Use the associated command, rcdmqimg, to record the object images to the
log.
Types of recovery:
Restart recovery: When you stop WebSphere MQ in a planned way.
Crash recovery: When a failure stops WebSphere MQ.
Media recovery: To restore damaged objects.
What are the locations and files of the Error Logging?
MQ Series Level Errors
C:\ProgramFiles\IBM\WebSphere MQ\errors AMQERR01.LOG,
AMQERR02.LOG, AMQERR03.LOG
Qmanager Level errors
C:\ProgramFiles\IBM\WebSphere MQ\Qmgrs\errors AMQERR01.LOG,
AMQERR02.LOG, AMQERR03.LOG
\errors
What are the different types of security services available in MQ Series?
Identification & Authentication
Access control  The access control service protects critical resources in a
system by limiting access only to authorized users and their applications.
Confidentiality  The confidentiality service protects sensitive information
from unauthorized disclosure
Data integrity  The data integrity service detects whether there has been
unauthorized modification of data. There are two ways in which data might
be altered: accidentally, through hardware and transmission errors, or
because of a deliberate attack, Non-repudiation.

Commands For Authorization:


1.setmqaut: Command used to change the authorizations to a profile, object
or class of objects. Authorizations can be granted to, or revoked from, any
number of principals or groups.
2.dspmqaut: Command to display the current authorizations to a specified
object. If a user ID is a member of more than one group, this command
displays the combined authorizations of all the groups.
Only one group or principal can be specified.
3.dmpmqaut: Command to dump the current authorizations to a specified
object.
What are the different methods handled by MQ Series for securing a message?
Cryptography Message digests
Digital signatures Digital certificates
Public Key Infrastructure (PKI)
What is Cryptography, Why and where it is used in MQ Series?
Cryptography is the process of converting between readable text, called
plaintext, and an unreadable form, called cipher text.
The sender converts the plaintext message to cipher text. This part of the
process is called encryption (sometimes encipherment).The cipher text is
transmitted to the receiver. The receiver converts the cipher text message
back to its plaintext form. This part of the process is called decryption
(sometimes decipherment).
The conversion involves a sequence of mathematical operations that change
the appearance of the message during transmission but do not affect the
content. Cryptographic techniques can ensure confidentiality and protect
messages against unauthorized viewing (eavesdropping), because an
encrypted message is not understandable. Digital signatures, which provide
an assurance of message integrity, use encryption techniques.
What is a Message Digest, Digital Signature and Digital Certificate?
Message digest: Is also known as a Message Authentication Code (MAC),
because it can provide assurance that the message has not been modified.
The message digest is sent with the message itself. The receiver can
generate a digest for the message and compare it with the sender’s digest.
If the two digests are the same, this verifies the integrity of the message.
Any tampering with the message during transmission almost certainly
results in a different message digest.
Digital signature: Is formed by encrypting a particular representation of a
message the encryption uses the private key of the signatory and, for
efficiency, usually operates on a message digest rather than the message
itself. Digital signatures vary with the data being signed, unlike handwritten
signatures, which do not depend on the content of the document being
signed. If two different messages are signed digitally by the same entity, the
two signatures differ, but both signatures can be verified with the same
public key, that is, the public key of the entity that signed the messages.
Digital certificates: Provide protection against impersonation, because a
digital certificate binds a public key to its owner, whether that owner is an
individual, a queue manager, or some other entity. Digital certificates are
also known as public key certificates, because they give you assurances
about the ownership of a public key when you use an asymmetric key
scheme.
What is a Secure Sockets Layer (SSL), where it is used?
The Secure Sockets Layer (SSL) provides an industry standard protocol for
transmitting data in a secure manner over an insecure network. The SSL
protocol is widely deployed in both Internet and Intranet applications. SSL
defines methods for authentication, data encryption, and message integrity
for a reliable transport protocol, usually TCP/IP.
What are Cipher Suites and Cipher Specs in SSL?
Cipher Suite: Is a suite of cryptographic algorithms used by an SSL
connection. A suite comprises three distinct algorithms. The key exchange
and authentication algorithm, used during the SSL handshake. The
encryption algorithm, used to encipher the data.The MAC (Message
Authentication Code) algorithm, used to generate the message digest.
Cipher Spec: Identifies the combination of the encryption algorithm and MAC
algorithm. Both ends of an SSL connection must agree the same CipherSpec
to be able to communicate.
What are the steps to be followed in working with SSL on an UNIX environment?
1.Setting up a key repository 2.Working with a key repository
3.Obtaining personal certificates 4.Managing digital certificates
5.Configuring for cryptographic hardware 6.Mapping DNs to user IDs
7.Adding personal certificates to a key repository
Websphere MQ installation naming consideration?
Ensure that the machine name does not contain any spaces. If you insatall in
such a machine you cannot create and Queue managers. Names for userId
and group must no longer that 20 characters
What is CCSID?
This defines the character set of character data in the message. If you want
to set this character set to that of the queue manager, you can set this field
to the constant MQCCSI_Q_MGR or MQCCSI_INHERIT. When you get a
message from a queue, compare the value of the CodedCharSetId field with
the value that your application is expecting. If the two values differ, you
might need to convert any character data in the message or use a data-
conversion message exit if one is available
Channel: Communication Paths between Queue Managers.
Tell Some Default objects: (43 objects)
Queues: SYSTEM.DEFAULT.LOCAL QUEUE
SYSTEM.DEFAULT.MODEL.QUEUE
SYSTEM.DEFAULT.REMOTE.QUEUE
SYSTEM.DEFAULT.ALIAS.QUEUE
SYSTEM.DEFAULT.INITIATION.QUEUE
SYSTEM.DEAD.LETTER.QUEUE
Channel Queues: SYSTEM.CHANNEL.INITQ
SYSTEM.CHANNEL.SYNCQ
Admin Queues: SYSTEM.ADMIN.ACCOUNTING.QUEUE
SYSTEM.ADMIN.ACTIVITY.QUEUE
SYSTEM.ADMIN.COMMAND.QUEUE
SYSTEM.ADMIN.STATISTICS.QUEUE
SYSTEM.ADMIN.TRACE.ROUTE.QUEUE
Channels: SYSTEM.AUTO.RECEIVER SYSTEM.AUTO.SVRCONN
SYSTEM.DEF.CLUSRCVR SYSTEM.DEF.CLUSSDR
SYSTEM.DEF.RECEIVER SYSTEM.DEF.REQUESTER
SYSTEM.DEF.SENDER SYSTEM.DEF.SERVER
SYSTEM.DEF.SVRCONN
Listeners: SYSTEM.DEFAULT.LISTENER.TCP
SYSTEM.DEFAULT.LISTENER.SPX
SYSTEM.DEFAULT.LISTENER.NETBIOS
SYSTEM.DEFAULT.LISTENER.LU62
Process Def: SYSTEM.DEFAULT.PROCESS
Services: SYSTEM.DEFAULT.SERVICE SYSTEM.BROKER
Name Lists: SYSTEM.DEFAULT.NAMELIS
Event Queues: SYSTEM.ADMIN.CHANNEL.EVENT
SYSTEM.ADMIN.LOGGER.EVENT
SYSTEM.ADMIN.PERFM.EVENT
SYSTEM.ADMIN.QMGR.EVENT
What are advantages of creating Aliases? Why do we create Alias?
When sending messages: Re mapping the queue-manager name when
sending messages, Altering or specifying the transmission queue when
sending messages, Determining the destination when receiving messages,
Using a queue manager as a gateway into the cluster. Gives different
application different levels of access authority to the target Queue Allows
different applications to work with the same queue in different way
Simplifies maintenance, migration and workload balance
What are the parameters required to put a message on a queue (or) putting a
message on queue parameters?
Requires a Connection handler (Hconn), a Queue handler (Hobj), a
description of the message that you want to put on the queue (MQMD),
Control information, message length, the message data itself
Getting messages for a queue?
You can remove a message from the queue so that other programs can no
longer see the message, you can copy a message, leaving the original
message on the queue. This is known as browsing. You can remove the
message once you have browsed it. In both cases, you use the MQGET call,
but first your application must be connected to the queue manager, and you
must use the MQOPEN call to open the queue
What happens when a message is put in a PUT-INHIBITED Queue?
The messages are put in the dead letter queue. If a channel is unable to put
a message to the target queue because that queue is full or put inhibited,
the channel can retry the operation a number of times (specified in the
message-retry count attribute) at a given time interval (specified in the
message-retry interval attribute). Alternatively, you can write your own
message-retry exit that determines which circumstances cause a retry, and
the number of attempts made. The channel goes to PAUSED state while
waiting for the message-retry interval to finish
What is syncpoints?
Syncpoint coordination is the process by which units of work are either
committed or backed out with data integrity. The decision to commit or back
out the changes is taken, in the simplest case, at the end of a transaction.
However, it can be more useful for an application to synchronize data
changes at other logical points within a transaction.
These logical points are called syncpoints (or synchronization points) and the
period of processing a set of updates between two syncpoints is called a unit
of work
In-doubt Channels? How will you resolve this ?
An in-doubt channel is a channel that is indoubt with the remote channel
about which messages has been sent and received
Solution: We can do Commit or Rollback the messages which are in doubt.
Scenarios:
Queue open failed?
*Reason: On an MQCONN or MQCONNX call, the value specified for the
QMgrName parameter is not valid or not known
*Resolution: we must correct the configuration information
Queue not found?
*Reason Code 2085 MQRC_UNKNOWN_OBJECT_NAME
*Resolution: check for the Queue name in the QManager if not found define
it.
Messages sent to DLQ?
*Reason code: 2218 Message too big for Channel
*Investigation: Examine the contents of the dead-letter queue. Each
message is contained in a structure that describes why the message was put
to the queue, and to where it was originally addressed. Also look at previous
error messages to see if the attempt to put messages to a dead-letter queue
failed.
*Resolution: change the channel size as required, if the channel is a cluster
channel then do a REFRESH cluster so that it will reflect to the other QM’s,
then reprocess the message
Message piling(FULL) up in a Queue?
*Investigation: Check for the log files
(/var/mqm/qmgrs/<qmgrname>/errors/*.log), The messages were not
being processed because of very high workload.
*Resolution: SSL
*Authentication failure:
The SSL client does not have a certificate
A certificate has expired or is not yet active
A certificate is not supported
A certificate is corrupted
May be ssl version upgradation
Channel refuses to run or channel retry?
*Reason: A mismatch of name between a sending and receiving channels,
Incorrect channel type specified, A receiver channel might be in stopped
state, the connection might not be defined Correctly, there might be a
problem with communication software.
*Resolution: Alter the Queue and REFRESH the cluster to reflect the change
in the information stored in the partial repository
Handling messages more than 4 MB?
Increase the Queue and Queue manager MaxMsgLength attributes, Use
segmented messages (Messages can be segmented by either the application
or the Queue manager), use reference message.
DQM: DISTRIBUTED QUEUEING MANAGEMENT
Setuping & Controlling of Message Channel in Message Queuing for Q
Managers on Distributed Systems.
What is the SSL Version used in WMQ5.3?
Version 3.0
NPMSPEED FAST. What happens if the channel goes down?
Nonpersistent message speed (NPMSPEED) It is used to specify the speed at
which nonpersistent messages are to be sent. It can take on two values
either ‘normal’ or ‘fast’. The default is ‘fast’, which means that nonpersistent
messages on a channel are not transferred within transactions. Non
persistent messages are lost if there is a transmission failure or if the
channel stops when the messages are in transit.
What is SSL?
Secure Sockets Layer (SSL) is a protocol designed to allow the transmission
of secure data over an insecure network. SSL makes use of digital
certificates to enable authentication of the partner. It also uses encryption to
prevent eavesdropping and hash functions to enable detection of tampering.
It can be used with both MCA channels for queue manager to queue
manager communication and MQI channels for client applications connecting
to a queue manager
What are the algorithms in SSL?
A CipherSuite is a suite of cryptographic algorithms used by an SSL
connection. A suite comprises three distinct algorithms:
The key exchange and authentication algorithm, used during the SSL
handshake
The encryption algorithm, used to encipher the data
The MAC (Message Authentication Code) algorithm, used to generate the
message digest

Вам также может понравиться