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.
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
- Stop the resource
- Query the resource to check for work in progress
- Dequeue transactions with the
QUEUE
command - 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.