Deleting runtime resource definitions or runtime descriptor definitions dynamically

Use the DELETE command to dynamically delete runtime resource definitions such as databases, application programs, Fast Path routing codes, or transactions. Also use the DELETE command to dynamically delete any runtime resource definition descriptors.

If you delete resource definitions or runtime descriptor definitions from all IMSs in an IMSplex, and the IMSRSC repository is used, you must also issue a DELETE DEFN command to delete the resource definitions or runtime descriptor definitions from the repository.
Recommendation: Delete the resource definitions or runtime descriptor definitions from all IMSs first, and then delete them from the repository.

Deleted runtime resource definitions and runtime descriptor definitions reappear if an IMS system is cold started, unless all resource and descriptor definitions are exported to a resource definition data set before IMS terminates and are imported from the resource definition data set when IMS cold starts. Deleted resources and descriptors remain deleted across either a warm start or an emergency restart. The DELETE command is recoverable.

In a shared message queues environment, DELETE TRAN dynamically deletes the transaction even if there are messages on the shared MSG queues for the transaction. If the transaction is deleted from all IMS systems, no IMS can access the messages on the shared MSG queues. Similarly, in a shared EMH queues environment, DELETE PGM deletes an application program even if there are messages on the shared EMH queues for the program. If the program is deleted from all IMS systems, no IMS system can access the messages on the shared EMH queues.

The DELETE commands are similar to local online change (/MODIFY) or global online change (INITIATE OLC) for IMS resources in the MODBLKS data set, except that the DELETE command works without requiring any offline procedures such as a MODBLKS system definition or the execution of the online change copy utility. Moreover, the DELETE command deletes resources and runtime descriptor definitions individually, while the /MODIFY and INITIATE OLC commands either delete a list of resources as a group or deletes no resources at all if an error occurs.

You cannot delete resources that are currently in use or that have work in progress. If a resource is in use, the delete fails. In a sysplex environment, the delete might succeed on some IMS systems and fail on others.

To minimize the likelihood that a delete of a resource will fail, perform the following steps before issuing the DELETE command:

Procedure

  1. Stop the resource
  2. Query the resource to check for work in progress
  3. Dequeue transactions with the QUEUE command
  4. Complete the work (if any)

Examples of resources in use include a database being accessed by an application program, a /STOP or UPDATE command in progress for the resource, a scheduled application program, an active routing code, a transaction with messages queued.

You cannot issue the DELETE command against resources or runtime descriptor definitions that are identified with a definition type of IMS and delivered with the IMS product. For example, you cannot delete the IMS-defined application program DBF#FPU0 or the IMS-defined runtime descriptor definitions DFSDSDB1, DFSDSPG1, DBFDSRT1, and DFSDSTR1.

In a DB/DC environment, all of the parameters of the DELETE command are valid.

In a DBCTL environment, only the following forms of the DELETE command are valid:

  • DELETE DB
  • DELETE DBDESC
  • DELETE DEFN TYPE(DB | DBDESC | PGM | PGMDESC)
  • DELETE PGM
  • DELETE PGMDESC

In a DCCTL environment, only the following forms of the DELETE command are valid:

  • DELETE DEFN TYPE(PGM | PGMDESC | RTC | RTCDESC | TRAN | TRANDESC)
  • DELETE PGM
  • DELETE PGMDESC
  • DELETE RTC
  • DELETE RTCDESC
  • DELETE TRAN
  • DELETE TRANDESC

The commands DELETE RTC and DELETE RTCDESC are only valid in DB/DC or DCCTL environments in which Fast Path is installed.