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?
On source QueueManager:
- Transmission Queue 2. Remote queue definition.
- Dead Letter Queue(recommended) 4. Sender Channel
On Target Queue Manager
- 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?
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:
- Sender-Receiver Channels
- Requester-Server Channels
- Client Connection channels
- Server Connection Channels.
- Cluster Sender.
- 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
- 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?
1. The Name of the Channel 2.Transport Type 3.Channel type 4.connname
What are different Channel status?
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?
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?
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?
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
- Sender Message channel agent: Sender MCA is a program that transfers messages from a transmission queue to a communication link
- Receiver MCA: It transfers messages from the communication link into the target queue
- Communication protocol: Responsible for transferring messages A message channel is unidirectional.
What is Message Channel agent (MCA)?
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.
What is Channel initiator and Listeners?
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.
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?
There are two different types available
- 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.
- 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?
Windows: C:\Program Files\IBM\WebSphere MQ\log\qmgr
How will you change the log file size?
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?
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?
crtmqlsr -t tcp -m QMNAME -p portno
What is the commands used for running listener ?
runmqlsr -t tcp -m QMNAME -p portno
What are commands used on the Command server?
- strmqcsv: to start the command server
- dspmqcsv: to display the command server
- endmqcsv: To end the command server.
Is there is any chance for the Message lost?
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?
setmqaut -m QMName -t queue -n Queuename -p GUEST +all
What are the common errors u get in DQM? Explain how to resolve ?
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 the different types of Logs? Or We have two types of logs ?
- Transactional logs:
- Error logs.
Difference between Errors and Qmgr errors?
Errors: This will contain all S/W level errors and Information
QMGR: This will contains all the information of QMGR objects and errors
How you enable Trace?
- Or start a high detail trace for one queue manager:
strmqtrc -t all -t detail -m MY.QMGR
- Or start a high detail wrapping trace and limit the file size to 5MB :
strmqtrc -l 5 -t all -t detail -m MY.QMGR
End all tracing:
Format the trace files:
Or format wrapping trace files:
dspmqtrc *.TRC *.TRS
What does the FDC contain?
FDC File:Failure data capture,If any S/W related error occurs this file will be created,in FDC we have prob-Id based on that we will find the solution in IBM Tech notes.
major error code
minor error code
Channel in doubt and in flight state?
The INDOUBT count specifies the number that were interrupted between phase-1 and phase-2 of the commit process. These must undergo forward recovery to ensure that resources modified by them are unavailable until their INDOUBT status is resolved.
The INFLIGHT count specifies the number that neither completed phase-1 of the commit process nor began the process of backing out. These must undergo backward recovery to restore resources modified by them to their previous consistent state