mq interviewqstns

Upload: bobbaapps

Post on 05-Apr-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 Mq Interviewqstns

    1/25

    BYS

    UNDEEP

    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. Asynchrony3. Assured Delivery4. Scalability.How does it support the Integration?Ans. Because the MQ is independent of the Operating System you use i.e. it may beWindows, 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

    platformWhat 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 MB2. Client installation: 15 MB3 Data storage (server): 50 MB4. 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:

  • 7/31/2019 Mq Interviewqstns

    2/25

    BYS

    UNDEEP

    1. TCP/IP2. SNA LU 6.2.Databases: DB2 7.1, 7.2Oracle 8i and 9iSybase v12 or v 12.5Java: If you want to use the Java Messaging Support, you need the Java RuntimeEnvironment Version 1.3 or laterWhat 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 MB2. Client installation: 15 MB3 Data storage (server): 50 MB4. Data storage (client): 5 MB.Connectivity The network protocols supported by WebSphere MQ for AIX, V5.3 are:1. TCP/IP2. SNA LU 6.2.3. LU 6.24. NetBIOSDatabases: DB2 7.1, 7.2Oracle 8i and 9iSybase v12 or v 12.5Java: If you want to use the Java Messaging Support, you need the Java Runtime

    Environment Version 1.3 or laterWhat 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

  • 7/31/2019 Mq Interviewqstns

    3/25

    BYS

    UNDEEP

    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 ofyour 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 dataTypes 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 eventEx COA/CODSizes ?Qmanager10000 Msgs Maxmsglength4 MbQueue5000 Msgs Maxmsglength4 MbWhat is the attribute used to see the Message length?Ans: MaxMsgLengthWhat 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 MQApplicationsWhat are the Objects used in Web sphere MQ?Ans: 1. Queue Manager 2. Queues3. 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 CharactersFor Remaining objects it is 48 characters.What about is the Default port number for MQ Queue Manager?Ans: 1414

  • 7/31/2019 Mq Interviewqstns

    4/25

    BYS

    UNDEEP

    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 etcControl 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 etcIs 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 toDisplay 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 ourrequest. 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

  • 7/31/2019 Mq Interviewqstns

    5/25

    BYS

    UNDEEP

    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 Commandprompt?Ans: crtmqm -q -d MY.DEFAULT.XMIT.QUEUE -u DEAD.LETTER.QUEUE QM1Here -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 QMNameWhat is the command used for stopping the Queue manager?Ans: endmqm -w QMNameThe command waits until all applications have stopped and the queue manager has ended.endmqm i QMNameThis type of shutdown does not wait for applications to disconnect from the queue manager.Whats the message code for Stopping a Queue Manager?AMQ4044 Queue manager stoppingWhat is the command used to delete the QueueManager?Ans: dltmqm QMNameDisplay the attributes of the Queue Manager QM1?Ans: runmqsc QM1 Display qmgrWhat 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

  • 7/31/2019 Mq Interviewqstns

    6/25

    BYS

    UNDEEP

    storing all the messages it receives onto the appropriate queuesWhat is the Default max Queue depth?Ans 5000Types of Queues?

    Local Queue Remote Queues Alias QueuesModel 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 queueDynamic 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 NameHow can U define Queues in MQ?Ans: Queues are defined to Web Sphere MQ using:1. The MQSC command DEFINE2. The PCF Create Queue commandWhat 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 remotequeue 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.

  • 7/31/2019 Mq Interviewqstns

    7/25

    BYS

    UNDEEP

    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 eachqueue manager involved.

    What is the Max size that Queues support in MQ v5.3?Ans.They support around 2GB of SizeHow can u create a Transmission Queue from a local Queue?Ans. Change the usage attribute from normal to TransmissionDefine a Local Queue LQ using the MQSC Commands in the QM QM1Ans: runmqsc QM1Define 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 samepriority 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

  • 7/31/2019 Mq Interviewqstns

    8/25

    BYS

    UNDEEP

    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 ChannelOn Target Queue Manager1. 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. Differenttypes of Channels:1. Sender-Receiver Channels2. Requester-Server Channels3. Client Connection channels4. Server Connection Channels.5. Cluster Sender.

    6. Cluster Receiver ChannelsWhat 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-connectionHow many Channel Combinations?1.Sender-receiver Channel 4.Requester-server Channel2.Requester-sender Channel 5. Server-receiver Channel3.Cluster-Sender- Receiver Channel 6.Client-Server ChannelWhat are the attributes required for the Sender Channel?Ans: 1. The Name of the Channel 4.Transport Type

    2. The Connection name 5.ScyexitWhat are different Channel status?Ans: Channel Status:1. Inactive 3.Retrying2. Running 4.StoppedWhat 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?

  • 7/31/2019 Mq Interviewqstns

    9/25

    BYS

    UNDEEP

    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 downExplain 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, themessages 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

  • 7/31/2019 Mq Interviewqstns

    10/25

    BYS

    UNDEEP

    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 CHANNELUse the control command runmqchl to start the channel as a processUse the channel initiator to trigger the channel

    Type of channel states:Inactive and Current- Stopped, Starting, Retrying and ActiveWhat are the three options for stopping channels?

    QUIESCE FORCE TERMINATEWhat are the components of message channel?A queue manager to communicate with another queue manager uses message channel. The

    components of a message channel are1. Sender Message channel agent: Sender MCA is a program that transfers messages from

    a transmission queue to a communication link2. Receiver MCA: It transfers messages from the communication link into the target queue3. 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.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.

    Due to: 1. Xmitq is set to get disabled 2. Network Issues

  • 7/31/2019 Mq Interviewqstns

    11/25

    BYS

    UNDEEP

    3.QueueManager Stopped 4. Listener is not running 5.TriggerTurned OffExplain Channel-Exit programs and what are the types?

    Channel-exit programs are called at defined places in the processing carried out by MCA

    programsSecurity 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 unsuccessfulSender and receiver Exit: You can use the send and receive exits to perform tasks such as

    data compression and decompressionChannel auto-definition Exit Transport-retry ExitWhat is the Different Logging Methods available?Ans: There are two different types available1. 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 allrestart 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\qmgrUNIX: /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?

  • 7/31/2019 Mq Interviewqstns

    12/25

    BYS

    UNDEEP

    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 510Secondary 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 509What is the command used for creating the listener?Ans: crtmqlsr -t tcp -m QMNAME -p portnoWhat is the commands used for running listener in 5.3 Version?Ans: runmqlsr -t tcp -m QMNAME -p portnoWhat is command used to perform task on the MQ services?Ans: amqmdainWhat are commands used on the Command server?Ans: 1.strmqcsv: to start the command server2. dspmqcsv: to display the command server3. 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 +allWhat are the common errors u get in DQM? Explain how to resolve ?Ans: mqrc 2058: MQRC_Q_MGR_NAME_ERRORMqrc 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.

  • 7/31/2019 Mq Interviewqstns

    13/25

    BYS

    UNDEEP

    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 sendingclient 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 QMNamePing 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 MYQMGRNAMEThe 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 MYQMGRNAMEThe 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 MYQMGRNAMEWhat 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

  • 7/31/2019 Mq Interviewqstns

    14/25

  • 7/31/2019 Mq Interviewqstns

    15/25

    BYS

    UNDEEP

    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 laterReturn-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 messageRecovery scenario Disk Drive Full, damaged Queue manager object, Damaged single

    object, Automatic media recovery failureMQ 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 messagesHow 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 fieldWhat 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

    managerExplain 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.

  • 7/31/2019 Mq Interviewqstns

    16/25

    BYS

    UNDEEP

    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 runningBackoutCount (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 QueueWhat 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 asingle 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 arealso used with queue manager clusters to maintain a list of clusters referred to by more

    than one WebSphere MQ objectWhat 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

  • 7/31/2019 Mq Interviewqstns

    17/25

  • 7/31/2019 Mq Interviewqstns

    18/25

    BYS

    UNDEEP

    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 loggingUse 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 ErrorsC:\ProgramFiles\IBM\WebSphere MQ\errors AMQERR01.LOG, AMQERR02.LOG,

    AMQERR03.LOGQmanager Level errorsC:\ProgramFiles\IBM\WebSphere MQ\Qmgrs\errors AMQERR01.LOG, AMQERR02.LOG,

    AMQERR03.LOG\errorsWhat are the different types of security services available in MQ Series?Identification & AuthenticationAccess control The access control service protects critical resources in a system by limitingaccess only to authorized users and their applications.Confidentiality The confidentiality service protects sensitive information from unauthorized

    disclosureData 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 orgroups.

    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?

  • 7/31/2019 Mq Interviewqstns

    19/25

    BYS

    UNDEEP

    Cryptography Message digestsDigital signatures Digital certificatesPublic 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 anunreadable 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 senders 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

  • 7/31/2019 Mq Interviewqstns

    20/25

    BYS

    UNDEEP

    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 repository3.Obtaining personal certificates 4.Managing digital certificates5.Configuring for cryptographic hardware 6.Mapping DNs to user IDs7.Adding personal certificates to a key repositoryWebsphere 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 charactersWhat 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 availableChannel: Communication Paths between Queue Managers.Tell Some Default objects: (43 objects)Queues: SYSTEM.DEFAULT.LOCAL QUEUE SYSTEM.DEFAULT.MODEL.QUEUESYSTEM.DEFAULT.REMOTE.QUEUE SYSTEM.DEFAULT.ALIAS.QUEUESYSTEM.DEFAULT.INITIATION.QUEUE SYSTEM.DEAD.LETTER.QUEUEChannel Queues: SYSTEM.CHANNEL.INITQ SYSTEM.CHANNEL.SYNCQAdmin Queues: SYSTEM.ADMIN.ACCOUNTING.QUEUESYSTEM.ADMIN.ACTIVITY.QUEUESYSTEM.ADMIN.COMMAND.QUEUESYSTEM.ADMIN.STATISTICS.QUEUESYSTEM.ADMIN.TRACE.ROUTE.QUEUEChannels: SYSTEM.AUTO.RECEIVER SYSTEM.AUTO.SVRCONNSYSTEM.DEF.CLUSRCVR SYSTEM.DEF.CLUSSDRSYSTEM.DEF.RECEIVER SYSTEM.DEF.REQUESTERSYSTEM.DEF.SENDER SYSTEM.DEF.SERVER

  • 7/31/2019 Mq Interviewqstns

    21/25

    BYS

    UNDEEP

    SYSTEM.DEF.SVRCONNListeners: SYSTEM.DEFAULT.LISTENER.TCPSYSTEM.DEFAULT.LISTENER.SPXSYSTEM.DEFAULT.LISTENER.NETBIOS

    SYSTEM.DEFAULT.LISTENER.LU62Process Def: SYSTEM.DEFAULT.PROCESS

    Services: SYSTEM.DEFAULT.SERVICE SYSTEM.BROKERName Lists: SYSTEM.DEFAULT.NAMELIS

    Event Queues: SYSTEM.ADMIN.CHANNEL.EVENTSYSTEM.ADMIN.LOGGER.EVENTSYSTEM.ADMIN.PERFM.EVENTSYSTEM.ADMIN.QMGR.EVENTWhat 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 balanceWhat 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 itselfGetting 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 queueWhat 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 finishWhat is syncpoints?

    Syncpoint coordination is the process by which units of work are either committed or backed

  • 7/31/2019 Mq Interviewqstns

    22/25

    BYS

    UNDEEP

    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 workIn-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 receivedSolution: 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 QMs, then reprocess the messageMessage piling(FULL) up in a Queue?*Investigation: Check for the log files (/var/mqm/qmgrs//errors/*.log), The

    messages were not being processed because of very high workload.*Resolution: SSL

    *Authentication failure:

    The SSL client does not have a certificateA certificate has expired or is not yet activeA certificate is not supportedA certificate is corruptedMay be ssl version upgradationChannel refuses to run or channel retry?*Reason: A mismatch of name between a sending and receiving channels, Incorrect channeltype 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 repositoryHandling messages more than 4 MB?Increase the Queue and Queue manager MaxMsgLength attributes, Use segmented

  • 7/31/2019 Mq Interviewqstns

    23/25

    BYS

    UNDEEP

    messages (Messages can be segmented by either the application or the Queue manager),

    use reference message.DQM: DISTRIBUTED QUEUEING MANAGEMENTSetuping & Controlling of Message Channel in Message Queuing for Q Managers on

    Distributed Systems.What is the SSL Version used in WMQ5.3?Version 3.0NPMSPEED 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

    managerWhat 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 handshakeThe encryption algorithm, used to encipher the dataThe MAC (Message Authentication Code) algorithm, used to generate the message digestWhat is Triggering?Ans: Web Sphere MQ enables you to start an application automatically when certain

    conditions on a queue are met. For example, you might want to start an application when

    the number of messages on a queue reaches a specified number. This facility is called

    triggeringHow many ways of Triggering?EVERY: A trigger event occurs every time that a message arrives on the application queue.

    Use this type of trigger if you want a serving program to process only one message, then

    end.

    FIRST: A trigger event occurs only when the number of messages on the application queue

    changes from zero to one. Use this type of trigger if you want a serving program to start

    when the first message arrives on a queue, continue until there are no more messages to

  • 7/31/2019 Mq Interviewqstns

    24/25

  • 7/31/2019 Mq Interviewqstns

    25/25

    BYS

    UNDEEP

    message with information called trigger type and the process definition (application which is

    to be triggered) in to the initiation queue (IQ) (our own queue).2. At the initiation queue a long running time program called trigger monitor will be

    watching (monitoring) the initiation queue.3. Whenever the trigger message occurs in the initiation the trigger monitor will pick the

    information and starts the application which is defined in the process.

    What is a Trigger monitor?

    A trigger monitor is a continuously - running program that serves one or more initiation

    queues. When a trigger message arrives on an initiation queue, the trigger monitor

    retrieves the message. The trigger monitor uses the information in the trigger message. It

    issues a command to start the corresponding application/channelWhat is the command used for the running trigger monitor?Ans: On Server side: runmqtrm -m QMName -q Initiation QueueNameOn Client side: runmqtmc -m QMName -q Initiation QueueName