Page set problems
Use this topic to investigate, and resolve problems with the page sets.
This topic covers the problems that you might encounter with page sets:
- Page set I/O errors describes what happens if a page set is damaged.
- Page set full describes what happens if there is not enough space on the page set for any more MQI operations.
Page set I/O errors
- Problem
- A page set has an I/O error.
- Symptoms
- This message is issued:
CSQP004E +CSQ1 csect-name I/O ERROR STATUS ret-code PSID psid RBA rba
- System action
- The queue manager terminates abnormally.
- System programmer action
- None.
- Operator action
- Repair the I/O error cause.
If none of the page sets are damaged, restart the queue manager. IBM MQ automatically restores the page set to a consistent state from the logs.
If one or more page sets are damaged:
- Rename the damaged page sets and define replacement page sets.
- Copy the most recent backup page sets to the replacement page sets.
- Restart the queue manager. IBM MQ automatically applies any updates that are necessary from the logs.
We cannot restart the queue manager if page set zero is not available. If one of the other page sets is not available, we can comment out the page set DD statement in the queue manager start-up JCL procedure. This lets you defer recovery of the defective page set, enabling other users to continue accessing IBM MQ.
When you add the page set back to the JCL procedure, system restart reads the log from the point where the page set was removed from the JCL to the end of the log. This procedure could take a long time if numerous data has been logged.
A reason code of MQRC_PAGESET_ERROR is returned to any application that tries to access a queue defined on a page set that is not available.
When you have restored the defective page set, restore its associated DD statement and restart the queue manager.
The operator actions described here are only possible if all log data sets are available. If your log data sets are lost or damaged, see Restarting if you have lost your log data sets.
Page set full
- Problem
- There is not enough space on a page set for one of the following:
- MQPUT or MQPUT1 calls to be completed
- Object manipulation commands to be completed (for example, DEFINE QLOCAL)
- MQOPEN calls for dynamic queues to be completed
- Symptoms
- The request fails with reason code MQRC_STORAGE_MEDIUM_FULL. The queue manager cannot complete the request because there is not enough space remaining on the page set.
Reason code MQRC_STORAGE_MEDIUM_FULL can occur even when the page set expand attribute is set to EXPAND(USER). Before the reason code MQRC_STORAGE_MEDIUM_FULL is returned to the application code, the queue manager will attempt to expand the page set and retry the API request. On a heavily loaded system it is possible that the expanded storage can be used by other IO operations before the retry of the API. See Manage page sets.
The cause of this problem could be messages accumulating on a transmission queue because they cannot be sent to another system.
- System action
- Further requests that use this page set are blocked until enough messages are removed or objects deleted to make room for the new incoming requests.
- Operator action
- Use the IBM MQ command DISPLAY USAGE PSID(*) to identify which page set is full.
- System programmer action
- We can either enlarge the page set involved or reduce the loading on that page set by moving queues to another page set. See Manage page sets for more information about these tasks. If the cause of the problem is messages accumulating on the transmission queue, consider starting distributed queuing to transmit the messages.
Parent topic: Example recovery procedures on z/OS