z/OS message

IKJ56221I: Data set not allocated, volume not available

IKJ56221I means a TSO allocation failed because the disk or tape volume that holds the data set wasn't available to you at that moment. The second-level message usually says why, for example that the volume is allocated to another job or user.

Other names for this code

Also written as IKJ56221I NOT ALLOCATED, VOLUME NOT AVAILABLE, IKJ56221I VOLUME IS ALLOCATED TO ANOTHER JOB OR USER, IKJ56221, volume not available TSO, IKJ56221I tape.

What it means

TSO commands such as ALLOCATE, and many CLISTs, REXX execs and products that run under TSO, get their data sets through dynamic allocation. Before the system can give you a data set, it has to get the volume the data set lives on. IKJ56221I reports that this step failed. The data set exists and was found, but the volume it is on couldn't be used for your request.

The first line names the data set and ends with a plus sign. In TSO, a plus sign means a second-level message is waiting. Type a question mark (?) at the READY prompt to see it. Many products print both lines anyway. The second line gives the reason, and a common one is VOLUME IS ALLOCATED TO ANOTHER JOB OR USER, TRY LATER.

IBM groups this message with the other dynamic allocation failure messages from the DAIRFAIL and GNRLFAIL routines. The command that needed the data set has failed. Nothing is waiting for a reply.

Common causes

  • The data set is on a tape volume that another job or user is using. A tape volume can be used by only one job at a time, so a second request fails.
  • Several data sets wanted in one step sit on the same tape volume, and the program tried to allocate them as if they were on separate volumes. IBM has fixed products that hit this case.
  • The disk volume is offline, or isn't mounted, and your request isn't allowed to ask for a mount. TSO users usually can't wait for mounts.

How to find the problem

  1. Type ? after the message, or check the product's output, to read the second-level text. It gives the reason.
  2. Find the volume serial with LISTCAT ENTRIES('PROD.PAYROLL.BACKUP') ALL, or ISPF 3.4 with the I line command.
  3. Ask operations to display the volume, for example D U,VOL=PAY001, to see whether it is online and who is using it.
  4. For tape, check which job has the volume mounted. The job log of the other job, or your tape management system, shows this.

How to fix it

  • If the volume is in use, wait for the other job to finish and retry, as the message says.
  • Schedule jobs that read the same tape so they don't overlap, or copy often-shared data to disk.
  • If a step needs several data sets from one tape, process them in one allocation or in sequence rather than all at once.
  • If the disk volume is offline, contact operations or the storage team to bring it online or move the data set.
  • Check IBM and vendor support for maintenance if a product fails this way on data sets that share a tape.

What it looks like

IKJ56221I DATA SET PROD.PAYROLL.BACKUP NOT ALLOCATED, VOLUME NOT AVAILABLE+
IKJ56221I VOLUME IS ALLOCATED TO ANOTHER JOB OR USER, TRY LATER

IBM documentation

IBM z/OS documentation. Use the documentation for your installed release.

This link opens the relevant IBM reference library or lookup instructions. Match the complete code and your installed product release; it is not a code-specific review.

Report a correction to WND Software.

Questions

What does the plus sign at the end of IKJ56221I mean?

It means TSO has a second-level message with more detail. Type a question mark at the READY prompt to see it.

Is IKJ56221I the same as IKJ56225I?

No. IKJ56221I is about the volume not being available. IKJ56225I means the data set itself is in use by another job or user.

Can I make TSO wait for the volume?

Usually not. TSO allocations are not normally allowed to wait for volumes or mounts. Run the work as a batch job if it has to wait.