2101 (0835) (RC2101): MQRC_OBJECT_DAMAGED
Explanation
The object accessed by the call is damaged and cannot be used. For example, this might be because
the definition of the object in main storage is not consistent, or because it differs from the
definition of the object on disk, or because the definition on disk cannot be read. The object can
be deleted, although it might not be possible to delete the associated user space.
On z/OS®, this reason occurs when
the Db2® list header or structure number associated
with a shared queue is zero. This situation arises as a result of using the MQSC command DELETE
CFSTRUCT to delete the Db2 structure definition. The
command resets the list header and structure number to zero for each of the shared queues that
references the deleted CF structure.
Completion code
MQCC_FAILED
Programmer response
It might be necessary to stop and restart the queue manager, or to restore the queue manager data
from backup storage.
- On the following platforms, consult the FFST
record to obtain more detail about the problem:
![[AIX]](ngaix.gif)
AIX® and Linux®
IBM® i
On z/OS, delete the shared queue
and redefine it using the MQSC command DEFINE QLOCAL. This automatically defines a CF structure and
allocates list headers for it.
![[OpenShift Container Platform]](ngocp.gif)
Native HA queue managers, which use replicated logging, automatically attempt
asynchronous media recovery of damaged objects that are configured as media recoverable. If the
automatic recovery is initially unsuccessful, the asynchronous recovery processing periodically
retries. If the issue that prevented recovery can be resolved, the object is recovered on the next
retry, or the object can be recovered manually, using the rcrmqobj command. For
circular logging queue managers, or for objects that are not configured as media recoverable, no
media recovery is possible, so the object should be deleted.